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 "static_2/static/feqg.ma".
16 include "basic_2/rt_computation/cpxs_reqg.ma".
18 (* EXTENDED CONTEXT-SENSITIVE PARALLEL RT-COMPUTATION FOR TERMS *************)
20 (* Properties with generic equivalence for closures *************************)
23 lemma feqg_cpxs_trans (S):
24 reflexive … S → symmetric … S →
25 ∀G1,G2,L1,L2,T1,T. ❪G1,L1,T1❫ ≛[S] ❪G2,L2,T❫ →
26 ∀T2. ❪G2,L2❫ ⊢ T ⬈* T2 →
27 ∃∃T0. ❪G1,L1❫ ⊢ T1 ⬈* T0 & ❪G1,L1,T0❫ ≛[S] ❪G2,L2,T2❫.
28 #S #H1S #H2S #G1 #G2 #L1 #L2 #T1 #T #H #T2 #H2T2
29 elim (feqg_inv_gen_dx … H) -H // #H #HL12 #HT1 destruct
30 lapply (reqg_cpxs_trans … H2T2 … HL12) // #H1T2
31 lapply (cpxs_reqg_conf_dx … H2T2 … HL12) -HL12 // #HL12
32 lapply (teqg_cpxs_trans … HT1 … H1T2) -T // #HT12
33 /4 width=3 by feqg_intro_dx, teqg_refl, ex2_intro/