2 lemma zero_or_gt: ∀n. n = 0 ∨ 0 < n.
3 #n elim (lt_or_eq_or_gt 0 n) /2/
4 #H elim (lt_zero_false … H)
7 lemma pippo: ∀x,y,z. x < z → y < z - x → x + y < z.
10 lemma arith_b1x: ∀e,x1,x2,y. y ≤ x2 → x2 ≤ x1 →
11 e + (x1 - y) - (x2 - y) = e + (x1 - x2).
13 <(arith_b1 … H1) >le_plus_minus // /2 width=1/
16 lemma arith1: ∀x,y,z,w. z < y → x + (y + w) - z = x + y - z + w.
17 #x #y #z #w #H <le_plus_minus_comm // /3 width=1 by lt_to_le, le_plus_a/
20 lemma lt_dec: ∀n2,n1. Decidable (n1 < n2).
22 [ /4 width=3 by or_intror, absurd, nmk/
23 | #n2 #IHn2 * /2 width=1 by or_introl/
24 #n1 elim (IHn2 n1) -IHn2
25 /4 width=1 by le_S_S, monotonic_pred, or_intror, or_introl/
29 lemma false_lt_to_le: ∀x,y. (x < y → ⊥) → y ≤ x.
30 #x #y #H elim (decidable_lt x y) /2 width=1 by not_lt_to_le/
34 lemma arith_m2 (x) (y): x < y → x+(y-↑x) = ↓y.
35 #x #y #Hxy >minus_minus [|*: // ] <minus_Sn_n //