]> matita.cs.unibo.it Git - helm.git/blob - matita/matita/contribs/lambdadelta/basic_1/csubv/props.ma
components: subst csubv
[helm.git] / matita / matita / contribs / lambdadelta / basic_1 / csubv / props.ma
1 (**************************************************************************)
2 (*       ___                                                              *)
3 (*      ||M||                                                             *)
4 (*      ||A||       A project by Andrea Asperti                           *)
5 (*      ||T||                                                             *)
6 (*      ||I||       Developers:                                           *)
7 (*      ||T||         The HELM team.                                      *)
8 (*      ||A||         http://helm.cs.unibo.it                             *)
9 (*      \   /                                                             *)
10 (*       \ /        This file is distributed under the terms of the       *)
11 (*        v         GNU General Public License Version 2                  *)
12 (*                                                                        *)
13 (**************************************************************************)
14
15 (* This file was automatically generated: do not edit *********************)
16
17 include "basic_1/csubv/defs.ma".
18
19 include "basic_1/C/fwd.ma".
20
21 include "basic_1/T/props.ma".
22
23 theorem csubv_bind_same:
24  \forall (c1: C).(\forall (c2: C).((csubv c1 c2) \to (\forall (b: B).(\forall 
25 (v1: T).(\forall (v2: T).(csubv (CHead c1 (Bind b) v1) (CHead c2 (Bind b) 
26 v2)))))))
27 \def
28  \lambda (c1: C).(\lambda (c2: C).(\lambda (H: (csubv c1 c2)).(\lambda (b: 
29 B).(let TMP_5 \def (\lambda (b0: B).(\forall (v1: T).(\forall (v2: T).(let 
30 TMP_1 \def (Bind b0) in (let TMP_2 \def (CHead c1 TMP_1 v1) in (let TMP_3 
31 \def (Bind b0) in (let TMP_4 \def (CHead c2 TMP_3 v2) in (csubv TMP_2 
32 TMP_4)))))))) in (let TMP_6 \def (\lambda (v1: T).(\lambda (v2: 
33 T).(csubv_bind c1 c2 H Abbr not_abbr_void Abbr v1 v2))) in (let TMP_7 \def 
34 (\lambda (v1: T).(\lambda (v2: T).(csubv_bind c1 c2 H Abst not_abst_void Abst 
35 v1 v2))) in (let TMP_8 \def (\lambda (v1: T).(\lambda (v2: T).(csubv_void c1 
36 c2 H v1 v2))) in (B_ind TMP_5 TMP_6 TMP_7 TMP_8 b)))))))).
37
38 theorem csubv_refl:
39  \forall (c: C).(csubv c c)
40 \def
41  \lambda (c: C).(let TMP_1 \def (\lambda (c0: C).(csubv c0 c0)) in (let TMP_2 
42 \def (\lambda (n: nat).(csubv_sort n)) in (let TMP_8 \def (\lambda (c0: 
43 C).(\lambda (H: (csubv c0 c0)).(\lambda (k: K).(let TMP_5 \def (\lambda (k0: 
44 K).(\forall (t: T).(let TMP_3 \def (CHead c0 k0 t) in (let TMP_4 \def (CHead 
45 c0 k0 t) in (csubv TMP_3 TMP_4))))) in (let TMP_6 \def (\lambda (b: 
46 B).(\lambda (t: T).(csubv_bind_same c0 c0 H b t t))) in (let TMP_7 \def 
47 (\lambda (f: F).(\lambda (t: T).(csubv_flat c0 c0 H f f t t))) in (K_ind 
48 TMP_5 TMP_6 TMP_7 k))))))) in (C_ind TMP_1 TMP_2 TMP_8 c)))).
49