X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;ds=sidebyside;f=helm%2Fsoftware%2Fmatita%2Fnlibrary%2Fnat%2Forder.ma;h=c21cbc64c7bf79fd5a068dcfffac921aa95647f1;hb=cf89508024f0a19023bb1bac343012d54e860d9d;hp=dd8c544ae34727eab6f8cf36a694d842ab60318b;hpb=c6d3537eee27d05490a9555cc7326bc954b356c5;p=helm.git diff --git a/helm/software/matita/nlibrary/nat/order.ma b/helm/software/matita/nlibrary/nat/order.ma index dd8c544ae..c21cbc64c 100644 --- a/helm/software/matita/nlibrary/nat/order.ma +++ b/helm/software/matita/nlibrary/nat/order.ma @@ -13,12 +13,19 @@ (**************************************************************************) include "nat/nat.ma". +include "sets/sets.ma". ninductive le (n: nat) : nat → CProp[0] ≝ le_n: le n n | le_S: ∀m. le n m → le n (S m). -ndefinition lt ≝ λn,m. le (S n) m. +interpretation "natural 'less or equal to'" 'leq x y = (le x y). +interpretation "natural 'neither less nor equal to'" 'nleq x y = (Not (le x y)). + +ndefinition lt ≝ λn,m. S n ≤ m. + +interpretation "natural 'less than'" 'lt x y = (lt x y). +interpretation "natural 'not less than'" 'nless x y = (Not (lt x y)). nlemma le_O_n: ∀n. le O n. #n; nelim n [ napply le_n | #n'; #H; napply le_S; nassumption ] @@ -28,7 +35,15 @@ nqed. naxiom le_S_S: ∀n,m. le n m → le (S n) (S m). naxiom le_S_S_to_le: ∀n,m. le (S n) (S m) → le n m. naxiom lt_Sn_m: ∀n,m. lt (S n) m → lt n m. +naxiom lt_to_le: ∀n,m. lt n m → le n m. +naxiom lt_le_trans: ∀n,m,p. lt n m → le m p → lt n p. nlemma lt_O_Sn: ∀n. lt O (S n). #n; napply le_S_S; napply le_O_n. nqed. + +ndefinition Nat_: nat → ext_powerclass NAT. + #n; napply mk_ext_powerclass + [ napply {m | m < n} + | #x; #x'; #H; nrewrite < H; napply mk_iff; #K; nassumption (* refl non va *) ] +nqed.