]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/contribs/lambdadelta/basic_2/static/sh.ma
- grafiteParser: we added the comand "defined" as a presentational
[helm.git] / matita / matita / contribs / lambdadelta / basic_2 / static / sh.ma
index 72df7717ec4eec724ca02d2d5502c8a5f7a16457..0d09320cc871665e968a39e15b0f3434c31d917a 100644 (file)
@@ -12,7 +12,7 @@
 (*                                                                        *)
 (**************************************************************************)
 
-include "ground_2/arith.ma".
+include "ground_2/lib/arith.ma".
 
 (* SORT HIERARCHY ***********************************************************)
 
@@ -22,15 +22,23 @@ record sh: Type[0] ≝ {
    next_lt: ∀k. k < next k (* strict monotonicity condition *)
 }.
 
+definition sh_N: sh ≝ mk_sh S ….
+// defined.
+
 (* Basic properties *********************************************************)
 
 lemma nexts_le: ∀h,k,l. k ≤ (next h)^l k.
 #h #k #l elim l -l // normalize #l #IHl
 lapply (next_lt h ((next h)^l k)) #H
-lapply (le_to_lt_to_lt … IHl H) -IHl -H /2 width=2/
+lapply (le_to_lt_to_lt … IHl H) -IHl -H /2 width=2 by lt_to_le/
+qed.
+
+lemma nexts_lt: ∀h,k,l. k < (next h)^(l+1) k.
+#h #k #l >iter_SO
+lapply (nexts_le h k l) #H
+@(le_to_lt_to_lt … H) //
 qed.
 
 axiom nexts_dec: ∀h,k1,k2. Decidable (∃l. (next h)^l k1 = k2).
 
 axiom nexts_inj: ∀h,k,l1,l2. (next h)^l1 k = (next h)^l2 k → l1 = l2.
-