interpretation "trans1" 'trans r = (trans1 _____ r).
interpretation "trans" 'trans r = (trans _____ r).
-(*
-record unary_morphism0 (A,B: setoid) : Type0 ≝
- { fun_0:1> A → B;
- prop_0: ∀a,a'. eq ? a a' → eq ? (fun_0 a) (fun_0 a')
- }.
-*)
-
record unary_morphism (A,B: setoid1) : Type0 ≝
{ fun_1:1> A → B;
prop_1: ∀a,a'. eq1 ? a a' → eq1 ? (fun_1 a) (fun_1 a')
notation "l ‡ r" with precedence 90 for @{'prop $l $r }.
notation "#" with precedence 90 for @{'refl}.
interpretation "prop_1" 'prop1 c = (prop_1 _____ c).
-(* interpretation "prop_0" 'prop1 c = (prop_0 _____ c). *)
interpretation "prop1" 'prop l r = (prop1 ________ l r).
interpretation "prop" 'prop l r = (prop ________ l r).
interpretation "refl1" 'refl = (refl1 ___).
{ if: A → B;
fi: B → A
}.
-
+
+record Iff1 (A,B:CProp) : CProp ≝
+ { if1: A → B;
+ fi1: B → A
+ }.
+
interpretation "logical iff" 'iff x y = (Iff x y).
+notation "hvbox(a break ⇔ b)" right associative with precedence 25 for @{'iff1 $a $b}.
+interpretation "logical iff type1" 'iff1 x y = (Iff1 x y).
+
inductive exT (A:Type) (P:A→CProp) : CProp ≝
ex_introT: ∀w:A. P w → exT A P.