]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/matita/nlibrary/nat/order.ma
...
[helm.git] / helm / software / matita / nlibrary / nat / order.ma
index 4587e84351aa7ffbd756ca1a73860be6fae27510..fba54a26f7c5b728f60846ffdf1093c26bfe7340 100644 (file)
 (**************************************************************************)
 
 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 ]
@@ -34,3 +41,9 @@ 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 → qpowerclass NAT.
+ #n; napply mk_qpowerclass
+  [ napply {m | m < n}
+  | #x; #x'; #H; nrewrite < H; napply mk_iff; #K; nassumption (* refl non va *) ]
+nqed.