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 (* STRONGLY NORMALIZING TERM VECTORS FOR UNBOUND PARALLEL RT-TRANSITION *****)
17 include "basic_2/rt_computation/cpxs_teqo_vector.ma".
18 include "basic_2/rt_computation/csx_simple_teqo.ma".
19 include "basic_2/rt_computation/csx_cnx.ma".
20 include "basic_2/rt_computation/csx_cpxs.ma".
21 include "basic_2/rt_computation/csx_vector.ma".
23 (* Properties with normal terms for unbound parallel rt-transition **********)
25 (* Basic_1: was just: sn3_appls_lref *)
26 lemma csx_applv_cnx (h) (G) (L):
27 ∀T. 𝐒⦃T⦄ → ⦃G,L⦄ ⊢ ⬈[h] 𝐍⦃T⦄ →
28 ∀Vs. ⦃G,L⦄ ⊢ ⬈*[h] 𝐒⦃Vs⦄ → ⦃G,L⦄ ⊢ ⬈*[h] 𝐒⦃ⒶVs.T⦄.
29 #h #G #L #T #H1T #H2T #Vs elim Vs -Vs
30 [ #_ normalize in ⊢ (????%); /2 width=1 by cnx_csx/
32 elim (csxv_inv_cons … H) -H #HV #HVs
33 @csx_appl_simple_teqo /2 width=1 by applv_simple/ -IHV -HV -HVs
35 lapply (cpxs_fwd_cnx_vector … H) -H // -H1T -H2T #H
40 (* Advanced properties ******************************************************)
42 (* Note: strong normalization does not depend on this any more *)
43 lemma csx_applv_sort (h) (G) (L):
44 ∀s,Vs. ⦃G,L⦄ ⊢ ⬈*[h] 𝐒⦃Vs⦄ → ⦃G,L⦄ ⊢ ⬈*[h] 𝐒⦃ⒶVs.⋆s⦄.
45 /3 width=6 by csx_applv_cnx, cnx_sort, simple_atom/ qed.