(* ----------------------------------------------------- *) ⊢
carr1 R ≡ ext_powerclass A.
+(*
interpretation "prop21 mem" 'prop2 l r = (prop21 (setoid1_of_setoid ?) (ext_powerclass_setoid ?) ? ? ???? l r).
-
+*)
+
(*
ncoercion ext_carr' : ∀A.∀x:ext_powerclass_setoid A. Ω^A ≝ ext_carr
on _x : (carr1 (ext_powerclass_setoid ?)) to (Ω^?).
*)
nlemma mem_ext_powerclass_setoid_is_morph:
- ∀A. binary_morphism1 (setoid1_of_setoid A) (ext_powerclass_setoid A) CPROP.
- #A; @
- [ napply (λx,S. x ∈ S)
- | #a; #a'; #b; #b'; #Ha; *; #Hb1; #Hb2; @; #H;
- ##[ napply Hb1; napply (. (ext_prop … Ha^-1)); nassumption;
- ##| napply Hb2; napply (. (ext_prop … Ha)); nassumption;
- ##]
- ##]
+ ∀A. unary_morphism1 (setoid1_of_setoid A) (unary_morphism1_setoid1 (ext_powerclass_setoid A) CPROP).
+ #A; napply (mk_binary_morphism1 … (λx:setoid1_of_setoid A.λS: 𝛀^A. x ∈ S));
+ #a; #a'; #b; #b'; #Ha; *; #Hb1; #Hb2; @; #H
+ [ napply (. (ext_prop … Ha^-1)) | napply (. (ext_prop … Ha)) ] /2/.
nqed.
unification hint 0 ≔ A:setoid, x, S;
SS ≟ (ext_carr ? S),
- TT ≟ (mk_binary_morphism1 ???
- (λx:setoid1_of_setoid ?.λS:ext_powerclass_setoid ?. x ∈ S)
- (prop21 ??? (mem_ext_powerclass_setoid_is_morph A))),
+ TT ≟ (mk_unary_morphism1 …
+ (λx:setoid1_of_setoid ?.
+ mk_unary_morphism1 …
+ (λS:ext_powerclass_setoid ?. x ∈ S)
+ (prop11 … (mem_ext_powerclass_setoid_is_morph A x)))
+ (prop11 … (mem_ext_powerclass_setoid_is_morph A))),
XX ≟ (ext_powerclass_setoid A)
(*-------------------------------------*) ⊢
- fun21 (setoid1_of_setoid A) XX CPROP TT x S
+ fun11 (setoid1_of_setoid A)
+ (unary_morphism1_setoid1 XX CPROP) TT x S
≡ mem A SS x.
-nlemma subseteq_is_morph: ∀A. binary_morphism1 (ext_powerclass_setoid A) (ext_powerclass_setoid A) CPROP.
- #A; @
- [ napply (λS,S'. S ⊆ S')
- | #a; #a'; #b; #b'; *; #Ha1; #Ha2; *;/4/]
+nlemma subseteq_is_morph: ∀A. unary_morphism1 (ext_powerclass_setoid A)
+ (unary_morphism1_setoid1 (ext_powerclass_setoid A) CPROP).
+ #A; napply (mk_binary_morphism1 … (λS,S':𝛀^A. S ⊆ S'));
+ #a; #a'; #b; #b'; *; #H1; #H2; *; /4/.
nqed.
unification hint 0 ≔ A,a,a'
(* ------------------------------------------*) ⊢
ext_carr A R ≡ intersect ? (ext_carr ? B) (ext_carr ? C).
-nlemma intersect_is_morph:
- ∀A. binary_morphism1 (powerclass_setoid A) (powerclass_setoid A) (powerclass_setoid A).
- #A; @ (λS,S'. S ∩ S');
+nlemma intersect_is_morph:
+ ∀A. unary_morphism1 (powerclass_setoid A) (unary_morphism1_setoid1 (powerclass_setoid A) (powerclass_setoid A)).
+ #A; napply (mk_binary_morphism1 … (λS,S'. S ∩ S'));
#a; #a'; #b; #b'; *; #Ha1; #Ha2; *; #Hb1; #Hb2; @; #x; nnormalize; *;/3/.
nqed.
alias symbol "hint_decl" = "hint_decl_Type1".
unification hint 0 ≔
A : Type[0], B,C : Ω^A;
- R ≟ (mk_binary_morphism1 …
- (λS,S'.S ∩ S')
- (prop21 … (intersect_is_morph A)))
+ R ≟ (mk_unary_morphism1 …
+ (λS. mk_unary_morphism1 … (λS'.S ∩ S') (prop11 … (intersect_is_morph A S)))
+ (prop11 … (intersect_is_morph A)))
⊢
- fun21 (powerclass_setoid A) (powerclass_setoid A) (powerclass_setoid A) R B C
- ≡ intersect ? B C.
+ R B C ≡ intersect ? B C.
-interpretation "prop21 ext" 'prop2 l r = (prop21 (ext_powerclass_setoid ?) (ext_powerclass_setoid ?) ? ? ???? l r).
+interpretation "prop21 ext" 'prop2 l r =
+ (prop11 (ext_powerclass_setoid ?)
+ (unary_morphism1_setoid1 (ext_powerclass_setoid ?) ?) ? ?? l ?? r).
nlemma intersect_is_ext_morph:
- ∀A. binary_morphism1 (ext_powerclass_setoid A) (ext_powerclass_setoid A) (ext_powerclass_setoid A).
- #A; @ (intersect_is_ext …); nlapply (prop21 … (intersect_is_morph A));
-#H; #a; #a'; #b; #b'; #H1; #H2; napply H; nassumption;
+ ∀A. unary_morphism1 (ext_powerclass_setoid A)
+ (unary_morphism1_setoid1 (ext_powerclass_setoid A) (ext_powerclass_setoid A)).
+ #A; napply (mk_binary_morphism1 … (intersect_is_ext …));
+ #a; #a'; #b; #b'; #Ha; #Hb; napply (prop11 … (intersect_is_morph A)); nassumption.
nqed.
unification hint 1 ≔
A:setoid, B,C : 𝛀^A;
- R ≟ (mk_binary_morphism1 (ext_powerclass_setoid A) (ext_powerclass_setoid A) (ext_powerclass_setoid A)
- (λS,S':carr1 (ext_powerclass_setoid A).
- mk_ext_powerclass A (S∩S') (ext_prop A (intersect_is_ext ? S S')))
- (prop21 … (intersect_is_ext_morph A))) ,
+ R ≟ (mk_unary_morphism1 …
+ (λS:ext_powerclass_setoid A.
+ mk_unary_morphism1 ??
+ (λS':ext_powerclass_setoid A.
+ mk_ext_powerclass A (S∩S') (ext_prop A (intersect_is_ext ? S S')))
+ (prop11 … (intersect_is_ext_morph A S)))
+ (prop11 … (intersect_is_ext_morph A))) ,
BB ≟ (ext_carr ? B),
CC ≟ (ext_carr ? C)
(* ------------------------------------------------------*) ⊢
- ext_carr A
- (fun21
- (ext_powerclass_setoid A)
- (ext_powerclass_setoid A)
- (ext_powerclass_setoid A) R B C) ≡
- intersect (carr A) BB CC.
+ ext_carr A (R B C) ≡ intersect (carr A) BB CC.
(*
alias symbol "hint_decl" = "hint_decl_Type2".
;
}.
-*)
+*)
\ No newline at end of file