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 (* This file was automatically generated: do not edit *********************)
17 include "basic_1A/r/defs.ma".
19 include "basic_1A/s/defs.ma".
22 \forall (k: K).(\forall (i: nat).(eq nat (r k (S i)) (S (r k i))))
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
30 \forall (k: K).(\forall (i: nat).(\forall (j: nat).(eq nat (r k (plus i j))
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).
40 \forall (k: K).(\forall (i: nat).(\forall (j: nat).(eq nat (r k (plus i j))
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).
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)))))))
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)))).
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)))
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).
72 \forall (k: K).(\forall (i: nat).(eq nat (s k (r k i)) (S i)))
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).
79 \forall (k: K).(\forall (i: nat).(eq nat (minus (r k (S i)) (S O)) (r k i)))
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))).
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))))
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)))).
95 \forall (k: K).(\forall (i: nat).(\forall (j: nat).((le (S i) (s k j)) \to
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).
105 \forall (k: K).(\forall (i: nat).(\forall (j: nat).((le (s k j) (S i)) \to
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).
115 \forall (k: K).(\forall (i: nat).(\forall (j: nat).(eq nat (minus (S i) (s k
116 j)) (minus (r k i) j))))
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).
125 \forall (k: K).(\forall (i: nat).(\forall (j: nat).((lt (s k j) (S i)) \to
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
135 \forall (k: K).(\forall (i: nat).(\forall (j: nat).(eq nat (minus (r k i) (S
136 j)) (minus i (s k j)))))
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).
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))))
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).