]> matita.cs.unibo.it Git - helm.git/blob - matita/matita/contribs/lambdadelta/basic_1/r/props.ma
update in basic_2
[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 lemma 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).(K_ind (\lambda (k0: K).(\forall (i: nat).(eq nat (r k0 (S 
25 i)) (S (r k0 i))))) (\lambda (b: B).(\lambda (i: nat).(refl_equal nat (S (r 
26 (Bind b) i))))) (\lambda (f: F).(\lambda (i: nat).(refl_equal nat (S (r (Flat 
27 f) i))))) k).
28
29 lemma r_plus:
30  \forall (k: K).(\forall (i: nat).(\forall (j: nat).(eq nat (r k (plus i j)) 
31 (plus (r k i) j))))
32 \def
33  \lambda (k: K).(K_ind (\lambda (k0: K).(\forall (i: nat).(\forall (j: 
34 nat).(eq nat (r k0 (plus i j)) (plus (r k0 i) j))))) (\lambda (b: B).(\lambda 
35 (i: nat).(\lambda (j: nat).(refl_equal nat (plus (r (Bind b) i) j))))) 
36 (\lambda (f: F).(\lambda (i: nat).(\lambda (j: nat).(refl_equal nat (plus (r 
37 (Flat f) i) j))))) k).
38
39 lemma r_plus_sym:
40  \forall (k: K).(\forall (i: nat).(\forall (j: nat).(eq nat (r k (plus i j)) 
41 (plus i (r k j)))))
42 \def
43  \lambda (k: K).(K_ind (\lambda (k0: K).(\forall (i: nat).(\forall (j: 
44 nat).(eq nat (r k0 (plus i j)) (plus i (r k0 j)))))) (\lambda (_: B).(\lambda 
45 (i: nat).(\lambda (j: nat).(refl_equal nat (plus i j))))) (\lambda (_: 
46 F).(\lambda (i: nat).(\lambda (j: nat).(plus_n_Sm i j)))) k).
47
48 lemma r_minus:
49  \forall (i: nat).(\forall (n: nat).((lt n i) \to (\forall (k: K).(eq nat 
50 (minus (r k i) (S n)) (r k (minus i (S n)))))))
51 \def
52  \lambda (i: nat).(\lambda (n: nat).(\lambda (H: (lt n i)).(\lambda (k: 
53 K).(K_ind (\lambda (k0: K).(eq nat (minus (r k0 i) (S n)) (r k0 (minus i (S 
54 n))))) (\lambda (_: B).(refl_equal nat (minus i (S n)))) (\lambda (_: 
55 F).(minus_x_Sy i n H)) k)))).
56
57 lemma r_dis:
58  \forall (k: K).(\forall (P: Prop).(((((\forall (i: nat).(eq nat (r k i) i))) 
59 \to P)) \to (((((\forall (i: nat).(eq nat (r k i) (S i)))) \to P)) \to P)))
60 \def
61  \lambda (k: K).(K_ind (\lambda (k0: K).(\forall (P: Prop).(((((\forall (i: 
62 nat).(eq nat (r k0 i) i))) \to P)) \to (((((\forall (i: nat).(eq nat (r k0 i) 
63 (S i)))) \to P)) \to P)))) (\lambda (b: B).(\lambda (P: Prop).(\lambda (H: 
64 ((((\forall (i: nat).(eq nat (r (Bind b) i) i))) \to P))).(\lambda (_: 
65 ((((\forall (i: nat).(eq nat (r (Bind b) i) (S i)))) \to P))).(H (\lambda (i: 
66 nat).(refl_equal nat i))))))) (\lambda (f: F).(\lambda (P: Prop).(\lambda (_: 
67 ((((\forall (i: nat).(eq nat (r (Flat f) i) i))) \to P))).(\lambda (H0: 
68 ((((\forall (i: nat).(eq nat (r (Flat f) i) (S i)))) \to P))).(H0 (\lambda 
69 (i: nat).(refl_equal nat (S i)))))))) k).
70
71 lemma s_r:
72  \forall (k: K).(\forall (i: nat).(eq nat (s k (r k i)) (S i)))
73 \def
74  \lambda (k: K).(K_ind (\lambda (k0: K).(\forall (i: nat).(eq nat (s k0 (r k0 
75 i)) (S i)))) (\lambda (_: B).(\lambda (i: nat).(refl_equal nat (S i)))) 
76 (\lambda (_: F).(\lambda (i: nat).(refl_equal nat (S i)))) k).
77
78 lemma r_arith0:
79  \forall (k: K).(\forall (i: nat).(eq nat (minus (r k (S i)) (S O)) (r k i)))
80 \def
81  \lambda (k: K).(\lambda (i: nat).(eq_ind_r nat (S (r k i)) (\lambda (n: 
82 nat).(eq nat (minus n (S O)) (r k i))) (eq_ind_r nat (r k i) (\lambda (n: 
83 nat).(eq nat n (r k i))) (refl_equal nat (r k i)) (minus (S (r k i)) (S O)) 
84 (minus_Sx_SO (r k i))) (r k (S i)) (r_S k i))).
85
86 lemma r_arith1:
87  \forall (k: K).(\forall (i: nat).(\forall (j: nat).(eq nat (minus (r k (S 
88 i)) (S j)) (minus (r k i) j))))
89 \def
90  \lambda (k: K).(\lambda (i: nat).(\lambda (j: nat).(eq_ind_r nat (S (r k i)) 
91 (\lambda (n: nat).(eq nat (minus n (S j)) (minus (r k i) j))) (refl_equal nat 
92 (minus (r k i) j)) (r k (S i)) (r_S k i)))).
93
94 lemma r_arith2:
95  \forall (k: K).(\forall (i: nat).(\forall (j: nat).((le (S i) (s k j)) \to 
96 (le (r k i) j))))
97 \def
98  \lambda (k: K).(K_ind (\lambda (k0: K).(\forall (i: nat).(\forall (j: 
99 nat).((le (S i) (s k0 j)) \to (le (r k0 i) j))))) (\lambda (_: B).(\lambda 
100 (i: nat).(\lambda (j: nat).(\lambda (H: (le (S i) (S j))).(let H_y \def 
101 (le_S_n i j H) in H_y))))) (\lambda (_: F).(\lambda (i: nat).(\lambda (j: 
102 nat).(\lambda (H: (le (S i) j)).H)))) k).
103
104 lemma r_arith3:
105  \forall (k: K).(\forall (i: nat).(\forall (j: nat).((le (s k j) (S i)) \to 
106 (le j (r k i)))))
107 \def
108  \lambda (k: K).(K_ind (\lambda (k0: K).(\forall (i: nat).(\forall (j: 
109 nat).((le (s k0 j) (S i)) \to (le j (r k0 i)))))) (\lambda (_: B).(\lambda 
110 (i: nat).(\lambda (j: nat).(\lambda (H: (le (S j) (S i))).(let H_y \def 
111 (le_S_n j i H) in H_y))))) (\lambda (_: F).(\lambda (i: nat).(\lambda (j: 
112 nat).(\lambda (H: (le j (S i))).H)))) k).
113
114 lemma r_arith4:
115  \forall (k: K).(\forall (i: nat).(\forall (j: nat).(eq nat (minus (S i) (s k 
116 j)) (minus (r k i) j))))
117 \def
118  \lambda (k: K).(K_ind (\lambda (k0: K).(\forall (i: nat).(\forall (j: 
119 nat).(eq nat (minus (S i) (s k0 j)) (minus (r k0 i) j))))) (\lambda (b: 
120 B).(\lambda (i: nat).(\lambda (j: nat).(refl_equal nat (minus (r (Bind b) i) 
121 j))))) (\lambda (f: F).(\lambda (i: nat).(\lambda (j: nat).(refl_equal nat 
122 (minus (r (Flat f) i) j))))) k).
123
124 lemma r_arith5:
125  \forall (k: K).(\forall (i: nat).(\forall (j: nat).((lt (s k j) (S i)) \to 
126 (lt j (r k i)))))
127 \def
128  \lambda (k: K).(K_ind (\lambda (k0: K).(\forall (i: nat).(\forall (j: 
129 nat).((lt (s k0 j) (S i)) \to (lt j (r k0 i)))))) (\lambda (_: B).(\lambda 
130 (i: nat).(\lambda (j: nat).(\lambda (H: (lt (S j) (S i))).(lt_S_n j i H))))) 
131 (\lambda (_: F).(\lambda (i: nat).(\lambda (j: nat).(\lambda (H: (lt j (S 
132 i))).H)))) k).
133
134 lemma r_arith6:
135  \forall (k: K).(\forall (i: nat).(\forall (j: nat).(eq nat (minus (r k i) (S 
136 j)) (minus i (s k j)))))
137 \def
138  \lambda (k: K).(K_ind (\lambda (k0: K).(\forall (i: nat).(\forall (j: 
139 nat).(eq nat (minus (r k0 i) (S j)) (minus i (s k0 j)))))) (\lambda (b: 
140 B).(\lambda (i: nat).(\lambda (j: nat).(refl_equal nat (minus i (s (Bind b) 
141 j)))))) (\lambda (f: F).(\lambda (i: nat).(\lambda (j: nat).(refl_equal nat 
142 (minus i (s (Flat f) j)))))) k).
143
144 lemma r_arith7:
145  \forall (k: K).(\forall (i: nat).(\forall (j: nat).((eq nat (S i) (s k j)) 
146 \to (eq nat (r k i) j))))
147 \def
148  \lambda (k: K).(K_ind (\lambda (k0: K).(\forall (i: nat).(\forall (j: 
149 nat).((eq nat (S i) (s k0 j)) \to (eq nat (r k0 i) j))))) (\lambda (_: 
150 B).(\lambda (i: nat).(\lambda (j: nat).(\lambda (H: (eq nat (S i) (S 
151 j))).(eq_add_S i j H))))) (\lambda (_: F).(\lambda (i: nat).(\lambda (j: 
152 nat).(\lambda (H: (eq nat (S i) j)).H)))) k).
153