X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;ds=sidebyside;f=matita%2Flibrary%2Flegacy%2Fcoq.ma;h=9860c63e29137b8c4d1d409d6ac18486ea03574a;hb=dccfee15d96938072fbdf4004a06e5b59ba876dc;hp=0f5384697ae7d1498f78aaed191080abaad2f46c;hpb=4c2915860a9c90773d02a492c4112c5396ba8abf;p=helm.git diff --git a/matita/library/legacy/coq.ma b/matita/library/legacy/coq.ma index 0f5384697..9860c63e2 100644 --- a/matita/library/legacy/coq.ma +++ b/matita/library/legacy/coq.ma @@ -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,18 +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 *) -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)". - -(* 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. +(* FG: This is because "and" is a reserved keyword of the parser *) +alias id "land" = "cic:/Coq/Init/Logic/and.ind#xpointer(1/1)".