]> 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 7b7f44c9976eedbf03bed905e34b6d8b6cae04f8..9860c63e29137b8c4d1d409d6ac18486ea03574a 100644 (file)
@@ -1,5 +1,5 @@
 (**************************************************************************)
-(*       ___                                                               *)
+(*       ___                                                             *)
 (*      ||M||                                                             *)
 (*      ||A||       A project by Andrea Asperti                           *)
 (*      ||T||                                                             *)
@@ -19,9 +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/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. 
@@ -75,31 +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)".
-alias id "or" = "cic:/Coq/Init/Logic/or.ind#xpointer(1/1)".
-alias id "nat" = "cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1)".
-alias id "eq" = "cic:/Coq/Init/Logic/eq.ind#xpointer(1/1)".
-alias id "plus" = "cic:/Coq/Init/Peano/plus.con".
-alias id "le_trans" = "cic:/Coq/Arith/Le/le_trans.con".
-alias id "le_plus_r" = "cic:/Coq/Arith/Plus/le_plus_r.con".
-alias id "le" = "cic:/Coq/Init/Peano/le.ind#xpointer(1/1)".
-alias id "ex" = "cic:/Coq/Init/Logic/ex.ind#xpointer(1/1)".
-alias id "ex2" = "cic:/Coq/Init/Logic/ex2.ind#xpointer(1/1)".
-alias id "true" = "cic:/Coq/Init/Datatypes/bool.ind#xpointer(1/1/1)".
-alias id "false" = "cic:/Coq/Init/Datatypes/bool.ind#xpointer(1/1/2)".
-alias id "bool" = "cic:/Coq/Init/Datatypes/bool.ind#xpointer(1/1)".
-alias id "O" = "cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1/1)".
-alias id "S" = "cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1/2)".
-
-
-(* 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.