alias symbol "pi1" = "exT \fst".
alias symbol "N" = "ordered set N".
+alias symbol "dependent_pair" = "dependent pair".
lemma increasing_supremum_stabilizes:
∀sg:‡ℕ.∀a:sequence {[sg]}.
a is_increasing →
rewrite > (?:x = O);
[2: cases Hx; lapply (os_le_to_nat_le ?? H1);
apply (symmetric_eq nat O x ?).apply (le_n_O_to_eq x ?).apply (Hletin).
- |1: intros; unfold Type_of_ordered_set in sg;
+ |1: intros; unfold Type_OF_ordered_set in sg a; whd in a:(? %);
lapply (H2 O) as K; lapply (sl2l_ ?? (a O) ≪x,Hx≫ K) as P;
simplify in P:(???%); lapply (le_transitive ??? P H1) as W;
lapply (os_le_to_nat_le ?? W) as R; apply (le_n_O_to_eq (\fst (a O)) R);]
apply (trans_le ??? (le_S_S ?? H8)); rewrite > plus_n_Sm;
apply (le_plus ???? (le_n ?) H9);]]]]
clearbody m; unfold spec in m; clear spec;
+alias symbol "exists" = "CProp exists".
letin find ≝ (
let rec find i u on u : nat ≝
match u with