X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;ds=sidebyside;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fground%2Farith%2Fynat_lt_succ.ma;fp=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fground%2Farith%2Fynat_lt_succ.ma;h=52fa2f28574becc2bd2c91423dd5c882f676de6e;hb=888840f6b3a71d3d686b53b702d362ab90ab0038;hp=0000000000000000000000000000000000000000;hpb=19b0a814861157ba05f23877d5cd94059f52c2e8;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/ground/arith/ynat_lt_succ.ma b/matita/matita/contribs/lambdadelta/ground/arith/ynat_lt_succ.ma new file mode 100644 index 000000000..52fa2f285 --- /dev/null +++ b/matita/matita/contribs/lambdadelta/ground/arith/ynat_lt_succ.ma @@ -0,0 +1,63 @@ +(**************************************************************************) +(* ___ *) +(* ||M|| *) +(* ||A|| A project by Andrea Asperti *) +(* ||T|| *) +(* ||I|| Developers: *) +(* ||T|| The HELM team. *) +(* ||A|| http://helm.cs.unibo.it *) +(* \ / *) +(* \ / This file is distributed under the terms of the *) +(* v GNU General Public License Version 2 *) +(* *) +(**************************************************************************) + +include "ground/arith/ynat_succ.ma". +include "ground/arith/ynat_lt.ma". + +(* STRICT ORDER FOR NON-NEGATIVE INTEGERS WITH INFINITY *********************) + +(* Constructions with ysucc *************************************************) + +(*** ylt_O_succ *) +lemma ylt_zero_succ (y): 𝟎 < ↑y. +#y @(ynat_split_nat_inf … y) -y +/2 width=1 by ylt_inj/ +qed. + +(*** ylt_succ *) +lemma ylt_succ_bi (x) (y): x < y → ↑x < ↑y. +#x #y * -x -y +/3 width=1 by ylt_inj, ylt_inf, nlt_succ_bi/ +qed. + +(*** ylt_succ_Y *) +lemma ylt_succ_inf (x): x < ∞ → ↑x < ∞. +#x @(ynat_split_nat_inf … x) -x // +qed. + +(*** ylt_succ2_refl *) +lemma ylt_succ_dx_refl (x) (y): x < y → x < ↑x. +#x #y #H +elim (ylt_des_gen_sn … H) -y #n #H destruct +/2 width=1 by ylt_inj/ +qed. + +(* Inversions with ysucc ****************************************************) + +lemma ylt_inv_succ_inf (x): ↑x < ∞ → x < ∞. +#x #H +elim (ylt_des_gen_sn … H) -H #m0 #H +elim (eq_inv_ysucc_inj … H) -H #m #H1 #H2 destruct // +qed-. + +(*** ylt_inv_succ *) +lemma ylt_inv_succ_bi (x) (y): ↑x < ↑y → x < y. +#x #y @(ynat_split_nat_inf … y) -y +[ #n