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 "LambdaDelta-1/next_plus/defs.ma".
19 theorem next_plus_assoc:
20 \forall (g: G).(\forall (n: nat).(\forall (h1: nat).(\forall (h2: nat).(eq
21 nat (next_plus g (next_plus g n h1) h2) (next_plus g n (plus h1 h2))))))
23 \lambda (g: G).(\lambda (n: nat).(\lambda (h1: nat).(nat_ind (\lambda (n0:
24 nat).(\forall (h2: nat).(eq nat (next_plus g (next_plus g n n0) h2)
25 (next_plus g n (plus n0 h2))))) (\lambda (h2: nat).(refl_equal nat (next_plus
26 g n h2))) (\lambda (n0: nat).(\lambda (_: ((\forall (h2: nat).(eq nat
27 (next_plus g (next_plus g n n0) h2) (next_plus g n (plus n0 h2)))))).(\lambda
28 (h2: nat).(nat_ind (\lambda (n1: nat).(eq nat (next_plus g (next g (next_plus
29 g n n0)) n1) (next g (next_plus g n (plus n0 n1))))) (eq_ind nat n0 (\lambda
30 (n1: nat).(eq nat (next g (next_plus g n n0)) (next g (next_plus g n n1))))
31 (refl_equal nat (next g (next_plus g n n0))) (plus n0 O) (plus_n_O n0))
32 (\lambda (n1: nat).(\lambda (H0: (eq nat (next_plus g (next g (next_plus g n
33 n0)) n1) (next g (next_plus g n (plus n0 n1))))).(eq_ind nat (S (plus n0 n1))
34 (\lambda (n2: nat).(eq nat (next g (next_plus g (next g (next_plus g n n0))
35 n1)) (next g (next_plus g n n2)))) (f_equal nat nat (next g) (next_plus g
36 (next g (next_plus g n n0)) n1) (next g (next_plus g n (plus n0 n1))) H0)
37 (plus n0 (S n1)) (plus_n_Sm n0 n1)))) h2)))) h1))).
39 theorem next_plus_next:
40 \forall (g: G).(\forall (n: nat).(\forall (h: nat).(eq nat (next_plus g
41 (next g n) h) (next g (next_plus g n h)))))
43 \lambda (g: G).(\lambda (n: nat).(\lambda (h: nat).(eq_ind_r nat (next_plus
44 g n (plus (S O) h)) (\lambda (n0: nat).(eq nat n0 (next g (next_plus g n
45 h)))) (refl_equal nat (next g (next_plus g n h))) (next_plus g (next_plus g n
46 (S O)) h) (next_plus_assoc g n (S O) h)))).
49 \forall (g: G).(\forall (h: nat).(\forall (n: nat).(lt n (next_plus g (next
52 \lambda (g: G).(\lambda (h: nat).(nat_ind (\lambda (n: nat).(\forall (n0:
53 nat).(lt n0 (next_plus g (next g n0) n)))) (\lambda (n: nat).(next_lt g n))
54 (\lambda (n: nat).(\lambda (H: ((\forall (n0: nat).(lt n0 (next_plus g (next
55 g n0) n))))).(\lambda (n0: nat).(eq_ind nat (next_plus g (next g (next g n0))
56 n) (\lambda (n1: nat).(lt n0 n1)) (lt_trans n0 (next g n0) (next_plus g (next
57 g (next g n0)) n) (next_lt g n0) (H (next g n0))) (next g (next_plus g (next
58 g n0) n)) (next_plus_next g (next g n0) n))))) h)).