interpretation "leibnitz's non-equality" 'neq t x y = (Not (eq t x y)).
+(* this is refl
ntheorem reflexive_eq : ∀A:Type. reflexive A (eq A).
-//; nqed.
-
+//; nqed. *)
+
+(* this is sym_eq
ntheorem symmetric_eq: ∀A:Type. symmetric A (eq A).
-//; nqed.
+//; nqed. *)
ntheorem transitive_eq : ∀A:Type. transitive A (eq A).
#A; #x; #y; #z; #H1; #H2; nrewrite > H1; //; nqed.
intros.elim H.apply refl_eq.
qed. *)
+(* deleterio per auto
ntheorem eq_f2: ∀A,B,C:Type.∀f:A→B→C.
∀x1,x2:A.∀y1,y2:B. x1=x2 → y1=y2 → f x1 y1 = f x2 y2.
#A; #B; #C; #f; #x1; #x2; #y1; #y2; #E1; #E2; nrewrite > E1; nrewrite > E2;//.
-nqed.
\ No newline at end of file
+nqed. *)
\ No newline at end of file
∀A:Type.associative (list A) (append A).
#A; #l1; #l2; #l3; nelim l1; nnormalize; //; nqed.
+(* deleterio per auto
ntheorem cons_append_commute:
∀A:Type.∀l1,l2:list A.∀a:A.
a :: (l1 @ l2) = (a :: l1) @ l2.
-//; nqed.
+//; nqed. *)
ntheorem append_cons:∀A.∀a:A.∀l,l1.l@(a::l1)=(l@[a])@l1.
#A; #a; #l; #l1; napply symmetric_eq.