proposition: Lemma ge_o_segment (alpha : Ord) : the_ordering_segment (ge alpha) = ordinal.
proof: Proof. intros;apply segment_unbounded. - pattern (the_ordering_segment (ge alpha)); apply iota_ind. + generalize (ordering_segment_ex_unique (ge alpha)); intros. destruct H. destruct H. exists x; split;auto. + destruct 1;eapply ordering_function_seg;eauto. - generalize (ordering_unbounded_unbounded (A:=the_ordering_segment (ge alpha)) (B:=ge alpha) (f:=plus alpha)); intros H. apply H. unfold plus; intros; apply ord_ok. apply Unbounded_ge;auto. Qed.
imports: Coq(Arith Logic.Epsilon Ensembles) ZornsLemma(CountableTypes)