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/cpm_aaa.ma".
16 include "basic_2/rt_computation/cpxs_aaa.ma".
17 include "basic_2/rt_computation/cpms_cpxs.ma".
19 (* T-BOUND CONTEXT-SENSITIVE PARALLEL RT-COMPUTATION FOR TERMS **************)
21 (* Properties with atomic arity assignment on terms *************************)
23 (* Basic_2A1: uses: scpds_aaa_conf *)
24 (* Basic_2A1: includes: cprs_aaa_conf *)
25 lemma cpms_aaa_conf (n) (h): ∀G,L. Conf3 … (aaa G L) (cpms h G L n).
26 /3 width=5 by cpms_fwd_cpxs, cpxs_aaa_conf/ qed-.
28 lemma cpms_total_aaa (h) (G) (L) (n) (A):
29 ∀T. ⦃G,L⦄ ⊢ T ⁝ A → ∃U. ⦃G,L⦄ ⊢ T ➡*[n,h] U.
31 [ /2 width=3 by ex_intro/
32 | #n #IH #A #T1 #HT1 <plus_SO
33 elim (IH … HT1) -IH #T0 #HT10
34 lapply (cpms_aaa_conf … HT1 … HT10) -HT1 #HT0
35 elim (aaa_cpm_SO h … HT0) -HT0 #T2 #HT02
36 /3 width=4 by cpms_step_dx, ex_intro/