CoRN.model.ordfields.Qordfield
Definition Qlt_is_strict_order := Build_strictorder
Qlt_trans Qlt_is_antisymmetric_unfolded.
Definition Q_is_COrdField := Build_is_COrdField Q_as_CField
Qlt_is_CSetoid_relation Qle (default_greater Q_as_CField Qlt_is_CSetoid_relation)
(default_grEq Q_as_CField Qle) Qlt_is_strict_order (fun x y E z ⇒ proj2 (Qplus_lt_l x y z) E)
Qmult_lt_0_compat Qlt_gives_apartness Qle_is_not_lt Qgt_is_lt Qge_is_not_gt.
Definition Q_as_COrdField := Build_COrdField _ _ _ _ _ Q_is_COrdField.
Canonical Structure Q_as_COrdField.
Theorem Q_is_archemaedian : ∀ x : Q_as_COrdField, {n : nat | x [<] nring n}.
Proof.
intros x. destruct (Q_is_archemaedian0 x) as [n Pn].
∃ (nat_of_P n). simpl in ×.
rewrite nring_Q. rewrite <-Zpos_eq_Z_of_nat_o_nat_of_P. assumption.
Qed.