include "basic_2/rt_transition/cpx_simple.ma".
include "basic_2/rt_computation/csx_csx.ma".
-(* STRONGLY NORMALIZING TERMS FOR UNCOUNTED PARALLEL RT-TRANSITION **********)
+(* STRONGLY NORMALIZING TERMS FOR UNBOUND PARALLEL RT-TRANSITION ************)
(* Properties with simple terms *********************************************)
-lemma csx_appl_simple: ∀h,o,G,L,V. ⦃G, L⦄ ⊢ ⬈*[h, o] 𝐒⦃V⦄ → ∀T1.
- (â\88\80T2. â¦\83G, Lâ¦\84 â\8a¢ T1 â¬\88[h] T2 â\86\92 (T1 â\89\9b[h, o] T2 â\86\92 â\8a¥) â\86\92 â¦\83G, Lâ¦\84 â\8a¢ â¬\88*[h, o] ð\9d\90\92â¦\83â\93\90V.T2â¦\84) →
- ð\9d\90\92â¦\83T1â¦\84 â\86\92 â¦\83G, Lâ¦\84 â\8a¢ â¬\88*[h, o] ð\9d\90\92â¦\83â\93\90V.T1â¦\84.
-#h #o #G #L #V #H @(csx_ind … H) -V
+lemma csx_appl_simple: ∀h,G,L,V. ❪G,L❫ ⊢ ⬈*[h] 𝐒❪V❫ → ∀T1.
+ (â\88\80T2. â\9dªG,Lâ\9d« â\8a¢ T1 â¬\88[h] T2 â\86\92 (T1 â\89\9b T2 â\86\92 â\8a¥) â\86\92 â\9dªG,Lâ\9d« â\8a¢ â¬\88*[h] ð\9d\90\92â\9dªâ\93\90V.T2â\9d«) →
+ ð\9d\90\92â\9dªT1â\9d« â\86\92 â\9dªG,Lâ\9d« â\8a¢ â¬\88*[h] ð\9d\90\92â\9dªâ\93\90V.T1â\9d«.
+#h #G #L #V #H @(csx_ind … H) -V
#V #_ #IHV #T1 #IHT1 #HT1
@csx_intro #X #H1 #H2
elim (cpx_inv_appl1_simple … H1) // -H1
#V0 #T0 #HLV0 #HLT10 #H destruct
-elim (tdneq_inv_pair … H2) -H2
+elim (tneqx_inv_pair … H2) -H2
[ #H elim H -H //
| #HV0 @(csx_cpx_trans … (ⓐV0.T1)) /2 width=1 by cpx_flat/ -HLT10
- @(IHV … HLV0 … HV0) -HV0 /4 width=5 by csx_cpx_trans, cpx_pair_sn/ (**) (* full auto too slow *)
+ @(IHV … HLV0 … HV0) -HV0 /4 width=5 by csx_cpx_trans, cpx_pair_sn/ (**) (* full auto too slow *)
| -IHV -HT1 /4 width=3 by csx_cpx_trans, cpx_pair_sn/
]
qed.