]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/library/legacy/coq.ma
BIG FAT COMMIT REGARDING COERCIONS:
[helm.git] / matita / library / legacy / coq.ma
index e7a5615d9c633dac55f120e08376fc219e5597cc..9860c63e29137b8c4d1d409d6ac18486ea03574a 100644 (file)
@@ -1,5 +1,5 @@
 (**************************************************************************)
-(*       ___                                                               *)
+(*       ___                                                             *)
 (*      ||M||                                                             *)
 (*      ||A||       A project by Andrea Asperti                           *)
 (*      ||T||                                                             *)
@@ -19,7 +19,9 @@ default "equality"
  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/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. 
@@ -73,4 +75,16 @@ interpretation "Coq's not equal to (leibnitz)" 'neq x y = (cic:/Coq/Init/Logic/n
 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)".