X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Fconversion%2Fcpc.ma;h=1268d8887ab0a535da4271d0111bb7ff4d6c7894;hb=ad3ca38634cfae29e8c26d0ab23cb466407eca5e;hp=5fb614a8c0af7aa29e469fd628a933fc5c37f430;hpb=e8998d29ab83e7b6aa495a079193705b2f6743d3;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/basic_2/conversion/cpc.ma b/matita/matita/contribs/lambdadelta/basic_2/conversion/cpc.ma index 5fb614a8c..1268d8887 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/conversion/cpc.ma +++ b/matita/matita/contribs/lambdadelta/basic_2/conversion/cpc.ma @@ -12,28 +12,29 @@ (* *) (**************************************************************************) -include "basic_2/reducibility/cpr.ma". +include "basic_2/notation/relations/pconv_4.ma". +include "basic_2/reduction/cpr.ma". (* CONTEXT-SENSITIVE PARALLEL CONVERSION ON TERMS ***************************) -definition cpc: lenv → relation term ≝ - λL,T1,T2. L ⊢ T1 ➡ T2 ∨ L ⊢ T2 ➡ T1. +definition cpc: relation4 genv lenv term term ≝ + λG,L,T1,T2. ⦃G, L⦄ ⊢ T1 ➡ T2 ∨ ⦃G, L⦄ ⊢ T2 ➡ T1. interpretation "context-sensitive parallel conversion (term)" - 'PConv L T1 T2 = (cpc L T1 T2). + 'PConv G L T1 T2 = (cpc G L T1 T2). (* Basic properties *********************************************************) -lemma cpc_refl: ∀L. reflexive … (cpc L). -/2 width=1/ qed. +lemma cpc_refl: ∀G,L. reflexive … (cpc G L). +/2 width=1 by or_intror/ qed. -lemma cpc_sym: ∀L. symmetric … (cpc L). -#L #T1 #T2 * /2 width=1/ -qed. +lemma cpc_sym: ∀G,L. symmetric … (cpc L G). +#G #L #T1 #T2 * /2 width=1 by or_introl, or_intror/ +qed-. (* Basic forward lemmas *****************************************************) -lemma cpc_fwd_cpr: ∀L,T1,T2. L ⊢ T1 ⬌ T2 → ∃∃T. L ⊢ T1 ➡ T & L ⊢ T2 ➡ T. -#L #T1 #T2 * /2 width=3/ -qed. +lemma cpc_fwd_cpr: ∀G,L,T1,T2. ⦃G, L⦄ ⊢ T1 ⬌ T2 → ∃∃T. ⦃G, L⦄ ⊢ T1 ➡ T & ⦃G, L⦄ ⊢ T2 ➡ T. +#G #L #T1 #T2 * /2 width=3 by ex2_intro/ +qed-.