]> matita.cs.unibo.it Git - helm.git/blob - matita/matita/contribs/lambdadelta/basic_2/rt_computation/lfpxs_etc.ma
- lsubsx (replacement of lcosx) completed
[helm.git] / matita / matita / contribs / lambdadelta / basic_2 / rt_computation / lfpxs_etc.ma
1
2 include "basic_2/static/lfxs_lfxs.ma".
3 include "basic_2/rt_transition/lfpx_frees.ma".
4 include "basic_2/rt_computation/lfpxs_fqup.ma".
5
6 axiom cpx_frees_conf_lfpxs: ∀h,G,L1,T1,T2. ⦃G, L1⦄ ⊢ T1 ⬈[h] T2 →
7                             ∀f1. L1 ⊢ 𝐅*⦃T1⦄ ≡ f1 →
8                             ∀L2. ⦃G, L1⦄ ⊢ ⬈*[h, T1] L2 →
9                             ∀g1. L2 ⊢ 𝐅*⦃T1⦄ ≡ g1 →
10                             ∃∃g2. L2 ⊢ 𝐅*⦃T2⦄ ≡ g2 & g2 ⊆ g1 & g1 ⊆ f1.
11
12 lemma lfpxs_cpx_conf: ∀h,G. s_r_confluent1 … (cpx h G) (lfpxs h G).
13 #h #G #L1 #T1 #T2 #HT12 #L2 #H
14 lapply (cpx_frees_conf_lfpxs … HT12) -HT12 #HT12
15 @(lfpxs_ind_sn … H) -L2 //
16 #L #L2 #HL1 * #g1 #Hg1 #HL2 #IH
17 elim (frees_total L1 T1) #f1 #Hf1
18 elim (HT12 … Hf1 …  HL1 … Hg1) -T1 #g2 #Hg2 #Hg21 #_ -f1
19 /4 width=7 by lfpxs_step_dx, sle_lexs_trans, ex2_intro/
20 qed-.