cic:/Coq/Init/Logic/sym_eq.con
cic:/Coq/Init/Logic/trans_eq.con
cic:/Coq/Init/Logic/eq_ind.con
- cic:/Coq/Init/Logic/eq_ind_r.con
- cic:/Coq/Init/Logic/f_equal.con
- cic:/Coq/Init/Logic/f_equal1.con.
+ cic:/Coq/Init/Logic/eq_ind_r.con
+ cic:/Coq/Init/Logic/f_equal.con
+ cic:/matita/legacy/coq/f_equal1.con.
default "true"
cic:/Coq/Init/Logic/True.ind.
interpretation "Coq's natural 'not less or equal than'"
'nleq x y = (cic:/Coq/Init/Logic/not.con
(cic:/Coq/Init/Peano/le.ind#xpointer(1/1) x y)).
-
+
+theorem f_equal1 : \forall A,B:Type.\forall f:A\to B.\forall x,y:A.
+ x = y \to (f y) = (f x).
+ intros.
+ symmetry.
+ apply cic:/Coq/Init/Logic/f_equal.con.
+ assumption.
+qed.
(* aliases *)
(* FG: This is because "and" is a reserved keyword of the parser *)
alias id "land" = "cic:/Coq/Init/Logic/and.ind#xpointer(1/1)".
-(* theorems *)
-
-theorem f_equal1 :
- \forall A,B:Type. \forall f:A \to B. \forall x,y:A.
- x = y \to f y = f x.
- intros.elim H.reflexivity.
-qed.
-