X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Fgrammar%2Fleq.ma;fp=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Fgrammar%2Fleq.ma;h=0000000000000000000000000000000000000000;hb=c60524dec7ace912c416a90d6b926bee8553250b;hp=a898abdb566f65941eb7d63cb572bdf85838a536;hpb=f10cfe417b6b8ec1c7ac85c6ecf5fb1b3fdf37db;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/basic_2/grammar/leq.ma b/matita/matita/contribs/lambdadelta/basic_2/grammar/leq.ma deleted file mode 100644 index a898abdb5..000000000 --- a/matita/matita/contribs/lambdadelta/basic_2/grammar/leq.ma +++ /dev/null @@ -1,192 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||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 *) -(* *) -(**************************************************************************) - -include "ground_2/ynat/ynat_lt.ma". -include "basic_2/notation/relations/midiso_4.ma". -include "basic_2/grammar/lenv_length.ma". - -(* EQUIVALENCE FOR LOCAL ENVIRONMENTS ***************************************) - -inductive leq: relation4 ynat ynat lenv lenv ≝ -| leq_atom: ∀d,e. leq d e (⋆) (⋆) -| leq_zero: ∀I1,I2,L1,L2,V1,V2. - leq 0 0 L1 L2 → leq 0 0 (L1.ⓑ{I1}V1) (L2.ⓑ{I2}V2) -| leq_pair: ∀I,L1,L2,V,e. leq 0 e L1 L2 → - leq 0 (⫯e) (L1.ⓑ{I}V) (L2.ⓑ{I}V) -| leq_succ: ∀I1,I2,L1,L2,V1,V2,d,e. - leq d e L1 L2 → leq (⫯d) e (L1.ⓑ{I1}V1) (L2.ⓑ{I2}V2) -. - -interpretation - "equivalence (local environment)" - 'MidIso d e L1 L2 = (leq d e L1 L2). - -(* Basic properties *********************************************************) - -lemma leq_pair_lt: ∀I,L1,L2,V,e. L1 ⩬[0, ⫰e] L2 → 0 < e → - L1.ⓑ{I}V ⩬[0, e] L2.ⓑ{I}V. -#I #L1 #L2 #V #e #HL12 #He <(ylt_inv_O1 … He) /2 width=1 by leq_pair/ -qed. - -lemma leq_succ_lt: ∀I1,I2,L1,L2,V1,V2,d,e. L1 ⩬[⫰d, e] L2 → 0 < d → - L1.ⓑ{I1}V1 ⩬[d, e] L2. ⓑ{I2}V2. -#I1 #I2 #L1 #L2 #V1 #V2 #d #e #HL12 #Hd <(ylt_inv_O1 … Hd) /2 width=1 by leq_succ/ -qed. - -lemma leq_pair_O_Y: ∀L1,L2. L1 ⩬[0, ∞] L2 → - ∀I,V. L1.ⓑ{I}V ⩬[0, ∞] L2.ⓑ{I}V. -#L1 #L2 #HL12 #I #V lapply (leq_pair I … V … HL12) -HL12 // -qed. - -lemma leq_refl: ∀L,d,e. L ⩬[d, e] L. -#L elim L -L // -#L #I #V #IHL #d elim (ynat_cases … d) [| * #x ] -#Hd destruct /2 width=1 by leq_succ/ -#e elim (ynat_cases … e) [| * #x ] -#He destruct /2 width=1 by leq_zero, leq_pair/ -qed. - -lemma leq_O2: ∀L1,L2,d. |L1| = |L2| → L1 ⩬[d, yinj 0] L2. -#L1 elim L1 -L1 [| #L1 #I1 #V1 #IHL1 ] -* // [1,3: #L2 #I2 #V2 ] #d normalize -[1,3: