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_computation/cpme_aaa.ma".
16 include "basic_2/rt_computation/cnuw_cnuw.ma".
17 include "basic_2/rt_computation/cpmuwe.ma".
18 include "basic_2/dynamic/cnv_cpme.ma".
20 (* CONTEXT-SENSITIVE NATIVE VALIDITY FOR TERMS ******************************)
22 (* Advanced Properties with t-unbound whd evaluation on terms ***************)
24 lemma cnv_R_cpmuwe_dec (h) (a) (G) (L):
25 ∀T. ⦃G,L⦄ ⊢ T ![h,a] → ∀n. Decidable (R_cpmuwe h G L T n).
26 #h #a #G #L #T1 #HT1 #n
27 elim (cnv_fwd_aaa … HT1) #A #HA
28 elim (cpme_total_aaa h n … HA) -HA #T2 #HT12
29 elim (cnuw_dec h G L T2) #HnT1
30 [ /5 width=3 by cpme_fwd_cpms, cpmuwe_intro, ex_intro, or_introl/
31 | @or_intror * #T3 * #HT13 #HT3
32 lapply (cnv_cpme_cpms_conf … HT1 … HT13 … HT12) -a -T1 #HT32
33 /4 width=9 by cpme_fwd_cpms, cnuw_cpms_trans/