1 (**************************************************************************)
4 (* ||A|| A project by Andrea Asperti *)
6 (* ||I|| Developers: *)
7 (* ||T|| The HELM team. *)
8 (* ||A|| http://helm.cs.unibo.it *)
10 (* \ / This file is distributed under the terms of the *)
11 (* v GNU General Public License Version 2 *)
13 (**************************************************************************)
15 include "basic_2/rt_transition/cpx_reqg.ma".
16 include "basic_2/rt_computation/csx_csx.ma".
18 (* STRONGLY NORMALIZING TERMS FOR EXTENDED PARALLEL RT-TRANSITION ***********)
20 (* Properties with generic equivalence for local environments ***************)
22 (* Basic_2A1: uses: csx_lleq_conf *)
23 lemma csx_reqg_conf (S) (G) (T):
24 reflexive … S → symmetric … S →
26 ∀L2. L1 ≛[S,T] L2 → ❪G,L2❫ ⊢ ⬈*𝐒 T.
27 #S #G #T #H1S #H2S #L1 #H
28 @(csx_ind … H) -T #T1 #_ #IH #L2 #HL12
29 @csx_intro #T2 #HT12 #HnT12
30 lapply (reqg_cpx_trans … HL12 … HT12) -HT12
31 /3 width=4 by cpx_reqg_conf_sn/
34 (* Basic_2A1: uses: csx_lleq_trans *)
35 lemma csx_reqg_trans (S) (G) (T):
36 reflexive … S → symmetric … S →
37 ∀L1,L2. L1 ≛[S,T] L2 → ❪G,L2❫ ⊢ ⬈*𝐒 T → ❪G,L1❫ ⊢ ⬈*𝐒 T.
38 /3 width=8 by csx_reqg_conf, reqg_sym/ qed-.