X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambda-delta%2FBasic-2%2Freduction%2Fltpr.ma;fp=matita%2Fmatita%2Fcontribs%2Flambda-delta%2FBasic-2%2Freduction%2Fltpr.ma;h=0000000000000000000000000000000000000000;hb=0dc8115859d7f482793315493adc0b619236e06c;hp=a9093a042a87725edd1eb2bed7424d959bac7904;hpb=55dc00c1c44cc21c7ae179cb9df03e7446002c46;p=helm.git diff --git a/matita/matita/contribs/lambda-delta/Basic-2/reduction/ltpr.ma b/matita/matita/contribs/lambda-delta/Basic-2/reduction/ltpr.ma deleted file mode 100644 index a9093a042..000000000 --- a/matita/matita/contribs/lambda-delta/Basic-2/reduction/ltpr.ma +++ /dev/null @@ -1,83 +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 "Basic-2/reduction/tpr.ma". - -(* CONTEXT-FREE PARALLEL REDUCTION ON LOCAL ENVIRONMENTS ********************) - -inductive ltpr: relation lenv ≝ -| ltpr_sort: ltpr (⋆) (⋆) -| ltpr_item: ∀K1,K2,I,V1,V2. - ltpr K1 K2 → V1 ⇒ V2 → ltpr (K1. 𝕓{I} V1) (K2. 𝕓{I} V2) (*𝕓*) -. - -interpretation - "context-free parallel reduction (environment)" - 'PRed L1 L2 = (ltpr L1 L2). - -(* Basic properties *********************************************************) - -lemma ltpr_refl: ∀L:lenv. L ⇒ L. -#L elim L -L /2/ -qed. - -(* Basic inversion lemmas ***************************************************) - -fact ltpr_inv_atom1_aux: ∀L1,L2. L1 ⇒ L2 → L1 = ⋆ → L2 = ⋆. -#L1 #L2 * -L1 L2 -[ // -| #K1 #K2 #I #V1 #V2 #_ #_ #H destruct -] -qed. - -(* Basic-1: was: wcpr0_gen_sort *) -lemma ltpr_inv_atom1: ∀L2. ⋆ ⇒ L2 → L2 = ⋆. -/2/ qed. - -fact ltpr_inv_pair1_aux: ∀L1,L2. L1 ⇒ L2 → ∀K1,I,V1. L1 = K1. 𝕓{I} V1 → - ∃∃K2,V2. K1 ⇒ K2 & V1 ⇒ V2 & L2 = K2. 𝕓{I} V2. -#L1 #L2 * -L1 L2 -[ #K1 #I #V1 #H destruct -| #K1 #K2 #I #V1 #V2 #HK12 #HV12 #L #J #W #H destruct - K1 I V1 /2 width=5/ -] -qed. - -(* Basic-1: was: wcpr0_gen_head *) -lemma ltpr_inv_pair1: ∀K1,I,V1,L2. K1. 𝕓{I} V1 ⇒ L2 → - ∃∃K2,V2. K1 ⇒ K2 & V1 ⇒ V2 & L2 = K2. 𝕓{I} V2. -/2/ qed. - -fact ltpr_inv_atom2_aux: ∀L1,L2. L1 ⇒ L2 → L2 = ⋆ → L1 = ⋆. -#L1 #L2 * -L1 L2 -[ // -| #K1 #K2 #I #V1 #V2 #_ #_ #H destruct -] -qed. - -lemma ltpr_inv_atom2: ∀L1. L1 ⇒ ⋆ → L1 = ⋆. -/2/ qed. - -fact ltpr_inv_pair2_aux: ∀L1,L2. L1 ⇒ L2 → ∀K2,I,V2. L2 = K2. 𝕓{I} V2 → - ∃∃K1,V1. K1 ⇒ K2 & V1 ⇒ V2 & L1 = K1. 𝕓{I} V1. -#L1 #L2 * -L1 L2 -[ #K2 #I #V2 #H destruct -| #K1 #K2 #I #V1 #V2 #HK12 #HV12 #K #J #W #H destruct -K2 I V2 /2 width=5/ -] -qed. - -lemma ltpr_inv_pair2: ∀L1,K2,I,V2. L1 ⇒ K2. 𝕓{I} V2 → - ∃∃K1,V1. K1 ⇒ K2 & V1 ⇒ V2 & L1 = K1. 𝕓{I} V1. -/2/ qed. - -(* Basic-1: removed theorems 2: wcpr0_getl wcpr0_getl_back *)