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 include "ground/arith/ynat_succ.ma".
16 include "ground/arith/ynat_lt_pred.ma".
18 (* STRICT ORDER FOR NON-NEGATIVE INTEGERS WITH INFINITY *********************)
20 (* Constructions with ypred and ysucc ***************************************)
23 lemma ylt_zero_sn (y): y = โโy โ ๐ < y.
24 #y @(ynat_split_nat_inf โฆ y) -y
25 /4 width=1 by ylt_inj, eq_inv_yinj_nat_bi, nlt_zero_sn/
28 (* Destructions with ypred and ysucc ****************************************)
31 lemma ylt_des_gen_dx (x) (y): x < y โ y = โโy.
34 lapply (nlt_des_gen โฆ H) -H //
37 lemma ylt_des_succ_sn (x) (y):
38 โx < y โ x < โy.
39 #x #y @(insert_eq_1 โฆ (โx))
42 elim (eq_inv_ysucc_inj โฆ H) -H #m #H1 #H2 destruct
43 elim (nlt_inv_succ_sn โฆ Hn) -Hn #Hm #_
44 /2 width=1 by ylt_inj/
46 elim (eq_inv_ysucc_inj โฆ H) -H #m #H1 #H2 destruct //
50 (* Inversions with ypred and ysucc ******************************************)
53 lemma ylt_inv_succ_sn (x) (y):
54 โx < y โ โงโง x < โy & y = โโy.
55 /3 width=2 by ylt_des_succ_sn, ylt_des_gen_dx, conj/ qed-.