]> matita.cs.unibo.it Git - helm.git/blob - matita/contribs/LAMBDA-TYPES/LambdaDelta-1/s/props.ma
experimental branch with no set baseuri command and no developments
[helm.git] / matita / contribs / LAMBDA-TYPES / LambdaDelta-1 / s / 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/s/props".
18
19 include "s/defs.ma".
20
21 theorem s_S:
22  \forall (k: K).(\forall (i: nat).(eq nat (s k (S i)) (S (s k i))))
23 \def
24  \lambda (k: K).(K_ind (\lambda (k0: K).(\forall (i: nat).(eq nat (s k0 (S 
25 i)) (S (s k0 i))))) (\lambda (b: B).(\lambda (i: nat).(refl_equal nat (S (s 
26 (Bind b) i))))) (\lambda (f: F).(\lambda (i: nat).(refl_equal nat (S (s (Flat 
27 f) i))))) k).
28
29 theorem s_plus:
30  \forall (k: K).(\forall (i: nat).(\forall (j: nat).(eq nat (s k (plus i j)) 
31 (plus (s k i) j))))
32 \def
33  \lambda (k: K).(K_ind (\lambda (k0: K).(\forall (i: nat).(\forall (j: 
34 nat).(eq nat (s k0 (plus i j)) (plus (s k0 i) j))))) (\lambda (b: B).(\lambda 
35 (i: nat).(\lambda (j: nat).(refl_equal nat (plus (s (Bind b) i) j))))) 
36 (\lambda (f: F).(\lambda (i: nat).(\lambda (j: nat).(refl_equal nat (plus (s 
37 (Flat f) i) j))))) k).
38
39 theorem s_plus_sym:
40  \forall (k: K).(\forall (i: nat).(\forall (j: nat).(eq nat (s k (plus i j)) 
41 (plus i (s k j)))))
42 \def
43  \lambda (k: K).(K_ind (\lambda (k0: K).(\forall (i: nat).(\forall (j: 
44 nat).(eq nat (s k0 (plus i j)) (plus i (s k0 j)))))) (\lambda (_: B).(\lambda 
45 (i: nat).(\lambda (j: nat).(eq_ind_r nat (plus i (S j)) (\lambda (n: nat).(eq 
46 nat n (plus i (S j)))) (refl_equal nat (plus i (S j))) (S (plus i j)) 
47 (plus_n_Sm i j))))) (\lambda (f: F).(\lambda (i: nat).(\lambda (j: 
48 nat).(refl_equal nat (plus i (s (Flat f) j)))))) k).
49
50 theorem s_minus:
51  \forall (k: K).(\forall (i: nat).(\forall (j: nat).((le j i) \to (eq nat (s 
52 k (minus i j)) (minus (s k i) j)))))
53 \def
54  \lambda (k: K).(K_ind (\lambda (k0: K).(\forall (i: nat).(\forall (j: 
55 nat).((le j i) \to (eq nat (s k0 (minus i j)) (minus (s k0 i) j)))))) 
56 (\lambda (_: B).(\lambda (i: nat).(\lambda (j: nat).(\lambda (H: (le j 
57 i)).(eq_ind_r nat (minus (S i) j) (\lambda (n: nat).(eq nat n (minus (S i) 
58 j))) (refl_equal nat (minus (S i) j)) (S (minus i j)) (minus_Sn_m i j H)))))) 
59 (\lambda (f: F).(\lambda (i: nat).(\lambda (j: nat).(\lambda (_: (le j 
60 i)).(refl_equal nat (minus (s (Flat f) i) j)))))) k).
61
62 theorem minus_s_s:
63  \forall (k: K).(\forall (i: nat).(\forall (j: nat).(eq nat (minus (s k i) (s 
64 k j)) (minus i j))))
65 \def
66  \lambda (k: K).(K_ind (\lambda (k0: K).(\forall (i: nat).(\forall (j: 
67 nat).(eq nat (minus (s k0 i) (s k0 j)) (minus i j))))) (\lambda (_: 
68 B).(\lambda (i: nat).(\lambda (j: nat).(refl_equal nat (minus i j))))) 
69 (\lambda (_: F).(\lambda (i: nat).(\lambda (j: nat).(refl_equal nat (minus i 
70 j))))) k).
71
72 theorem s_le:
73  \forall (k: K).(\forall (i: nat).(\forall (j: nat).((le i j) \to (le (s k i) 
74 (s k j)))))
75 \def
76  \lambda (k: K).(K_ind (\lambda (k0: K).(\forall (i: nat).(\forall (j: 
77 nat).((le i j) \to (le (s k0 i) (s k0 j)))))) (\lambda (_: B).(\lambda (i: 
78 nat).(\lambda (j: nat).(\lambda (H: (le i j)).(le_n_S i j H))))) (\lambda (_: 
79 F).(\lambda (i: nat).(\lambda (j: nat).(\lambda (H: (le i j)).H)))) k).
80
81 theorem s_lt:
82  \forall (k: K).(\forall (i: nat).(\forall (j: nat).((lt i j) \to (lt (s k i) 
83 (s k j)))))
84 \def
85  \lambda (k: K).(K_ind (\lambda (k0: K).(\forall (i: nat).(\forall (j: 
86 nat).((lt i j) \to (lt (s k0 i) (s k0 j)))))) (\lambda (_: B).(\lambda (i: 
87 nat).(\lambda (j: nat).(\lambda (H: (lt i j)).(le_n_S (S i) j H))))) (\lambda 
88 (_: F).(\lambda (i: nat).(\lambda (j: nat).(\lambda (H: (lt i j)).H)))) k).
89
90 theorem s_inj:
91  \forall (k: K).(\forall (i: nat).(\forall (j: nat).((eq nat (s k i) (s k j)) 
92 \to (eq nat i j))))
93 \def
94  \lambda (k: K).(K_ind (\lambda (k0: K).(\forall (i: nat).(\forall (j: 
95 nat).((eq nat (s k0 i) (s k0 j)) \to (eq nat i j))))) (\lambda (b: 
96 B).(\lambda (i: nat).(\lambda (j: nat).(\lambda (H: (eq nat (s (Bind b) i) (s 
97 (Bind b) j))).(eq_add_S i j H))))) (\lambda (f: F).(\lambda (i: nat).(\lambda 
98 (j: nat).(\lambda (H: (eq nat (s (Flat f) i) (s (Flat f) j))).H)))) k).
99
100 theorem s_inc:
101  \forall (k: K).(\forall (i: nat).(le i (s k i)))
102 \def
103  \lambda (k: K).(K_ind (\lambda (k0: K).(\forall (i: nat).(le i (s k0 i)))) 
104 (\lambda (b: B).(\lambda (i: nat).(le_S_n i (s (Bind b) i) (le_S (S i) (s 
105 (Bind b) i) (le_n (s (Bind b) i)))))) (\lambda (f: F).(\lambda (i: nat).(le_n 
106 (s (Flat f) i)))) k).
107
108 theorem s_arith0:
109  \forall (k: K).(\forall (i: nat).(eq nat (minus (s k i) (s k O)) i))
110 \def
111  \lambda (k: K).(\lambda (i: nat).(eq_ind_r nat (minus i O) (\lambda (n: 
112 nat).(eq nat n i)) (eq_ind nat i (\lambda (n: nat).(eq nat n i)) (refl_equal 
113 nat i) (minus i O) (minus_n_O i)) (minus (s k i) (s k O)) (minus_s_s k i O))).
114
115 theorem s_arith1:
116  \forall (b: B).(\forall (i: nat).(eq nat (minus (s (Bind b) i) (S O)) i))
117 \def
118  \lambda (_: B).(\lambda (i: nat).(eq_ind nat i (\lambda (n: nat).(eq nat n 
119 i)) (refl_equal nat i) (minus i O) (minus_n_O i))).
120