]> matita.cs.unibo.it Git - helm.git/blob - matita/matita/contribs/lambdadelta/basic_1/r/props.ma
components C r flt app lift
[helm.git] / matita / matita / contribs / lambdadelta / basic_1 / r / 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/r/defs.ma".
18
19 include "basic_1/s/defs.ma".
20
21 theorem r_S:
22  \forall (k: K).(\forall (i: nat).(eq nat (r k (S i)) (S (r k i))))
23 \def
24  \lambda (k: K).(let TMP_5 \def (\lambda (k0: K).(\forall (i: nat).(let TMP_1 
25 \def (S i) in (let TMP_2 \def (r k0 TMP_1) in (let TMP_3 \def (r k0 i) in 
26 (let TMP_4 \def (S TMP_3) in (eq nat TMP_2 TMP_4))))))) in (let TMP_9 \def 
27 (\lambda (b: B).(\lambda (i: nat).(let TMP_6 \def (Bind b) in (let TMP_7 \def 
28 (r TMP_6 i) in (let TMP_8 \def (S TMP_7) in (refl_equal nat TMP_8)))))) in 
29 (let TMP_13 \def (\lambda (f: F).(\lambda (i: nat).(let TMP_10 \def (Flat f) 
30 in (let TMP_11 \def (r TMP_10 i) in (let TMP_12 \def (S TMP_11) in 
31 (refl_equal nat TMP_12)))))) in (K_ind TMP_5 TMP_9 TMP_13 k)))).
32
33 theorem r_plus:
34  \forall (k: K).(\forall (i: nat).(\forall (j: nat).(eq nat (r k (plus i j)) 
35 (plus (r k i) j))))
36 \def
37  \lambda (k: K).(let TMP_5 \def (\lambda (k0: K).(\forall (i: nat).(\forall 
38 (j: nat).(let TMP_1 \def (plus i j) in (let TMP_2 \def (r k0 TMP_1) in (let 
39 TMP_3 \def (r k0 i) in (let TMP_4 \def (plus TMP_3 j) in (eq nat TMP_2 
40 TMP_4)))))))) in (let TMP_9 \def (\lambda (b: B).(\lambda (i: nat).(\lambda 
41 (j: nat).(let TMP_6 \def (Bind b) in (let TMP_7 \def (r TMP_6 i) in (let 
42 TMP_8 \def (plus TMP_7 j) in (refl_equal nat TMP_8))))))) in (let TMP_13 \def 
43 (\lambda (f: F).(\lambda (i: nat).(\lambda (j: nat).(let TMP_10 \def (Flat f) 
44 in (let TMP_11 \def (r TMP_10 i) in (let TMP_12 \def (plus TMP_11 j) in 
45 (refl_equal nat TMP_12))))))) in (K_ind TMP_5 TMP_9 TMP_13 k)))).
46
47 theorem r_plus_sym:
48  \forall (k: K).(\forall (i: nat).(\forall (j: nat).(eq nat (r k (plus i j)) 
49 (plus i (r k j)))))
50 \def
51  \lambda (k: K).(let TMP_5 \def (\lambda (k0: K).(\forall (i: nat).(\forall 
52 (j: nat).(let TMP_1 \def (plus i j) in (let TMP_2 \def (r k0 TMP_1) in (let 
53 TMP_3 \def (r k0 j) in (let TMP_4 \def (plus i TMP_3) in (eq nat TMP_2 
54 TMP_4)))))))) in (let TMP_7 \def (\lambda (_: B).(\lambda (i: nat).(\lambda 
55 (j: nat).(let TMP_6 \def (plus i j) in (refl_equal nat TMP_6))))) in (let 
56 TMP_8 \def (\lambda (_: F).(\lambda (i: nat).(\lambda (j: nat).(plus_n_Sm i 
57 j)))) in (K_ind TMP_5 TMP_7 TMP_8 k)))).
58
59 theorem r_minus:
60  \forall (i: nat).(\forall (n: nat).((lt n i) \to (\forall (k: K).(eq nat 
61 (minus (r k i) (S n)) (r k (minus i (S n)))))))
62 \def
63  \lambda (i: nat).(\lambda (n: nat).(\lambda (H: (lt n i)).(\lambda (k: 
64 K).(let TMP_7 \def (\lambda (k0: K).(let TMP_1 \def (r k0 i) in (let TMP_2 
65 \def (S n) in (let TMP_3 \def (minus TMP_1 TMP_2) in (let TMP_4 \def (S n) in 
66 (let TMP_5 \def (minus i TMP_4) in (let TMP_6 \def (r k0 TMP_5) in (eq nat 
67 TMP_3 TMP_6)))))))) in (let TMP_10 \def (\lambda (_: B).(let TMP_8 \def (S n) 
68 in (let TMP_9 \def (minus i TMP_8) in (refl_equal nat TMP_9)))) in (let 
69 TMP_11 \def (\lambda (_: F).(minus_x_Sy i n H)) in (K_ind TMP_7 TMP_10 TMP_11 
70 k))))))).
71
72 theorem r_dis:
73  \forall (k: K).(\forall (P: Prop).(((((\forall (i: nat).(eq nat (r k i) i))) 
74 \to P)) \to (((((\forall (i: nat).(eq nat (r k i) (S i)))) \to P)) \to P)))
75 \def
76  \lambda (k: K).(let TMP_1 \def (\lambda (k0: K).(\forall (P: 
77 Prop).(((((\forall (i: nat).(eq nat (r k0 i) i))) \to P)) \to (((((\forall 
78 (i: nat).(eq nat (r k0 i) (S i)))) \to P)) \to P)))) in (let TMP_3 \def 
79 (\lambda (b: B).(\lambda (P: Prop).(\lambda (H: ((((\forall (i: nat).(eq nat 
80 (r (Bind b) i) i))) \to P))).(\lambda (_: ((((\forall (i: nat).(eq nat (r 
81 (Bind b) i) (S i)))) \to P))).(let TMP_2 \def (\lambda (i: nat).(refl_equal 
82 nat i)) in (H TMP_2)))))) in (let TMP_6 \def (\lambda (f: F).(\lambda (P: 
83 Prop).(\lambda (_: ((((\forall (i: nat).(eq nat (r (Flat f) i) i))) \to 
84 P))).(\lambda (H0: ((((\forall (i: nat).(eq nat (r (Flat f) i) (S i)))) \to 
85 P))).(let TMP_5 \def (\lambda (i: nat).(let TMP_4 \def (S i) in (refl_equal 
86 nat TMP_4))) in (H0 TMP_5)))))) in (K_ind TMP_1 TMP_3 TMP_6 k)))).
87
88 theorem s_r:
89  \forall (k: K).(\forall (i: nat).(eq nat (s k (r k i)) (S i)))
90 \def
91  \lambda (k: K).(let TMP_4 \def (\lambda (k0: K).(\forall (i: nat).(let TMP_1 
92 \def (r k0 i) in (let TMP_2 \def (s k0 TMP_1) in (let TMP_3 \def (S i) in (eq 
93 nat TMP_2 TMP_3)))))) in (let TMP_6 \def (\lambda (_: B).(\lambda (i: 
94 nat).(let TMP_5 \def (S i) in (refl_equal nat TMP_5)))) in (let TMP_8 \def 
95 (\lambda (_: F).(\lambda (i: nat).(let TMP_7 \def (S i) in (refl_equal nat 
96 TMP_7)))) in (K_ind TMP_4 TMP_6 TMP_8 k)))).
97
98 theorem r_arith0:
99  \forall (k: K).(\forall (i: nat).(eq nat (minus (r k (S i)) (S O)) (r k i)))
100 \def
101  \lambda (k: K).(\lambda (i: nat).(let TMP_1 \def (r k i) in (let TMP_2 \def 
102 (S TMP_1) in (let TMP_6 \def (\lambda (n: nat).(let TMP_3 \def (S O) in (let 
103 TMP_4 \def (minus n TMP_3) in (let TMP_5 \def (r k i) in (eq nat TMP_4 
104 TMP_5))))) in (let TMP_7 \def (r k i) in (let TMP_9 \def (\lambda (n: 
105 nat).(let TMP_8 \def (r k i) in (eq nat n TMP_8))) in (let TMP_10 \def (r k 
106 i) in (let TMP_11 \def (refl_equal nat TMP_10) in (let TMP_12 \def (r k i) in 
107 (let TMP_13 \def (S TMP_12) in (let TMP_14 \def (S O) in (let TMP_15 \def 
108 (minus TMP_13 TMP_14) in (let TMP_16 \def (r k i) in (let TMP_17 \def 
109 (minus_Sx_SO TMP_16) in (let TMP_18 \def (eq_ind_r nat TMP_7 TMP_9 TMP_11 
110 TMP_15 TMP_17) in (let TMP_19 \def (S i) in (let TMP_20 \def (r k TMP_19) in 
111 (let TMP_21 \def (r_S k i) in (eq_ind_r nat TMP_2 TMP_6 TMP_18 TMP_20 
112 TMP_21))))))))))))))))))).
113
114 theorem r_arith1:
115  \forall (k: K).(\forall (i: nat).(\forall (j: nat).(eq nat (minus (r k (S 
116 i)) (S j)) (minus (r k i) j))))
117 \def
118  \lambda (k: K).(\lambda (i: nat).(\lambda (j: nat).(let TMP_1 \def (r k i) 
119 in (let TMP_2 \def (S TMP_1) in (let TMP_7 \def (\lambda (n: nat).(let TMP_3 
120 \def (S j) in (let TMP_4 \def (minus n TMP_3) in (let TMP_5 \def (r k i) in 
121 (let TMP_6 \def (minus TMP_5 j) in (eq nat TMP_4 TMP_6)))))) in (let TMP_8 
122 \def (r k i) in (let TMP_9 \def (minus TMP_8 j) in (let TMP_10 \def 
123 (refl_equal nat TMP_9) in (let TMP_11 \def (S i) in (let TMP_12 \def (r k 
124 TMP_11) in (let TMP_13 \def (r_S k i) in (eq_ind_r nat TMP_2 TMP_7 TMP_10 
125 TMP_12 TMP_13)))))))))))).
126
127 theorem r_arith2:
128  \forall (k: K).(\forall (i: nat).(\forall (j: nat).((le (S i) (s k j)) \to 
129 (le (r k i) j))))
130 \def
131  \lambda (k: K).(let TMP_2 \def (\lambda (k0: K).(\forall (i: nat).(\forall 
132 (j: nat).((le (S i) (s k0 j)) \to (let TMP_1 \def (r k0 i) in (le TMP_1 
133 j)))))) in (let TMP_3 \def (\lambda (_: B).(\lambda (i: nat).(\lambda (j: 
134 nat).(\lambda (H: (le (S i) (S j))).(let H_y \def (le_S_n i j H) in H_y))))) 
135 in (let TMP_4 \def (\lambda (_: F).(\lambda (i: nat).(\lambda (j: 
136 nat).(\lambda (H: (le (S i) j)).H)))) in (K_ind TMP_2 TMP_3 TMP_4 k)))).
137
138 theorem r_arith3:
139  \forall (k: K).(\forall (i: nat).(\forall (j: nat).((le (s k j) (S i)) \to 
140 (le j (r k i)))))
141 \def
142  \lambda (k: K).(let TMP_2 \def (\lambda (k0: K).(\forall (i: nat).(\forall 
143 (j: nat).((le (s k0 j) (S i)) \to (let TMP_1 \def (r k0 i) in (le j 
144 TMP_1)))))) in (let TMP_3 \def (\lambda (_: B).(\lambda (i: nat).(\lambda (j: 
145 nat).(\lambda (H: (le (S j) (S i))).(let H_y \def (le_S_n j i H) in H_y))))) 
146 in (let TMP_4 \def (\lambda (_: F).(\lambda (i: nat).(\lambda (j: 
147 nat).(\lambda (H: (le j (S i))).H)))) in (K_ind TMP_2 TMP_3 TMP_4 k)))).
148
149 theorem r_arith4:
150  \forall (k: K).(\forall (i: nat).(\forall (j: nat).(eq nat (minus (S i) (s k 
151 j)) (minus (r k i) j))))
152 \def
153  \lambda (k: K).(let TMP_6 \def (\lambda (k0: K).(\forall (i: nat).(\forall 
154 (j: nat).(let TMP_1 \def (S i) in (let TMP_2 \def (s k0 j) in (let TMP_3 \def 
155 (minus TMP_1 TMP_2) in (let TMP_4 \def (r k0 i) in (let TMP_5 \def (minus 
156 TMP_4 j) in (eq nat TMP_3 TMP_5))))))))) in (let TMP_10 \def (\lambda (b: 
157 B).(\lambda (i: nat).(\lambda (j: nat).(let TMP_7 \def (Bind b) in (let TMP_8 
158 \def (r TMP_7 i) in (let TMP_9 \def (minus TMP_8 j) in (refl_equal nat 
159 TMP_9))))))) in (let TMP_14 \def (\lambda (f: F).(\lambda (i: nat).(\lambda 
160 (j: nat).(let TMP_11 \def (Flat f) in (let TMP_12 \def (r TMP_11 i) in (let 
161 TMP_13 \def (minus TMP_12 j) in (refl_equal nat TMP_13))))))) in (K_ind TMP_6 
162 TMP_10 TMP_14 k)))).
163
164 theorem r_arith5:
165  \forall (k: K).(\forall (i: nat).(\forall (j: nat).((lt (s k j) (S i)) \to 
166 (lt j (r k i)))))
167 \def
168  \lambda (k: K).(let TMP_2 \def (\lambda (k0: K).(\forall (i: nat).(\forall 
169 (j: nat).((lt (s k0 j) (S i)) \to (let TMP_1 \def (r k0 i) in (lt j 
170 TMP_1)))))) in (let TMP_3 \def (\lambda (_: B).(\lambda (i: nat).(\lambda (j: 
171 nat).(\lambda (H: (lt (S j) (S i))).(lt_S_n j i H))))) in (let TMP_4 \def 
172 (\lambda (_: F).(\lambda (i: nat).(\lambda (j: nat).(\lambda (H: (lt j (S 
173 i))).H)))) in (K_ind TMP_2 TMP_3 TMP_4 k)))).
174
175 theorem r_arith6:
176  \forall (k: K).(\forall (i: nat).(\forall (j: nat).(eq nat (minus (r k i) (S 
177 j)) (minus i (s k j)))))
178 \def
179  \lambda (k: K).(let TMP_6 \def (\lambda (k0: K).(\forall (i: nat).(\forall 
180 (j: nat).(let TMP_1 \def (r k0 i) in (let TMP_2 \def (S j) in (let TMP_3 \def 
181 (minus TMP_1 TMP_2) in (let TMP_4 \def (s k0 j) in (let TMP_5 \def (minus i 
182 TMP_4) in (eq nat TMP_3 TMP_5))))))))) in (let TMP_10 \def (\lambda (b: 
183 B).(\lambda (i: nat).(\lambda (j: nat).(let TMP_7 \def (Bind b) in (let TMP_8 
184 \def (s TMP_7 j) in (let TMP_9 \def (minus i TMP_8) in (refl_equal nat 
185 TMP_9))))))) in (let TMP_14 \def (\lambda (f: F).(\lambda (i: nat).(\lambda 
186 (j: nat).(let TMP_11 \def (Flat f) in (let TMP_12 \def (s TMP_11 j) in (let 
187 TMP_13 \def (minus i TMP_12) in (refl_equal nat TMP_13))))))) in (K_ind TMP_6 
188 TMP_10 TMP_14 k)))).
189
190 theorem r_arith7:
191  \forall (k: K).(\forall (i: nat).(\forall (j: nat).((eq nat (S i) (s k j)) 
192 \to (eq nat (r k i) j))))
193 \def
194  \lambda (k: K).(let TMP_2 \def (\lambda (k0: K).(\forall (i: nat).(\forall 
195 (j: nat).((eq nat (S i) (s k0 j)) \to (let TMP_1 \def (r k0 i) in (eq nat 
196 TMP_1 j)))))) in (let TMP_3 \def (\lambda (_: B).(\lambda (i: nat).(\lambda 
197 (j: nat).(\lambda (H: (eq nat (S i) (S j))).(eq_add_S i j H))))) in (let 
198 TMP_4 \def (\lambda (_: F).(\lambda (i: nat).(\lambda (j: nat).(\lambda (H: 
199 (eq nat (S i) j)).H)))) in (K_ind TMP_2 TMP_3 TMP_4 k)))).
200