From 0357b09d42de55c9cd4fa502c5165894bfc6be45 Mon Sep 17 00:00:00 2001 From: Ferruccio Guidi Date: Fri, 27 Apr 2007 19:08:54 +0000 Subject: [PATCH] LAMBDA-TYPES: some improvements --- .../LAMBDA-TYPES/Base-1/definitions.ma | 24 +++++++ .../contribs/LAMBDA-TYPES/Base-1/preamble.ma | 64 +------------------ .../LAMBDA-TYPES/LambdaDelta-1/definitions.ma | 60 +++++++++++++++++ .../LAMBDA-TYPES/LambdaDelta-1/preamble.ma | 29 +++++++++ 4 files changed, 116 insertions(+), 61 deletions(-) create mode 100644 matita/contribs/LAMBDA-TYPES/Base-1/definitions.ma create mode 100644 matita/contribs/LAMBDA-TYPES/LambdaDelta-1/definitions.ma diff --git a/matita/contribs/LAMBDA-TYPES/Base-1/definitions.ma b/matita/contribs/LAMBDA-TYPES/Base-1/definitions.ma new file mode 100644 index 000000000..ec3212d25 --- /dev/null +++ b/matita/contribs/LAMBDA-TYPES/Base-1/definitions.ma @@ -0,0 +1,24 @@ +(**************************************************************************) +(* ___ *) +(* ||M|| *) +(* ||A|| A project by Andrea Asperti *) +(* ||T|| *) +(* ||I|| Developers: *) +(* ||T|| The HELM team. *) +(* ||A|| http://helm.cs.unibo.it *) +(* \ / *) +(* \ / This file is distributed under the terms of the *) +(* v GNU General Public License Version 2 *) +(* *) +(**************************************************************************) + +(* This file was automatically generated: do not edit *********************) + +set "baseuri" "cic:/matita/LAMBDA-TYPES/Base-1/definitions". + +include "types/defs.ma". + +include "blt/defs.ma". + +include "plist/defs.ma". + diff --git a/matita/contribs/LAMBDA-TYPES/Base-1/preamble.ma b/matita/contribs/LAMBDA-TYPES/Base-1/preamble.ma index ce57b6e5e..1a6874e54 100644 --- a/matita/contribs/LAMBDA-TYPES/Base-1/preamble.ma +++ b/matita/contribs/LAMBDA-TYPES/Base-1/preamble.ma @@ -16,16 +16,10 @@ set "baseuri" "cic:/matita/LAMBDA-TYPES/Base-1/preamble". include' "../../../legacy/coq.ma". -(* FG: This is because "and" is a reserved keyword of the parser *) -alias id "land" = "cic:/Coq/Init/Logic/and.ind#xpointer(1/1)". - -(* FG/CSC: These aliases should disappear: we would like to write something - * like: "disambiguate in cic:/Coq/*" - *) -alias symbol "plus" = "Coq's natural plus". +alias symbol "eq" = "Coq's leibnitz's equality". alias symbol "leq" = "Coq's natural 'less or equal to'". alias symbol "neq" = "Coq's not equal to (leibnitz)". -alias symbol "eq" = "Coq's leibnitz's equality". +alias symbol "plus" = "Coq's natural plus". alias id "bool" = "cic:/Coq/Init/Datatypes/bool.ind#xpointer(1/1)". alias id "conj" = "cic:/Coq/Init/Logic/and.ind#xpointer(1/1/1)". @@ -35,13 +29,12 @@ alias id "eq_ind" = "cic:/Coq/Init/Logic/eq_ind.con". alias id "eq_ind_r" = "cic:/Coq/Init/Logic/eq_ind_r.con". alias id "ex2" = "cic:/Coq/Init/Logic/ex2.ind#xpointer(1/1)". alias id "ex2_ind" = "cic:/Coq/Init/Logic/ex2_ind.con". -alias id "ex" = "cic:/Coq/Init/Logic/ex.ind#xpointer(1/1)". alias id "ex_intro2" = "cic:/Coq/Init/Logic/ex2.ind#xpointer(1/1/1)". alias id "false" = "cic:/Coq/Init/Datatypes/bool.ind#xpointer(1/1/2)". alias id "False" = "cic:/Coq/Init/Logic/False.ind#xpointer(1/1)". alias id "False_ind" = "cic:/Coq/Init/Logic/False_ind.con". alias id "I" = "cic:/Coq/Init/Logic/True.ind#xpointer(1/1/1)". -alias id "le_antisym" = "cic:/Coq/Arith/Le/le_antisym.con". +alias id "land" = "cic:/Coq/Init/Logic/and.ind#xpointer(1/1)". alias id "le" = "cic:/Coq/Init/Peano/le.ind#xpointer(1/1)". alias id "le_lt_n_Sm" = "cic:/Coq/Arith/Lt/le_lt_n_Sm.con". alias id "le_lt_or_eq" = "cic:/Coq/Arith/Lt/le_lt_or_eq.con". @@ -90,40 +83,6 @@ alias id "refl_equal" = "cic:/Coq/Init/Logic/eq.ind#xpointer(1/1/1)". alias id "S" = "cic:/Coq/Init/Datatypes/nat.ind#xpointer(1/1/2)". alias id "true" = "cic:/Coq/Init/Datatypes/bool.ind#xpointer(1/1/1)". alias id "True" = "cic:/Coq/Init/Logic/True.ind#xpointer(1/1)". -alias id "plus_lt_compat_r" = "cic:/Coq/Arith/Plus/plus_lt_compat_r.con". -alias id "plus_n_O" = "cic:/Coq/Init/Peano/plus_n_O.con". -alias id "plus_le_lt_compat" = "cic:/Coq/Arith/Plus/plus_le_lt_compat.con". -alias id "lt_wf_ind" = "cic:/Coq/Arith/Wf_nat/lt_wf_ind.con". -alias id "minus_Sn_m" = "cic:/Coq/Arith/Minus/minus_Sn_m.con". -alias id "and_ind" = "cic:/Coq/Init/Logic/and_ind.con". -alias id "le_lt_trans" = "cic:/Coq/Arith/Lt/le_lt_trans.con". -alias id "lt_le_trans" = "cic:/Coq/Arith/Lt/lt_le_trans.con". -alias id "le_lt_trans" = "cic:/Coq/Arith/Lt/le_lt_trans.con". -alias id "plus_n_O" = "cic:/Coq/Init/Peano/plus_n_O.con". -alias id "f_equal3" = "cic:/Coq/Init/Logic/f_equal3.con". -alias id "S_pred" = "cic:/Coq/Arith/Lt/S_pred.con". -alias id "lt_le_trans" = "cic:/Coq/Arith/Lt/lt_le_trans.con". -alias id "plus_lt_compat_r" = "cic:/Coq/Arith/Plus/plus_lt_compat_r.con". -alias id "le_plus_trans" = "cic:/Coq/Arith/Plus/le_plus_trans.con". -alias id "f_equal2" = "cic:/Coq/Init/Logic/f_equal2.con". -alias id "le_plus_trans" = "cic:/Coq/Arith/Plus/le_plus_trans.con". -alias id "f_equal2" = "cic:/Coq/Init/Logic/f_equal2.con". -alias id "plus_n_O" = "cic:/Coq/Init/Peano/plus_n_O.con". -alias id "plus_n_O" = "cic:/Coq/Init/Peano/plus_n_O.con". -alias id "lt_trans" = "cic:/Coq/Arith/Lt/lt_trans.con". -alias id "minus_Sn_m" = "cic:/Coq/Arith/Minus/minus_Sn_m.con". -alias id "ex_intro" = "cic:/Coq/Init/Logic/ex.ind#xpointer(1/1/1)". -alias id "lt_trans" = "cic:/Coq/Arith/Lt/lt_trans.con". -alias id "lt_n_Sn" = "cic:/Coq/Arith/Lt/lt_n_Sn.con". -alias id "lt_le_trans" = "cic:/Coq/Arith/Lt/lt_le_trans.con". -alias id "lt_wf_ind" = "cic:/Coq/Arith/Wf_nat/lt_wf_ind.con". -alias id "bool_ind" = "cic:/Coq/Init/Datatypes/bool_ind.con". -alias id "ex_ind" = "cic:/Coq/Init/Logic/ex_ind.con". -alias id "plus_Snm_nSm" = "cic:/Coq/Arith/Plus/plus_Snm_nSm.con". -alias id "plus_lt_le_compat" = "cic:/Coq/Arith/Plus/plus_lt_le_compat.con". -alias id "plus_lt_compat" = "cic:/Coq/Arith/Plus/plus_lt_compat.con". -alias id "lt_S_n" = "cic:/Coq/Arith/Lt/lt_S_n.con". -alias id "minus_n_n" = "cic:/Coq/Arith/Minus/minus_n_n.con". theorem f_equal: \forall A,B:Type. \forall f:A \to B. \forall x,y:A. x = y \to f x = f y. @@ -138,10 +97,6 @@ theorem sym_not_eq: \forall A:Type. \forall x,y:A. x \neq y \to y \neq x. unfold not. intros. apply H. symmetry. assumption. qed. -theorem trans_eq : \forall A:Type. \forall x,y,z:A. x=y \to y=z \to x=z. - intros. transitivity y; assumption. -qed. - theorem plus_reg_l: \forall n,m,p. n + m = n + p \to m = p. intros. apply plus_reg_l; auto. qed. @@ -149,16 +104,3 @@ qed. theorem plus_le_reg_l: \forall p,n,m. p + n <= p + m \to n <= m. intros. apply plus_le_reg_l; auto. qed. - -default "equality" - cic:/Coq/Init/Logic/eq.ind - cic:/matita/LAMBDA-TYPES/Base-1/preamble/sym_eq.con - cic:/matita/LAMBDA-TYPES/Base-1/preamble/trans_eq.con - cic:/Coq/Init/Logic/eq_ind.con - cic:/Coq/Init/Logic/eq_ind_r.con - cic:/Coq/Init/Logic/eq_rec.con - cic:/Coq/Init/Logic/eq_rec_r.con - cic:/Coq/Init/Logic/eq_rect.con - cic:/Coq/Init/Logic/eq_rect_r.con - cic:/matita/LAMBDA-TYPES/Base-1/preamble/f_equal.con - cic:/matita/legacy/coq/f_equal1.con. diff --git a/matita/contribs/LAMBDA-TYPES/LambdaDelta-1/definitions.ma b/matita/contribs/LAMBDA-TYPES/LambdaDelta-1/definitions.ma new file mode 100644 index 000000000..0129e4d02 --- /dev/null +++ b/matita/contribs/LAMBDA-TYPES/LambdaDelta-1/definitions.ma @@ -0,0 +1,60 @@ +(**************************************************************************) +(* ___ *) +(* ||M|| *) +(* ||A|| A project by Andrea Asperti *) +(* ||T|| *) +(* ||I|| Developers: *) +(* ||T|| The HELM team. *) +(* ||A|| http://helm.cs.unibo.it *) +(* \ / *) +(* \ / This file is distributed under the terms of the *) +(* v GNU General Public License Version 2 *) +(* *) +(**************************************************************************) + +(* This file was automatically generated: do not edit *********************) + +set "baseuri" "cic:/matita/LAMBDA-TYPES/LambdaDelta-1/definitions". + +include "tlt/defs.ma". + +include "iso/defs.ma". + +include "clen/defs.ma". + +include "flt/defs.ma". + +include "cnt/defs.ma". + +include "cimp/defs.ma". + +include "subst1/defs.ma". + +include "csubst1/defs.ma". + +include "fsubst0/defs.ma". + +include "next_plus/defs.ma". + +include "tau1/defs.ma". + +include "llt/defs.ma". + +include "aprem/defs.ma". + +include "gz/defs.ma". + +include "wcpr0/defs.ma". + +include "csuba/defs.ma". + +include "nf2/defs.ma". + +include "csubc/defs.ma". + +include "pc1/defs.ma". + +include "ex1/defs.ma". + +include "csubt/defs.ma". + diff --git a/matita/contribs/LAMBDA-TYPES/LambdaDelta-1/preamble.ma b/matita/contribs/LAMBDA-TYPES/LambdaDelta-1/preamble.ma index 5b67c95f8..97a666fe7 100644 --- a/matita/contribs/LAMBDA-TYPES/LambdaDelta-1/preamble.ma +++ b/matita/contribs/LAMBDA-TYPES/LambdaDelta-1/preamble.ma @@ -15,3 +15,32 @@ set "baseuri" "cic:/matita/LAMBDA-TYPES/LambdaDelta-1/preamble". include "../Base-1/theory.ma". + +alias id "and_ind" = "cic:/Coq/Init/Logic/and_ind.con". +alias id "bool_ind" = "cic:/Coq/Init/Datatypes/bool_ind.con". +alias id "ex" = "cic:/Coq/Init/Logic/ex.ind#xpointer(1/1)". +alias id "ex_ind" = "cic:/Coq/Init/Logic/ex_ind.con". +alias id "ex_intro" = "cic:/Coq/Init/Logic/ex.ind#xpointer(1/1/1)". +alias id "f_equal2" = "cic:/Coq/Init/Logic/f_equal2.con". +alias id "f_equal3" = "cic:/Coq/Init/Logic/f_equal3.con". +alias id "le_antisym" = "cic:/Coq/Arith/Le/le_antisym.con". +alias id "le_lt_trans" = "cic:/Coq/Arith/Lt/le_lt_trans.con". +alias id "le_plus_trans" = "cic:/Coq/Arith/Plus/le_plus_trans.con". +alias id "lt_le_trans" = "cic:/Coq/Arith/Lt/lt_le_trans.con". +alias id "lt_n_Sn" = "cic:/Coq/Arith/Lt/lt_n_Sn.con". +alias id "lt_S_n" = "cic:/Coq/Arith/Lt/lt_S_n.con". +alias id "lt_trans" = "cic:/Coq/Arith/Lt/lt_trans.con". +alias id "lt_wf_ind" = "cic:/Coq/Arith/Wf_nat/lt_wf_ind.con". +alias id "minus_n_n" = "cic:/Coq/Arith/Minus/minus_n_n.con". +alias id "minus_Sn_m" = "cic:/Coq/Arith/Minus/minus_Sn_m.con". +alias id "plus_le_lt_compat" = "cic:/Coq/Arith/Plus/plus_le_lt_compat.con". +alias id "plus_lt_compat" = "cic:/Coq/Arith/Plus/plus_lt_compat.con". +alias id "plus_lt_compat_r" = "cic:/Coq/Arith/Plus/plus_lt_compat_r.con". +alias id "plus_lt_le_compat" = "cic:/Coq/Arith/Plus/plus_lt_le_compat.con". +alias id "plus_n_O" = "cic:/Coq/Init/Peano/plus_n_O.con". +alias id "plus_Snm_nSm" = "cic:/Coq/Arith/Plus/plus_Snm_nSm.con". +alias id "S_pred" = "cic:/Coq/Arith/Lt/S_pred.con". + +theorem trans_eq : \forall A:Type. \forall x,y,z:A. x=y \to y=z \to x=z. + intros. transitivity y; assumption. +qed. -- 2.39.2