]> matita.cs.unibo.it Git - helm.git/blob - matita/contribs/LAMBDA-TYPES/LambdaDelta-1/r/props.ma
505d1e4507771e149ce550a533e506c012cc2161
[helm.git] / matita / contribs / LAMBDA-TYPES / LambdaDelta-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 set "baseuri" "cic:/matita/LAMBDA-TYPES/LambdaDelta-1/r/props".
18
19 include "r/defs.ma".
20
21 include "s/defs.ma".
22
23 theorem r_S:
24  \forall (k: K).(\forall (i: nat).(eq nat (r k (S i)) (S (r k i))))
25 \def
26  \lambda (k: K).(K_ind (\lambda (k0: K).(\forall (i: nat).(eq nat (r k0 (S 
27 i)) (S (r k0 i))))) (\lambda (b: B).(\lambda (i: nat).(refl_equal nat (S (r 
28 (Bind b) i))))) (\lambda (f: F).(\lambda (i: nat).(refl_equal nat (S (r (Flat 
29 f) i))))) k).
30
31 theorem r_plus:
32  \forall (k: K).(\forall (i: nat).(\forall (j: nat).(eq nat (r k (plus i j)) 
33 (plus (r k i) j))))
34 \def
35  \lambda (k: K).(K_ind (\lambda (k0: K).(\forall (i: nat).(\forall (j: 
36 nat).(eq nat (r k0 (plus i j)) (plus (r k0 i) j))))) (\lambda (b: B).(\lambda 
37 (i: nat).(\lambda (j: nat).(refl_equal nat (plus (r (Bind b) i) j))))) 
38 (\lambda (f: F).(\lambda (i: nat).(\lambda (j: nat).(refl_equal nat (plus (r 
39 (Flat f) i) j))))) k).
40
41 theorem r_plus_sym:
42  \forall (k: K).(\forall (i: nat).(\forall (j: nat).(eq nat (r k (plus i j)) 
43 (plus i (r k j)))))
44 \def
45  \lambda (k: K).(K_ind (\lambda (k0: K).(\forall (i: nat).(\forall (j: 
46 nat).(eq nat (r k0 (plus i j)) (plus i (r k0 j)))))) (\lambda (_: B).(\lambda 
47 (i: nat).(\lambda (j: nat).(refl_equal nat (plus i j))))) (\lambda (_: 
48 F).(\lambda (i: nat).(\lambda (j: nat).(plus_n_Sm i j)))) k).
49
50 theorem r_minus:
51  \forall (i: nat).(\forall (n: nat).((lt n i) \to (\forall (k: K).(eq nat 
52 (minus (r k i) (S n)) (r k (minus i (S n)))))))
53 \def
54  \lambda (i: nat).(\lambda (n: nat).(\lambda (H: (lt n i)).(\lambda (k: 
55 K).(K_ind (\lambda (k0: K).(eq nat (minus (r k0 i) (S n)) (r k0 (minus i (S 
56 n))))) (\lambda (_: B).(refl_equal nat (minus i (S n)))) (\lambda (_: 
57 F).(minus_x_Sy i n H)) k)))).
58
59 theorem r_dis:
60  \forall (k: K).(\forall (P: Prop).(((((\forall (i: nat).(eq nat (r k i) i))) 
61 \to P)) \to (((((\forall (i: nat).(eq nat (r k i) (S i)))) \to P)) \to P)))
62 \def
63  \lambda (k: K).(K_ind (\lambda (k0: K).(\forall (P: Prop).(((((\forall (i: 
64 nat).(eq nat (r k0 i) i))) \to P)) \to (((((\forall (i: nat).(eq nat (r k0 i) 
65 (S i)))) \to P)) \to P)))) (\lambda (b: B).(\lambda (P: Prop).(\lambda (H: 
66 ((((\forall (i: nat).(eq nat (r (Bind b) i) i))) \to P))).(\lambda (_: 
67 ((((\forall (i: nat).(eq nat (r (Bind b) i) (S i)))) \to P))).(H (\lambda (i: 
68 nat).(refl_equal nat i))))))) (\lambda (f: F).(\lambda (P: Prop).(\lambda (_: 
69 ((((\forall (i: nat).(eq nat (r (Flat f) i) i))) \to P))).(\lambda (H0: 
70 ((((\forall (i: nat).(eq nat (r (Flat f) i) (S i)))) \to P))).(H0 (\lambda 
71 (i: nat).(refl_equal nat (S i)))))))) k).
72
73 theorem s_r:
74  \forall (k: K).(\forall (i: nat).(eq nat (s k (r k i)) (S i)))
75 \def
76  \lambda (k: K).(K_ind (\lambda (k0: K).(\forall (i: nat).(eq nat (s k0 (r k0 
77 i)) (S i)))) (\lambda (_: B).(\lambda (i: nat).(refl_equal nat (S i)))) 
78 (\lambda (_: F).(\lambda (i: nat).(refl_equal nat (S i)))) k).
79
80 theorem r_arith0:
81  \forall (k: K).(\forall (i: nat).(eq nat (minus (r k (S i)) (S O)) (r k i)))
82 \def
83  \lambda (k: K).(\lambda (i: nat).(eq_ind_r nat (S (r k i)) (\lambda (n: 
84 nat).(eq nat (minus n (S O)) (r k i))) (eq_ind_r nat (r k i) (\lambda (n: 
85 nat).(eq nat n (r k i))) (refl_equal nat (r k i)) (minus (S (r k i)) (S O)) 
86 (minus_Sx_SO (r k i))) (r k (S i)) (r_S k i))).
87
88 theorem r_arith1:
89  \forall (k: K).(\forall (i: nat).(\forall (j: nat).(eq nat (minus (r k (S 
90 i)) (S j)) (minus (r k i) j))))
91 \def
92  \lambda (k: K).(\lambda (i: nat).(\lambda (j: nat).(eq_ind_r nat (S (r k i)) 
93 (\lambda (n: nat).(eq nat (minus n (S j)) (minus (r k i) j))) (refl_equal nat 
94 (minus (r k i) j)) (r k (S i)) (r_S k i)))).
95