Built with Alectryon, running Coq+SerAPI v8.19.0+0.19.3. Bubbles () indicate interactive fragments: hover for details, tap to reveal contents. Use Ctrl+↑Ctrl+↓ to navigate, Ctrl+🖱️ to focus. On Mac, use ⌘ instead of Ctrl.
[Loading ML file number_string_notation_plugin.cmxs (using legacy method) ... done]
LocalOpen Scope type_scope.Sectionlocator.Context (Q : Type).Context `{Qrats : Rationals Q}.Context {Qdec_paths : DecidablePaths Q}.Context {Qtriv : TrivialApart Q}.Context `{!Trichotomy (<)}.Context (F : Type).Context `{Forderedfield : OrderedField F}.Context {Fabs : Abs F}.Context {Farchimedean : ArchimedeanProperty Q F}.Context {Fcomplete : IsComplete Q F}.Context {Qroundup : RoundUpStrict Q}.Context `{Funext} `{Univalence}.(* Assume we have enumerations of the rationals, and of pairs of ordered rationals. *)Context (Q_eq : nat <~> Q).Context (QQpos_eq : nat <~> Q * Qpos Q).Instanceqinc : Cast Q F := rationals_to_field Q F.(* TODO The following two instances should probably come from the `Rationals` instance. *)Context (cast_pres_ordering : StrictlyOrderPreserving qinc)
(qinc_strong_presving : IsSemiRingStrongPreserving qinc).Existing Instancecast_pres_ordering.Existing Instanceqinc_strong_presving.(* Definition of a locator for a fixed real number. *)Definitionlocator (x : F) := forallqr : Q, q < r -> (' q < x) + (x < ' r).(* Alternative definition; see equivalence below *)Recordlocator' (x : F) :=
{ locates_right : forallqr : Q, q < r -> DHProp
; locates_right_true : forallqr : Q, forallnu : q < r, locates_right q r nu -> ' q < x
; locates_right_false : forallqr : Q, forallnu : q < r, ~ locates_right q r nu -> x < ' r
}.Arguments locates_right [x] _ [q] [r] _.Arguments locates_right_true [x] _ [q] [r] _.Arguments locates_right_false [x] _ [q] [r] _.Definitionlocates_left {x : F} (l : locator' x) {qr : Q} : q < r -> DHProp :=
funnu => Build_DHProp (Build_HProp (~ (locates_right l nu))) _.Sectionclassical.Context `{ExcludedMiddle}.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc H1: ExcludedMiddle x: F
locator x
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc H1: ExcludedMiddle x: F
locator x
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc H1: ExcludedMiddle x: F q, r: Q ltqr: q < r
(' q < x) + (x < ' r)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc H1: ExcludedMiddle x: F q, r: Q ltqr: q < r
IsHProp (' q < x)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc H1: ExcludedMiddle x: F q, r: Q ltqr: q < r
' q < x -> (' q < x) + (x < ' r)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc H1: ExcludedMiddle x: F q, r: Q ltqr: q < r
~ (' q < x) -> (' q < x) + (x < ' r)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc H1: ExcludedMiddle x: F q, r: Q ltqr: q < r
IsHProp (' q < x)
exact _.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc H1: ExcludedMiddle x: F q, r: Q ltqr: q < r
' q < x -> (' q < x) + (x < ' r)
exact inl.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc H1: ExcludedMiddle x: F q, r: Q ltqr: q < r
~ (' q < x) -> (' q < x) + (x < ' r)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc H1: ExcludedMiddle x: F q, r: Q ltqr: q < r notlt: ~ (' q < x)
(' q < x) + (x < ' r)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc H1: ExcludedMiddle x: F q, r: Q ltqr: q < r notlt: ~ (' q < x)
x < ' r
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc H1: ExcludedMiddle x: F q, r: Q ltqr: q < r notlt: ~ (' q < x) ltqr': ' q < ' r
x < ' r
exact (nlt_lt_trans notlt ltqr').Qed.Endclassical.Sectionrational.Context (s : Q).
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc s: Q
locator (' s)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc s: Q
locator (' s)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc s, q, r: Q ltqr: q < r
(' q < ' s) + (' s < ' r)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc s, q, r: Q ltqr: q < r ltqs: q < s
(' q < ' s) + (' s < ' r)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc s, q, r: Q ltqr: q < r eqqs: q = s
(' q < ' s) + (' s < ' r)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc s, q, r: Q ltqr: q < r ltsq: s < q
(' q < ' s) + (' s < ' r)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc s, q, r: Q ltqr: q < r ltqs: q < s
(' q < ' s) + (' s < ' r)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc s, q, r: Q ltqr: q < r ltqs: q < s
' q < ' s
apply (strictly_order_preserving _); assumption.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc s, q, r: Q ltqr: q < r eqqs: q = s
(' q < ' s) + (' s < ' r)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc s, q, r: Q ltqr: s < r eqqs: q = s
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc s, q, r: Q ltqr: q < r ltsq: s < q
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc s: Q
locator (' s)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc s: Q
locator (' s)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc s, q, r: Q ltqr: q < r
(' q < ' s) + (' s < ' r)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc s, q, r: Q ltqr: q < r ltsr: s < r
(' q < ' s) + (' s < ' r)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc s, q, r: Q ltqr: q < r eqsr: s = r
(' q < ' s) + (' s < ' r)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc s, q, r: Q ltqr: q < r ltrs: r < s
(' q < ' s) + (' s < ' r)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc s, q, r: Q ltqr: q < r ltsr: s < r
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc s, q, r: Q ltqr: q < r eqsr: s = r
(' q < ' s) + (' s < ' r)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc s, q, r: Q ltqr: q < s eqsr: s = r
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc s, q, r: Q ltqr: q < r ltrs: r < s
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F
locator x -> locator' x
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F
locator x -> locator' x
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x
locator' x
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x
forall (qr : Q) (nu : q < r),
{|
dhprop_hprop := Build_HProp (is_inl (l q r nu));
dec_dhprop := decidable_is_inl (l q r nu)
|} -> ' q < x
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x
forall (qr : Q) (nu : q < r),
~
{|
dhprop_hprop := Build_HProp (is_inl (l q r nu));
dec_dhprop := decidable_is_inl (l q r nu)
|} -> x < ' r
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x
forall (qr : Q) (nu : q < r),
{|
dhprop_hprop := Build_HProp (is_inl (l q r nu));
dec_dhprop := decidable_is_inl (l q r nu)
|} -> ' q < x
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x q, r: Q nu: q < r
{|
dhprop_hprop := Build_HProp (is_inl (l q r nu));
dec_dhprop := decidable_is_inl (l q r nu)
|} -> ' q < x
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x q, r: Q nu: q < r
is_inl (l q r nu) -> ' q < x
apply un_inl.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x
forall (qr : Q) (nu : q < r),
~
{|
dhprop_hprop := Build_HProp (is_inl (l q r nu));
dec_dhprop := decidable_is_inl (l q r nu)
|} -> x < ' r
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x q, r: Q nu: q < r
~
{|
dhprop_hprop := Build_HProp (is_inl (l q r nu));
dec_dhprop := decidable_is_inl (l q r nu)
|} -> x < ' r
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x q, r: Q nu: q < r
~ is_inl (l q r nu) -> x < ' r
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x q, r: Q nu: q < r ltqx: ' q < x
~ is_inl (inl ltqx) -> x < ' r
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x q, r: Q nu: q < r l0: x < ' r
~ is_inl (inr l0) -> x < ' r
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x q, r: Q nu: q < r ltqx: ' q < x
~ is_inl (inl ltqx) -> x < ' r
simpl; intros f; destruct (f tt).
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x q, r: Q nu: q < r l0: x < ' r
~ is_inl (inr l0) -> x < ' r
intros ?; assumption.Defined.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F
locator' x -> locator x
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F
locator' x -> locator x
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l': locator' x q, r: Q nu: q < r
(' q < x) + (x < ' r)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l': locator' x q, r: Q nu: q < r yes: locates_right l' nu
(' q < x) + (x < ' r)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l': locator' x q, r: Q nu: q < r no: ~ locates_right l' nu
(' q < x) + (x < ' r)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l': locator' x q, r: Q nu: q < r yes: locates_right l' nu
(' q < x) + (x < ' r)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l': locator' x q, r: Q nu: q < r yes: locates_right l' nu
' q < x
exact (locates_right_true l' nu yes).
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l': locator' x q, r: Q nu: q < r no: ~ locates_right l' nu
(' q < x) + (x < ' r)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l': locator' x q, r: Q nu: q < r no: ~ locates_right l' nu
x < ' r
exact (locates_right_false l' nu no).Defined.Endlogic.Sectionlogic2.Context {x : F}.Coercionlocator_locator' : locator >-> locator'.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x
locator'_locator l = l
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x
locator'_locator l = l
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x q: Q
locator'_locator l q = l q
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x q, r: Q
locator'_locator l q r = l q r
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x q, r: Q nu: q < r
locator'_locator l q r nu = l q r nu
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x q, r: Q nu: q < r
match
dec
(locates_right
{|
locates_right :=
fun (qr : Q) (nu : q < r) =>
{|
dhprop_hprop :=
Build_HProp (is_inl (l q r nu));
dec_dhprop := decidable_is_inl (l q r nu)
|};
locates_right_true :=
fun (qr : Q) (nu : q < r) =>
un_inl (l q r nu);
locates_right_false :=
fun (qr : Q) (nu : q < r) =>
match
l q r nu as s
return (~ is_inl s -> x < ' r)
with
| inl _ =>
funf : ~ Unit =>
match f tt return (x < ' r) withend
| inr l => fun_ : ~ is_inl (inr l) => l
end
|} nu)
with
| inl t =>
inl
(locates_right_true
{|
locates_right :=
fun (qr : Q) (nu : q < r) =>
{|
dhprop_hprop :=
Build_HProp (is_inl (l q r nu));
dec_dhprop :=
decidable_is_inl (l q r nu)
|};
locates_right_true :=
fun (qr : Q) (nu : q < r) =>
un_inl (l q r nu);
locates_right_false :=
fun (qr : Q) (nu : q < r) =>
match
l q r nu as s
return (~ is_inl s -> x < ' r)
with
| inl _ =>
funf : ~ Unit =>
match f tt return (x < ' r) withend
| inr l => fun_ : ~ is_inl (inr l) => l
end
|} nu t)
| inr n =>
inr
(locates_right_false
{|
locates_right :=
fun (qr : Q) (nu : q < r) =>
{|
dhprop_hprop :=
Build_HProp (is_inl (l q r nu));
dec_dhprop :=
decidable_is_inl (l q r nu)
|};
locates_right_true :=
fun (qr : Q) (nu : q < r) =>
un_inl (l q r nu);
locates_right_false :=
fun (qr : Q) (nu : q < r) =>
match
l q r nu as s
return (~ is_inl s -> x < ' r)
with
| inl _ =>
funf : ~ Unit =>
match f tt return (x < ' r) withend
| inr l => fun_ : ~ is_inl (inr l) => l
end
|} nu n)
end = l q r nu
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x q, r: Q nu: q < r
match dec (is_inl (l q r nu)) with
| inl t => inl (un_inl (l q r nu) t)
| inr n =>
inr
(match
l q r nu as s return (~ is_inl s -> x < ' r)
with
| inl _ =>
funf : ~ Unit =>
match f tt return (x < ' r) withend
| inr l => fun_ : ~ Empty => l
end n)
end = l q r nu
destruct (l q r nu); auto.Qed.Local Definitionlocsig : _ <~> locator' x := ltac:(issig).
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l': locator' x
locator'_locator l' = l'
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l': locator' x
locator'_locator l' = l'
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l': locator' x p: locsig^-1 (locator'_locator l') = locsig^-1 l'
locator'_locator l' = l'
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l': locator' x
locsig^-1 (locator'_locator l') = locsig^-1 l'
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l': locator' x p: locsig^-1 (locator'_locator l') = locsig^-1 l'
locator'_locator l' = l'
exact (equiv_inj (locsig ^-1) p).
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l': locator' x
locsig^-1 (locator'_locator l') = locsig^-1 l'
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l': locator' x
(fun (qr : Q) (nu : q < r) =>
{|
dhprop_hprop :=
Build_HProp (is_inl (locator'_locator l' q r nu));
dec_dhprop :=
decidable_is_inl (locator'_locator l' q r nu)
|};
fun (qr : Q) (nu : q < r) =>
un_inl (locator'_locator l' q r nu);
fun (qr : Q) (nu : q < r) =>
match
locator'_locator l' q r nu as s
return (~ is_inl s -> x < ' r)
with
| inl _ =>
funf : ~ Unit =>
match f tt return (x < ' r) withend
| inr l => fun_ : ~ Empty => l
end) =
(locates_right l'; locates_right_true l';
locates_right_false l')
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F locates_right0: forallqr : Q, q < r -> DHProp locates_right_true0: forall (qr : Q) (nu : q < r),
locates_right0 q r nu -> ' q < x locates_right_false0: forall (qr : Q) (nu : q < r),
~ locates_right0 q r nu ->
x < ' r
(fun (qr : Q) (nu : q < r) =>
{|
dhprop_hprop :=
Build_HProp
(is_inl
match dec (locates_right0 q r nu) with
| inl t =>
inl (locates_right_true0 q r nu t)
| inr n =>
inr (locates_right_false0 q r nu n)
end);
dec_dhprop :=
decidable_is_inl
match dec (locates_right0 q r nu) with
| inl t => inl (locates_right_true0 q r nu t)
| inr n => inr (locates_right_false0 q r nu n)
end
|};
fun (qr : Q) (nu : q < r) =>
un_inl
match dec (locates_right0 q r nu) with
| inl t => inl (locates_right_true0 q r nu t)
| inr n => inr (locates_right_false0 q r nu n)
end;
fun (qr : Q) (nu : q < r) =>
matchmatch dec (locates_right0 q r nu) with
| inl t => inl (locates_right_true0 q r nu t)
| inr n => inr (locates_right_false0 q r nu n)
endas s return (~ is_inl s -> x < ' r)
with
| inl _ =>
funf : ~ Unit =>
match f tt return (x < ' r) withend
| inr l => fun_ : ~ Empty => l
end) =
(locates_right0; locates_right_true0;
locates_right_false0)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F locates_right0: forallqr : Q, q < r -> DHProp locates_right_true0: forall (qr : Q) (nu : q < r),
locates_right0 q r nu -> ' q < x locates_right_false0: forall (qr : Q) (nu : q < r),
~ locates_right0 q r nu ->
x < ' r
(fun (qr : Q) (nu : q < r) =>
{|
dhprop_hprop :=
Build_HProp
(is_inl
match dec (locates_right0 q r nu) with
| inl t =>
inl (locates_right_true0 q r nu t)
| inr n =>
inr (locates_right_false0 q r nu n)
end);
dec_dhprop :=
decidable_is_inl
match dec (locates_right0 q r nu) with
| inl t => inl (locates_right_true0 q r nu t)
| inr n => inr (locates_right_false0 q r nu n)
end
|}) = locates_right0
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F locates_right0: forallqr : Q, q < r -> DHProp locates_right_true0: forall (qr : Q) (nu : q < r),
locates_right0 q r nu -> ' q < x locates_right_false0: forall (qr : Q) (nu : q < r),
~ locates_right0 q r nu ->
x < ' r q, r: Q nu: q < r
{|
dhprop_hprop :=
Build_HProp
(is_inl
match dec (locates_right0 q r nu) with
| inl t => inl (locates_right_true0 q r nu t)
| inr n =>
inr (locates_right_false0 q r nu n)
end);
dec_dhprop :=
decidable_is_inl
match dec (locates_right0 q r nu) with
| inl t => inl (locates_right_true0 q r nu t)
| inr n => inr (locates_right_false0 q r nu n)
end
|} = locates_right0 q r nu
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F locates_right0: forallqr : Q, q < r -> DHProp locates_right_true0: forall (qr : Q) (nu : q < r),
locates_right0 q r nu -> ' q < x locates_right_false0: forall (qr : Q) (nu : q < r),
~ locates_right0 q r nu ->
x < ' r q, r: Q nu: q < r
is_inl
match dec (locates_right0 q r nu) with
| inl t => inl (locates_right_true0 q r nu t)
| inr n => inr (locates_right_false0 q r nu n)
end = locates_right0 q r nu
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F locates_right0: forallqr : Q, q < r -> DHProp locates_right_true0: forall (qr : Q) (nu : q < r),
locates_right0 q r nu -> ' q < x locates_right_false0: forall (qr : Q) (nu : q < r),
~ locates_right0 q r nu ->
x < ' r q, r: Q nu: q < r
is_inl
match dec (locates_right0 q r nu) with
| inl t => inl (locates_right_true0 q r nu t)
| inr n => inr (locates_right_false0 q r nu n)
end = is_inl (dec (locates_right0 q r nu))
destruct (dec (locates_right0 q r nu)); auto.Qed.Definitionequiv_locator_locator' : locator x <~> locator' x
:= equiv_adjointify
locator_locator'
locator'_locator
locator'_locator_locator'
locator_locator'_locator.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F q, r: Q l': locator' x ltqr: q < r
~ (' q < x) -> locates_left l' ltqr
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F q, r: Q l': locator' x ltqr: q < r
~ (' q < x) -> locates_left l' ltqr
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F q, r: Q l': locator' x ltqr: q < r f: locates_right l' ltqr -> ' q < x
~ (' q < x) -> locates_left l' ltqr
exact (not_contrapositive f).Qed.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F q, r: Q l': locator' x ltqr: q < r
x < ' q -> locates_left l' ltqr
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F q, r: Q l': locator' x ltqr: q < r
x < ' q -> locates_left l' ltqr
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F q, r: Q l': locator' x ltqr: q < r ltxq: x < ' q
locates_left l' ltqr
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F q, r: Q l': locator' x ltqr: q < r ltxq: x < ' q
~ (' q < x)
apply lt_flip; assumption.Qed.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F q, r: Q l': locator' x ltqr: q < r
~ (x < ' r) -> locates_right l' ltqr
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F q, r: Q l': locator' x ltqr: q < r
~ (x < ' r) -> locates_right l' ltqr
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F q, r: Q l': locator' x ltqr: q < r nltxr: ~ (x < ' r)
locates_right l' ltqr
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F q, r: Q l': locator' x ltqr: q < r nltxr: ~ (x < ' r)
~~ locates_right l' ltqr
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F q, r: Q l': locator' x ltqr: q < r nltxr: ~ (x < ' r) f: ~ locates_right l' ltqr -> x < ' r
~~ locates_right l' ltqr
exact (not_contrapositive f nltxr).Qed.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F q, r: Q l': locator' x ltqr: q < r
' r < x -> locates_right l' ltqr
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F q, r: Q l': locator' x ltqr: q < r
' r < x -> locates_right l' ltqr
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F q, r: Q l': locator' x ltqr: q < r ltrx: ' r < x
locates_right l' ltqr
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F q, r: Q l': locator' x ltqr: q < r ltrx: ' r < x
~ (x < ' r)
apply lt_flip; assumption.Qed.Endlogic2.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc q: Q eps: Qpos Q
q - ' eps < q
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc q: Q eps: Qpos Q
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc q: Q eps: Qpos Q
q < q + ' eps
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc q: Q eps: Qpos Q
q < q + ' eps
apply (pos_plus_lt_compat_r q ('eps)), eps.Qed.Sectionbounds.(* Given a real with a locator, we can find (integer) bounds. *)Context {x : F}
(l : locator x).Local DefinitionltN1 (q : Q) : q - 1 < q := ltQnegQ q 1.Local DefinitionP_lower (q : Q) : Type := locates_right l (ltN1 q).
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x k: Q
IsHProp (P_lower k)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x k: Q
IsHProp (P_lower k)
apply _.Qed.Local DefinitionltxN1 : x - 1 < x := (fst (pos_minus_lt_compat_r x 1) lt_0_1).
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x
hexists (funq : Q => P_lower q)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x
hexists (funq : Q => P_lower q)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x
hexists (funq : Q => ' q < x)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x hqlt: hexists (funq : Q => ' q < x)
hexists (funq : Q => P_lower q)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x
hexists (funq : Q => ' q < x)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x hex: hexists (funq : Q => x - 1 < ' q < x)
hexists (funq : Q => ' q < x)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x hex: hexists (funq : Q => x - 1 < ' q < x) hex': {q : Q & x - 1 < ' q < x}
hexists (funq : Q => ' q < x)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x hex: hexists (funq : Q => x - 1 < ' q < x) hex': {q : Q & x - 1 < ' q < x}
{q : Q & ' q < x}
destruct hex' as [q [ltx1q ltqx]]; existsq; assumption.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x hqlt: hexists (funq : Q => ' q < x)
hexists (funq : Q => P_lower q)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x hqlt: hexists (funq : Q => ' q < x) hqlt': {q : Q & ' q < x}
hexists (funq : Q => P_lower q)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy canonical_names.lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x hqlt: hexists (funq : Q => ' q < x) q: Q lt: ' q < x
hexists (funq : Q => P_lower q)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy canonical_names.lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x hqlt: hexists (funq : Q => ' q < x) q: Q lt: ' q < x
{q : Q & P_lower q}
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy canonical_names.lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x hqlt: hexists (funq : Q => ' q < x) q: Q lt: ' q < x
P_lower q
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy canonical_names.lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x hqlt: hexists (funq : Q => ' q < x) q: Q lt: ' q < x
locates_right l (ltN1 q)
apply ltrx_locates_right; assumption.Qed.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x
{q : Q & ' q < x}
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x
{q : Q & ' q < x}
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x qP_lower: {q : Q & P_lower q}
{q : Q & ' q < x}
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x q: Q Pq: P_lower q
{q : Q & ' q < x}
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x q: Q Pq: P_lower q
' (q - 1) < x
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x q: Q Pq: locates_right l (ltN1 q)
' (q - 1) < x
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x q: Q Pq: is_inl (l (q - 1) q (ltN1 q))
' (q - 1) < x
exact (un_inl _ Pq).Qed.Local Definitionlt1N (r : Q) : r < r + 1 := ltQposQ r 1.Local DefinitionP_upper (r : Q) : DHProp := locates_left l (lt1N r).
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x k: Q
IsHProp (P_upper k)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x k: Q
IsHProp (P_upper k)
apply _.Qed.Local Definitionltx1N : x < x + 1 := (fst (pos_plus_lt_compat_r x 1) lt_0_1).
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x
hexists (funr : Q => P_upper r)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x
hexists (funr : Q => P_upper r)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x
hexists (funr : Q => x < ' r)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x hqlt: hexists (funr : Q => x < ' r)
hexists (funr : Q => P_upper r)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x
hexists (funr : Q => x < ' r)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x hex: hexists (funq : Q => x < ' q < x + 1)
hexists (funr : Q => x < ' r)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x hex: hexists (funq : Q => x < ' q < x + 1) hex': {q : Q & x < ' q < x + 1}
hexists (funr : Q => x < ' r)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x hex: hexists (funq : Q => x < ' q < x + 1) hex': {q : Q & x < ' q < x + 1}
{r : Q & x < ' r}
destruct hex' as [r [ltxr ltrx1]]; existsr; assumption.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x hqlt: hexists (funr : Q => x < ' r)
hexists (funr : Q => P_upper r)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x hqlt: hexists (funr : Q => x < ' r) hqlt': {r : Q & x < ' r}
hexists (funr : Q => P_upper r)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy canonical_names.lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x hqlt: hexists (funr : Q => x < ' r) r: Q lt: x < ' r
hexists (funr : Q => P_upper r)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy canonical_names.lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x hqlt: hexists (funr : Q => x < ' r) r: Q lt: x < ' r
{r : Q & P_upper r}
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy canonical_names.lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x hqlt: hexists (funr : Q => x < ' r) r: Q lt: x < ' r
P_upper r
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy canonical_names.lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x hqlt: hexists (funr : Q => x < ' r) r: Q lt: x < ' r
locates_left l (lt1N r)
apply ltxq_locates_left; assumption.Qed.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x
{r : Q & x < ' r}
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x
{r : Q & x < ' r}
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x rP_upper: {r : Q & P_upper r}
{r : Q & x < ' r}
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x r: Q Pr: P_upper r
{r : Q & x < ' r}
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x r: Q Pr: P_upper r
x < ' (r + 1)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x r: Q Pr: locates_left l (lt1N r)
x < ' (r + 1)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x r: Q Pr: ~ is_inl (l r (r + 1) (lt1N r))
x < ' (r + 1)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x r: Q l0: ' r < x Pr: ~ is_inl (inl l0)
x < ' (r + 1)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x r: Q l0: x < ' (r + 1) Pr: ~ is_inl (inr l0)
x < ' (r + 1)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x r: Q l0: ' r < x Pr: ~ is_inl (inl l0)
x < ' (r + 1)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x r: Q l0: ' r < x Pr: ~ Unit
x < ' (r + 1)
destruct (Pr tt).
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x r: Q l0: x < ' (r + 1) Pr: ~ is_inl (inr l0)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x epsilon: Qpos Q
{u : Q & ' u < x < ' (u + ' epsilon)}
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x epsilon: Qpos Q
{u : Q & ' u < x < ' (u + ' epsilon)}
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
{u : Q & ' u < x < ' (u + ' epsilon)}
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
0 < ' epsilon / 3
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0: 0 < ' epsilon / 3
{u : Q & ' u < x < ' (u + ' epsilon)}
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
0 < ' epsilon / 3
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
0 < ' epsilon
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
0 < / 3
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
0 < ' epsilon
apply epsilon.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n
0 < / 3
apply pos_dec_recip_compat, lt_0_3.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0: 0 < ' epsilon / 3
{u : Q & ' u < x < ' (u + ' epsilon)}
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0: 0 < ' epsilon / 3
0 < 3 / ' epsilon
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0: 0 < ' epsilon / 3 lt0': 0 < 3 / ' epsilon
{u : Q & ' u < x < ' (u + ' epsilon)}
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0: 0 < ' epsilon / 3
0 < 3 / ' epsilon
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0: 0 < ' epsilon / 3
0 < 3
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0: 0 < ' epsilon / 3
0 < / ' epsilon
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0: 0 < ' epsilon / 3
0 < 3
exact lt_0_3.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0: 0 < ' epsilon / 3
0 < / ' epsilon
apply pos_dec_recip_compat, epsilon.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0: 0 < ' epsilon / 3 lt0': 0 < 3 / ' epsilon
{u : Q & ' u < x < ' (u + ' epsilon)}
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0: 0 < ' epsilon / 3 lt0': 0 < 3 / ' epsilon ap30: (3 : Q) <> 0
{u : Q & ' u < x < ' (u + ' epsilon)}
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F H: Funext cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0': 0 < 3 / ' epsilon ap30: (3 : Q) <> 0
{u : Q & ' u < x < ' (u + ' epsilon)}
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F H: Funext cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0': 0 < 3 / ' epsilon ap30: (3 : Q) <> 0
r < q + (' n * ' epsilon) / 3
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F H: Funext cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0': 0 < 3 / ' epsilon ap30: (3 : Q) <> 0 ltn3eps: r < q + (' n * ' epsilon) / 3
{u : Q & ' u < x < ' (u + ' epsilon)}
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F H: Funext cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0': 0 < 3 / ' epsilon ap30: (3 : Q) <> 0
r < q + (' n * ' epsilon) / 3
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F H: Funext cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0': 0 < 3 / ' epsilon ap30: (3 : Q) <> 0
r < (' n * ' epsilon) / 3 + q
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F H: Funext cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0': 0 < 3 / ' epsilon ap30: (3 : Q) <> 0
r - q < (' n * ' epsilon) / 3
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F H: Funext cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0': 0 < 3 / ' epsilon ap30: (3 : Q) <> 0
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F H: Funext cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0': 0 < 3 / ' epsilon ap30: (3 : Q) <> 0
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F H: Funext cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0': 0 < 3 / ' epsilon ap30: (3 : Q) <> 0
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F H: Funext cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0': 0 < 3 / ' epsilon ap30: (3 : Q) <> 0
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F H: Funext cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0': 0 < 3 / ' epsilon ap30: (3 : Q) <> 0
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F H: Funext cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0': 0 < 3 / ' epsilon ap30: (3 : Q) <> 0
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F H: Funext cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0': 0 < 3 / ' epsilon ap30: (3 : Q) <> 0
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F H: Funext cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0': 0 < 3 / ' epsilon ap30: (3 : Q) <> 0
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F H: Funext cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0': 0 < 3 / ' epsilon ap30: (3 : Q) <> 0
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F H: Funext cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0': 0 < 3 / ' epsilon ap30: (3 : Q) <> 0 apepsilon0: ' epsilon <> 0
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F H: Funext cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0': 0 < 3 / ' epsilon ap30: (3 : Q) <> 0 apepsilon0: ' epsilon <> 0
3 / ' epsilon * (r - q) < ' n * 1
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F H: Funext cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0': 0 < 3 / ' epsilon ap30: (3 : Q) <> 0 apepsilon0: ' epsilon <> 0
3 / ' epsilon * (r - q) < ' n
assumption.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F H: Funext cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0': 0 < 3 / ' epsilon ap30: (3 : Q) <> 0 ltn3eps: r < q + (' n * ' epsilon) / 3
{u : Q & ' u < x < ' (u + ' epsilon)}
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F H: Funext cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0': 0 < 3 / ' epsilon ap30: (3 : Q) <> 0 ltn3eps: r < q + (' n * ' epsilon) / 3 grid:= funk : Fin n.+3 =>
q + (' (' k) - 1) * (' epsilon / 3) : Q: Fin n.+3 -> Q
{u : Q & ' u < x < ' (u + ' epsilon)}
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F H: Funext cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0': 0 < 3 / ' epsilon ap30: (3 : Q) <> 0 ltn3eps: r < q + (' n * ' epsilon) / 3 grid:= funk : Fin n.+3 =>
q + (' (' k) - 1) * (' epsilon / 3) : Q: Fin n.+3 -> Q
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F H: Funext cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0': 0 < 3 / ' epsilon ap30: (3 : Q) <> 0 ltn3eps: r < q + (' n * ' epsilon) / 3 grid:= funk : Fin n.+3 =>
q + (' (' k) - 1) * (' epsilon / 3) : Q: Fin n.+3 -> Q k: Fin n.+2
grid (fin_incl k) < grid (fsucc k)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F H: Funext cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0': 0 < 3 / ' epsilon ap30: (3 : Q) <> 0 ltn3eps: r < q + (' n * ' epsilon) / 3 grid:= funk : Fin n.+3 =>
q + (' (' k) - 1) * (' epsilon / 3) : Q: Fin n.+3 -> Q k: Fin n.+2
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F H: Funext cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0': 0 < 3 / ' epsilon ap30: (3 : Q) <> 0 ltn3eps: r < q + (' n * ' epsilon) / 3 grid:= funk : Fin n.+3 =>
q + (' (' k) - 1) * (' epsilon / 3) : Q: Fin n.+3 -> Q k: Fin n.+2
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F H: Funext cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0': 0 < 3 / ' epsilon ap30: (3 : Q) <> 0 ltn3eps: r < q + (' n * ' epsilon) / 3 grid:= funk : Fin n.+3 =>
q + (' (' k) - 1) * (' epsilon / 3) : Q: Fin n.+3 -> Q k: Fin n.+2
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F H: Funext cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0': 0 < 3 / ' epsilon ap30: (3 : Q) <> 0 ltn3eps: r < q + (' n * ' epsilon) / 3 grid:= funk : Fin n.+3 =>
q + (' (' k) - 1) * (' epsilon / 3) : Q: Fin n.+3 -> Q k: Fin n.+2
' (' k).+1%nat = ' (' k) + 1
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F H: Funext cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0': 0 < 3 / ' epsilon ap30: (3 : Q) <> 0 ltn3eps: r < q + (' n * ' epsilon) / 3 grid:= funk : Fin n.+3 =>
q + (' (' k) - 1) * (' epsilon / 3) : Q: Fin n.+3 -> Q k: Fin n.+2
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F H: Funext cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0': 0 < 3 / ' epsilon ap30: (3 : Q) <> 0 ltn3eps: r < q + (' n * ' epsilon) / 3 grid:= funk : Fin n.+3 =>
q + (' (' k) - 1) * (' epsilon / 3) : Q: Fin n.+3 -> Q k: Fin n.+2
' (' k).+1%nat = ' (' k) + 1
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F H: Funext cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0': 0 < 3 / ' epsilon ap30: (3 : Q) <> 0 ltn3eps: r < q + (' n * ' epsilon) / 3 grid:= funk : Fin n.+3 =>
q + (' (' k) - 1) * (' epsilon / 3) : Q: Fin n.+3 -> Q k: Fin n.+2
' (' k + 1) = ' (' k) + 1
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F H: Funext cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0': 0 < 3 / ' epsilon ap30: (3 : Q) <> 0 ltn3eps: r < q + (' n * ' epsilon) / 3 grid:= funk : Fin n.+3 =>
q + (' (' k) - 1) * (' epsilon / 3) : Q: Fin n.+3 -> Q k: Fin n.+2
' (' k) + ' 1 = ' (' k) + 1
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F H: Funext cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0': 0 < 3 / ' epsilon ap30: (3 : Q) <> 0 ltn3eps: r < q + (' n * ' epsilon) / 3 grid:= funk : Fin n.+3 =>
q + (' (' k) - 1) * (' epsilon / 3) : Q: Fin n.+3 -> Q k: Fin n.+2
' (' k) + 1 = ' (' k) + 1
reflexivity.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F H: Funext cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0': 0 < 3 / ' epsilon ap30: (3 : Q) <> 0 ltn3eps: r < q + (' n * ' epsilon) / 3 grid:= funk : Fin n.+3 =>
q + (' (' k) - 1) * (' epsilon / 3) : Q: Fin n.+3 -> Q k: Fin n.+2
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F H: Funext cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0': 0 < 3 / ' epsilon ap30: (3 : Q) <> 0 ltn3eps: r < q + (' n * ' epsilon) / 3 grid:= funk : Fin n.+3 =>
q + (' (' k) - 1) * (' epsilon / 3) : Q: Fin n.+3 -> Q k: Fin n.+2
' (' k) + 1 - 1 = ' (' k) - 1 + 1
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F H: Funext cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0': 0 < 3 / ' epsilon ap30: (3 : Q) <> 0 ltn3eps: r < q + (' n * ' epsilon) / 3 grid:= funk : Fin n.+3 =>
q + (' (' k) - 1) * (' epsilon / 3) : Q: Fin n.+3 -> Q k: Fin n.+2
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F H: Funext cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0': 0 < 3 / ' epsilon ap30: (3 : Q) <> 0 ltn3eps: r < q + (' n * ' epsilon) / 3 grid:= funk : Fin n.+3 =>
q + (' (' k) - 1) * (' epsilon / 3) : Q: Fin n.+3 -> Q k: Fin n.+2
' (' k) + 1 - 1 = ' (' k) - 1 + 1
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F H: Funext cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0': 0 < 3 / ' epsilon ap30: (3 : Q) <> 0 ltn3eps: r < q + (' n * ' epsilon) / 3 grid:= funk : Fin n.+3 =>
q + (' (' k) - 1) * (' epsilon / 3) : Q: Fin n.+3 -> Q k: Fin n.+2
' (' k) + (1 - 1) = ' (' k) - 1 + 1
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F H: Funext cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0': 0 < 3 / ' epsilon ap30: (3 : Q) <> 0 ltn3eps: r < q + (' n * ' epsilon) / 3 grid:= funk : Fin n.+3 =>
q + (' (' k) - 1) * (' epsilon / 3) : Q: Fin n.+3 -> Q k: Fin n.+2
' (' k) + (-1 + 1) = ' (' k) - 1 + 1
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F H: Funext cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0': 0 < 3 / ' epsilon ap30: (3 : Q) <> 0 ltn3eps: r < q + (' n * ' epsilon) / 3 grid:= funk : Fin n.+3 =>
q + (' (' k) - 1) * (' epsilon / 3) : Q: Fin n.+3 -> Q k: Fin n.+2
' (' k) - 1 + 1 = ' (' k) - 1 + 1
reflexivity.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F H: Funext cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0': 0 < 3 / ' epsilon ap30: (3 : Q) <> 0 ltn3eps: r < q + (' n * ' epsilon) / 3 grid:= funk : Fin n.+3 =>
q + (' (' k) - 1) * (' epsilon / 3) : Q: Fin n.+3 -> Q k: Fin n.+2
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F H: Funext cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0': 0 < 3 / ' epsilon ap30: (3 : Q) <> 0 ltn3eps: r < q + (' n * ' epsilon) / 3 grid:= funk : Fin n.+3 =>
q + (' (' k) - 1) * (' epsilon / 3) : Q: Fin n.+3 -> Q lt_grid: forallk : Fin n.+2,
grid (fin_incl k) < grid (fsucc k) P:= funk : Fin n.+2 => locates_right l (lt_grid k): Fin n.+2 -> DHProp left_true: P fin_zero right_false: ~ P fin_last u: Fin n.+1 Pltux: locates_right l (lt_grid (fin_incl u)) Pltxueps: ~ locates_right l (lt_grid (fsucc u))
' grid (fin_incl (fin_incl u)) < x
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F H: Funext cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0': 0 < 3 / ' epsilon ap30: (3 : Q) <> 0 ltn3eps: r < q + (' n * ' epsilon) / 3 grid:= funk : Fin n.+3 =>
q + (' (' k) - 1) * (' epsilon / 3) : Q: Fin n.+3 -> Q lt_grid: forallk : Fin n.+2,
grid (fin_incl k) < grid (fsucc k) P:= funk : Fin n.+2 => locates_right l (lt_grid k): Fin n.+2 -> DHProp left_true: P fin_zero right_false: ~ P fin_last u: Fin n.+1 Pltux: locates_right l (lt_grid (fin_incl u)) Pltxueps: ~ locates_right l (lt_grid (fsucc u))
x < ' (grid (fin_incl (fin_incl u)) + ' epsilon)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F H: Funext cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0': 0 < 3 / ' epsilon ap30: (3 : Q) <> 0 ltn3eps: r < q + (' n * ' epsilon) / 3 grid:= funk : Fin n.+3 =>
q + (' (' k) - 1) * (' epsilon / 3) : Q: Fin n.+3 -> Q lt_grid: forallk : Fin n.+2,
grid (fin_incl k) < grid (fsucc k) P:= funk : Fin n.+2 => locates_right l (lt_grid k): Fin n.+2 -> DHProp left_true: P fin_zero right_false: ~ P fin_last u: Fin n.+1 Pltux: locates_right l (lt_grid (fin_incl u)) Pltxueps: ~ locates_right l (lt_grid (fsucc u))
' grid (fin_incl (fin_incl u)) < x
exact (locates_right_true l (lt_grid (fin_incl u)) Pltux).
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F H: Funext cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q ltqx: ' q < x r: Q ltxr: x < ' r n: nat lt3rqn: 3 / ' epsilon * (r - q) <
naturals_to_semiring nat Q n lt0': 0 < 3 / ' epsilon ap30: (3 : Q) <> 0 ltn3eps: r < q + (' n * ' epsilon) / 3 grid:= funk : Fin n.+3 =>
q + (' (' k) - 1) * (' epsilon / 3) : Q: Fin n.+3 -> Q lt_grid: forallk : Fin n.+2,
grid (fin_incl k) < grid (fsucc k) P:= funk : Fin n.+2 => locates_right l (lt_grid k): Fin n.+2 -> DHProp left_true: P fin_zero right_false: ~ P fin_last u: Fin n.+1 Pltux: locates_right l (lt_grid (fin_incl u)) Pltxueps: ~ locates_right l (lt_grid (fsucc u))
x < ' (grid (fin_incl (fin_incl u)) + ' epsilon)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q n: nat ap30: (3 : Q) <> 0 grid:= funk : Fin n.+3 =>
q + (' (' k) - 1) * (' epsilon / 3) : Q: Fin n.+3 -> Q lt_grid: forallk : Fin n.+2,
grid (fin_incl k) < grid (fsucc k) u: Fin n.+1 Pltxueps: ~ locates_right l (lt_grid (fsucc u))
x < ' (grid (fin_incl (fin_incl u)) + ' epsilon)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q n: nat ap30: (3 : Q) <> 0 grid:= funk : Fin n.+3 =>
q + (' (' k) - 1) * (' epsilon / 3) : Q: Fin n.+3 -> Q lt_grid: forallk : Fin n.+2,
grid (fin_incl k) < grid (fsucc k) u: Fin n.+1 Pltxueps: ~ locates_right l (lt_grid (fsucc u)) ltxbla:= locates_right_false l (lt_grid (fsucc u))
Pltxueps: x < ' grid (fsucc (fsucc u))
x < ' (grid (fin_incl (fin_incl u)) + ' epsilon)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q n: nat ap30: 3 <> 0 grid:= funk : Fin n.+3 =>
q + (' (' k) - 1) * (' epsilon / 3): Fin n.+3 -> Q lt_grid: forallk : Fin n.+2,
q + (' (' fin_incl k) - 1) * (' epsilon / 3) <
q + (' (' fsucc k) - 1) * (' epsilon / 3) u: Fin n.+1 Pltxueps: ~ locates_right l (lt_grid (fsucc u)) ltxbla:= locates_right_false l (lt_grid (fsucc u))
Pltxueps: x <
' (q +
(' (' fsucc (fsucc u)) - 1) *
(' epsilon / 3))
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q n: nat ap30: 3 <> 0 grid:= funk : Fin n.+3 =>
q + (' (' k) - 1) * (' epsilon / 3): Fin n.+3 -> Q lt_grid: forallk : Fin n.+2,
q + (' (' fin_incl k) - 1) * (' epsilon / 3) <
q + (' (' fsucc k) - 1) * (' epsilon / 3) u: Fin n.+1 Pltxueps: ~ locates_right l (lt_grid (fsucc u)) ltxbla: x <
' (q + (' fin_to_nat u - 1) * (' epsilon / 3) +
2 * (' epsilon / 3))
2 * (' epsilon / 3) < ' epsilon
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q n: nat ap30: 3 <> 0 grid:= funk : Fin n.+3 =>
q + (' (' k) - 1) * (' epsilon / 3): Fin n.+3 -> Q lt_grid: forallk : Fin n.+2,
q + (' (' fin_incl k) - 1) * (' epsilon / 3) <
q + (' (' fsucc k) - 1) * (' epsilon / 3) u: Fin n.+1 Pltxueps: ~ locates_right l (lt_grid (fsucc u)) ltxbla: x <
' (q + (' fin_to_nat u - 1) * (' epsilon / 3) +
2 * (' epsilon / 3))
(2 * ' epsilon) / 3 < ' epsilon
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q n: nat ap30: 3 <> 0 grid:= funk : Fin n.+3 =>
q + (' (' k) - 1) * (' epsilon / 3): Fin n.+3 -> Q lt_grid: forallk : Fin n.+2,
q + (' (' fin_incl k) - 1) * (' epsilon / 3) <
q + (' (' fsucc k) - 1) * (' epsilon / 3) u: Fin n.+1 Pltxueps: ~ locates_right l (lt_grid (fsucc u)) ltxbla: x <
' (q + (' fin_to_nat u - 1) * (' epsilon / 3) +
2 * (' epsilon / 3))
(' epsilon * 2) / 3 < ' epsilon
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q n: nat ap30: 3 <> 0 grid:= funk : Fin n.+3 =>
q + (' (' k) - 1) * (' epsilon / 3): Fin n.+3 -> Q lt_grid: forallk : Fin n.+2,
q + (' (' fin_incl k) - 1) * (' epsilon / 3) <
q + (' (' fsucc k) - 1) * (' epsilon / 3) u: Fin n.+1 Pltxueps: ~ locates_right l (lt_grid (fsucc u)) ltxbla: x <
' (q + (' fin_to_nat u - 1) * (' epsilon / 3) +
2 * (' epsilon / 3))
(' epsilon * 1 * 2) / 3 < ' epsilon * 1
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q n: nat ap30: 3 <> 0 grid:= funk : Fin n.+3 =>
q + (' (' k) - 1) * (' epsilon / 3): Fin n.+3 -> Q lt_grid: forallk : Fin n.+2,
q + (' (' fin_incl k) - 1) * (' epsilon / 3) <
q + (' (' fsucc k) - 1) * (' epsilon / 3) u: Fin n.+1 Pltxueps: ~ locates_right l (lt_grid (fsucc u)) ltxbla: x <
' (q + (' fin_to_nat u - 1) * (' epsilon / 3) +
2 * (' epsilon / 3))
(' epsilon * (1 * 2)) / 3 < ' epsilon * 1
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q n: nat ap30: 3 <> 0 grid:= funk : Fin n.+3 =>
q + (' (' k) - 1) * (' epsilon / 3): Fin n.+3 -> Q lt_grid: forallk : Fin n.+2,
q + (' (' fin_incl k) - 1) * (' epsilon / 3) <
q + (' (' fsucc k) - 1) * (' epsilon / 3) u: Fin n.+1 Pltxueps: ~ locates_right l (lt_grid (fsucc u)) ltxbla: x <
' (q + (' fin_to_nat u - 1) * (' epsilon / 3) +
2 * (' epsilon / 3))
(' epsilon * 2) / 3 < ' epsilon * 1
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q n: nat ap30: 3 <> 0 grid:= funk : Fin n.+3 =>
q + (' (' k) - 1) * (' epsilon / 3): Fin n.+3 -> Q lt_grid: forallk : Fin n.+2,
q + (' (' fin_incl k) - 1) * (' epsilon / 3) <
q + (' (' fsucc k) - 1) * (' epsilon / 3) u: Fin n.+1 Pltxueps: ~ locates_right l (lt_grid (fsucc u)) ltxbla: x <
' (q + (' fin_to_nat u - 1) * (' epsilon / 3) +
2 * (' epsilon / 3))
' epsilon * (2 / 3) < ' epsilon * 1
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q n: nat ap30: 3 <> 0 grid:= funk : Fin n.+3 =>
q + (' (' k) - 1) * (' epsilon / 3): Fin n.+3 -> Q lt_grid: forallk : Fin n.+2,
q + (' (' fin_incl k) - 1) * (' epsilon / 3) <
q + (' (' fsucc k) - 1) * (' epsilon / 3) u: Fin n.+1 Pltxueps: ~ locates_right l (lt_grid (fsucc u)) ltxbla: x <
' (q + (' fin_to_nat u - 1) * (' epsilon / 3) +
2 * (' epsilon / 3))
PropHolds (0 < ' epsilon)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q n: nat ap30: 3 <> 0 grid:= funk : Fin n.+3 =>
q + (' (' k) - 1) * (' epsilon / 3): Fin n.+3 -> Q lt_grid: forallk : Fin n.+2,
q + (' (' fin_incl k) - 1) * (' epsilon / 3) <
q + (' (' fsucc k) - 1) * (' epsilon / 3) u: Fin n.+1 Pltxueps: ~ locates_right l (lt_grid (fsucc u)) ltxbla: x <
' (q + (' fin_to_nat u - 1) * (' epsilon / 3) +
2 * (' epsilon / 3))
2 / 3 < 1
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q n: nat ap30: 3 <> 0 grid:= funk : Fin n.+3 =>
q + (' (' k) - 1) * (' epsilon / 3): Fin n.+3 -> Q lt_grid: forallk : Fin n.+2,
q + (' (' fin_incl k) - 1) * (' epsilon / 3) <
q + (' (' fsucc k) - 1) * (' epsilon / 3) u: Fin n.+1 Pltxueps: ~ locates_right l (lt_grid (fsucc u)) ltxbla: x <
' (q + (' fin_to_nat u - 1) * (' epsilon / 3) +
2 * (' epsilon / 3))
PropHolds (0 < ' epsilon)
apply epsilon.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q n: nat ap30: 3 <> 0 grid:= funk : Fin n.+3 =>
q + (' (' k) - 1) * (' epsilon / 3): Fin n.+3 -> Q lt_grid: forallk : Fin n.+2,
q + (' (' fin_incl k) - 1) * (' epsilon / 3) <
q + (' (' fsucc k) - 1) * (' epsilon / 3) u: Fin n.+1 Pltxueps: ~ locates_right l (lt_grid (fsucc u)) ltxbla: x <
' (q + (' fin_to_nat u - 1) * (' epsilon / 3) +
2 * (' epsilon / 3))
2 / 3 < 1
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q n: nat ap30: 3 <> 0 grid:= funk : Fin n.+3 =>
q + (' (' k) - 1) * (' epsilon / 3): Fin n.+3 -> Q lt_grid: forallk : Fin n.+2,
q + (' (' fin_incl k) - 1) * (' epsilon / 3) <
q + (' (' fsucc k) - 1) * (' epsilon / 3) u: Fin n.+1 Pltxueps: ~ locates_right l (lt_grid (fsucc u)) ltxbla: x <
' (q + (' fin_to_nat u - 1) * (' epsilon / 3) +
2 * (' epsilon / 3))
2 / 3 * 3 < 1 * 3
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q n: nat ap30: 3 <> 0 grid:= funk : Fin n.+3 =>
q + (' (' k) - 1) * (' epsilon / 3): Fin n.+3 -> Q lt_grid: forallk : Fin n.+2,
q + (' (' fin_incl k) - 1) * (' epsilon / 3) <
q + (' (' fsucc k) - 1) * (' epsilon / 3) u: Fin n.+1 Pltxueps: ~ locates_right l (lt_grid (fsucc u)) ltxbla: x <
' (q + (' fin_to_nat u - 1) * (' epsilon / 3) +
2 * (' epsilon / 3))
2 * (/ 3 * 3) < 1 * 3
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q n: nat ap30: 3 <> 0 grid:= funk : Fin n.+3 =>
q + (' (' k) - 1) * (' epsilon / 3): Fin n.+3 -> Q lt_grid: forallk : Fin n.+2,
q + (' (' fin_incl k) - 1) * (' epsilon / 3) <
q + (' (' fsucc k) - 1) * (' epsilon / 3) u: Fin n.+1 Pltxueps: ~ locates_right l (lt_grid (fsucc u)) ltxbla: x <
' (q + (' fin_to_nat u - 1) * (' epsilon / 3) +
2 * (' epsilon / 3))
2 * (3 / 3) < 1 * 3
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q n: nat ap30: 3 <> 0 grid:= funk : Fin n.+3 =>
q + (' (' k) - 1) * (' epsilon / 3): Fin n.+3 -> Q lt_grid: forallk : Fin n.+2,
q + (' (' fin_incl k) - 1) * (' epsilon / 3) <
q + (' (' fsucc k) - 1) * (' epsilon / 3) u: Fin n.+1 Pltxueps: ~ locates_right l (lt_grid (fsucc u)) ltxbla: x <
' (q + (' fin_to_nat u - 1) * (' epsilon / 3) +
2 * (' epsilon / 3))
2 * 1 < 1 * 3
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q n: nat ap30: 3 <> 0 grid:= funk : Fin n.+3 =>
q + (' (' k) - 1) * (' epsilon / 3): Fin n.+3 -> Q lt_grid: forallk : Fin n.+2,
q + (' (' fin_incl k) - 1) * (' epsilon / 3) <
q + (' (' fsucc k) - 1) * (' epsilon / 3) u: Fin n.+1 Pltxueps: ~ locates_right l (lt_grid (fsucc u)) ltxbla: x <
' (q + (' fin_to_nat u - 1) * (' epsilon / 3) +
2 * (' epsilon / 3))
2 < 1 * 3
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F cast_pres_ordering: StrictlyOrderPreserving qinc x: F l: locator x epsilon: Qpos Q q: Q n: nat ap30: 3 <> 0 grid:= funk : Fin n.+3 =>
q + (' (' k) - 1) * (' epsilon / 3): Fin n.+3 -> Q lt_grid: forallk : Fin n.+2,
q + (' (' fin_incl k) - 1) * (' epsilon / 3) <
q + (' (' fsucc k) - 1) * (' epsilon / 3) u: Fin n.+1 Pltxueps: ~ locates_right l (lt_grid (fsucc u)) ltxbla: x <
' (q + (' fin_to_nat u - 1) * (' epsilon / 3) +
2 * (' epsilon / 3))
2 < 3
exact lt_2_3.Qed.Endbounds.Sectionarch_struct.Context {xy : F}
(l : locator x)
(m : locator y)
(ltxy : x < y).Local DefinitionP (qeps' : Q * Qpos Q) : Type :=
match qeps' with
| (q' , eps') =>
(prod
(locates_left l (ltQnegQ q' eps'))
(locates_right m (ltQposQ q' eps')))
end.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y qeps': (Q * Qpos Q)%type
IsHProp (P qeps')
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y qeps': (Q * Qpos Q)%type
IsHProp (P qeps')
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y q: Q eps': Qpos Q
IsHProp (P (q, eps'))
exact istrunc_prod.Qed.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y qeps': (Q * Qpos Q)%type
Decidable (P qeps')
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y qeps': (Q * Qpos Q)%type
Decidable (P qeps')
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y q: Q eps': Qpos Q
Decidable (P (q, eps'))
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y q: Q eps': Qpos Q
Decidable
(locates_left l (ltQnegQ q eps') *
locates_right m (ltQposQ q eps'))
exact _.Qed.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y
hexists P
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y
hexists P
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y hs: hexists (funq : Q => x < ' q < y)
hexists P
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y hs: hexists (funq : Q => x < ' q < y) s: Q ltxs: x < ' s ltsy: ' s < y
hexists P
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y hs: hexists (funq : Q => x < ' q < y) s: Q ltxs: x < ' s ltsy: ' s < y ht: hexists (funq : Q => ' s < ' q < y)
hexists P
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y hs: hexists (funq : Q => x < ' q < y) s: Q ltxs: x < ' s ltsy: ' s < y ht: hexists (funq : Q => ' s < ' q < y) t: Q ltst': ' s < ' t ltty: ' t < y
hexists P
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y hs: hexists (funq : Q => x < ' q < y) s: Q ltxs: x < ' s ltsy: ' s < y ht: hexists (funq : Q => ' s < ' q < y) t: Q ltst': ' s < ' t ltty: ' t < y q:= (t + s) / 2: Q
hexists P
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y hs: hexists (funq : Q => x < ' q < y) s: Q ltxs: x < ' s ltsy: ' s < y ht: hexists (funq : Q => ' s < ' q < y) t: Q ltst': ' s < ' t ltty: ' t < y q:= (t + s) / 2: Q
s < t
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y hs: hexists (funq : Q => x < ' q < y) s: Q ltxs: x < ' s ltsy: ' s < y ht: hexists (funq : Q => ' s < ' q < y) t: Q ltst': ' s < ' t ltty: ' t < y q:= (t + s) / 2: Q ltst: s < t
hexists P
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y hs: hexists (funq : Q => x < ' q < y) s: Q ltxs: x < ' s ltsy: ' s < y ht: hexists (funq : Q => ' s < ' q < y) t: Q ltst': ' s < ' t ltty: ' t < y q:= (t + s) / 2: Q
s < t
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y hs: hexists (funq : Q => x < ' q < y) s: Q ltxs: x < ' s ltsy: ' s < y ht: hexists (funq : Q => ' s < ' q < y) t: Q ltst': ' s < ' t ltty: ' t < y q:= (t + s) / 2: Q
s < t
exact (strictly_order_reflecting _ _ _ ltst').
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y hs: hexists (funq : Q => x < ' q < y) s: Q ltxs: x < ' s ltsy: ' s < y ht: hexists (funq : Q => ' s < ' q < y) t: Q ltst': ' s < ' t ltty: ' t < y q:= (t + s) / 2: Q ltst: s < t
hexists P
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y hs: hexists (funq : Q => x < ' q < y) s: Q ltxs: x < ' s ltsy: ' s < y ht: hexists (funq : Q => ' s < ' q < y) t: Q ltst': ' s < ' t ltty: ' t < y q:= (t + s) / 2: Q ltst: s < t epsilon:= Qpos_diff s t ltst / 2: Qpos Q
hexists P
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y hs: hexists (funq : Q => x < ' q < y) s: Q ltxs: x < ' s ltsy: ' s < y ht: hexists (funq : Q => ' s < ' q < y) t: Q ltst': ' s < ' t ltty: ' t < y q:= (t + s) / 2: Q ltst: s < t epsilon:= Qpos_diff s t ltst / 2: Qpos Q
{x : _ & P x}
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y hs: hexists (funq : Q => x < ' q < y) s: Q ltxs: x < ' s ltsy: ' s < y ht: hexists (funq : Q => ' s < ' q < y) t: Q ltst': ' s < ' t ltty: ' t < y q:= (t + s) / 2: Q ltst: s < t epsilon:= Qpos_diff s t ltst / 2: Qpos Q
P (q, epsilon)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y hs: hexists (funq : Q => x < ' q < y) s: Q ltxs: x < ' s ltsy: ' s < y ht: hexists (funq : Q => ' s < ' q < y) t: Q ltst': ' s < ' t ltty: ' t < y q:= (t + s) / 2: Q ltst: s < t epsilon:= Qpos_diff s t ltst / 2: Qpos Q
locates_left l (ltQnegQ q epsilon)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y hs: hexists (funq : Q => x < ' q < y) s: Q ltxs: x < ' s ltsy: ' s < y ht: hexists (funq : Q => ' s < ' q < y) t: Q ltst': ' s < ' t ltty: ' t < y q:= (t + s) / 2: Q ltst: s < t epsilon:= Qpos_diff s t ltst / 2: Qpos Q
locates_right m (ltQposQ q epsilon)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y hs: hexists (funq : Q => x < ' q < y) s: Q ltxs: x < ' s ltsy: ' s < y ht: hexists (funq : Q => ' s < ' q < y) t: Q ltst': ' s < ' t ltty: ' t < y q:= (t + s) / 2: Q ltst: s < t epsilon:= Qpos_diff s t ltst / 2: Qpos Q
locates_left l (ltQnegQ q epsilon)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y hs: hexists (funq : Q => x < ' q < y) s: Q ltxs: x < ' s ltsy: ' s < y ht: hexists (funq : Q => ' s < ' q < y) t: Q ltst': ' s < ' t ltty: ' t < y q:= (t + s) / 2: Q ltst: s < t epsilon:= Qpos_diff s t ltst / 2: Qpos Q
x < ' (q - ' epsilon)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y hs: hexists (funq : Q => x < ' q < y) s: Q ltxs: x < ' s ltsy: ' s < y ht: hexists (funq : Q => ' s < ' q < y) t: Q ltst': ' s < ' t ltty: ' t < y q:= (t + s) / 2: Q ltst: s < t epsilon:= Qpos_diff s t ltst / 2: Qpos Q
q - ' epsilon = s
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y hs: hexists (funq : Q => x < ' q < y) s: Q ltxs: x < ' s ltsy: ' s < y ht: hexists (funq : Q => ' s < ' q < y) t: Q ltst': ' s < ' t ltty: ' t < y q:= (t + s) / 2: Q ltst: s < t epsilon:= Qpos_diff s t ltst / 2: Qpos Q
x < ' s
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y hs: hexists (funq : Q => x < ' q < y) s: Q ltxs: x < ' s ltsy: ' s < y ht: hexists (funq : Q => ' s < ' q < y) t: Q ltst': ' s < ' t ltty: ' t < y q:= (t + s) / 2: Q ltst: s < t epsilon:= Qpos_diff s t ltst / 2: Qpos Q
q - ' epsilon = s
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y hs: hexists (funq : Q => x < ' q < y) s: Q ltxs: x < ' s ltsy: ' s < y ht: hexists (funq : Q => ' s < ' q < y) t: Q ltst': ' s < ' t ltty: ' t < y q:= (t + s) / 2: Q ltst: s < t epsilon:= Qpos_diff s t ltst / 2: Qpos Q
(t + s) / 2 - (t - s) / 2 = s
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y hs: hexists (funq : Q => x < ' q < y) s: Q ltxs: x < ' s ltsy: ' s < y ht: hexists (funq : Q => ' s < ' q < y) t: Q ltst': ' s < ' t ltty: ' t < y q:= (t + s) / 2: Q ltst: s < t epsilon:= Qpos_diff s t ltst / 2: Qpos Q
s + (t - s) / 2 - (t - s) / 2 = s
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y hs: hexists (funq : Q => x < ' q < y) s: Q ltxs: x < ' s ltsy: ' s < y ht: hexists (funq : Q => ' s < ' q < y) t: Q ltst': ' s < ' t ltty: ' t < y q:= (t + s) / 2: Q ltst: s < t epsilon:= Qpos_diff s t ltst / 2: Qpos Q
s + ((t - s) / 2 - (t - s) / 2) = s
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y hs: hexists (funq : Q => x < ' q < y) s: Q ltxs: x < ' s ltsy: ' s < y ht: hexists (funq : Q => ' s < ' q < y) t: Q ltst': ' s < ' t ltty: ' t < y q:= (t + s) / 2: Q ltst: s < t epsilon:= Qpos_diff s t ltst / 2: Qpos Q
s + 0 = s
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y hs: hexists (funq : Q => x < ' q < y) s: Q ltxs: x < ' s ltsy: ' s < y ht: hexists (funq : Q => ' s < ' q < y) t: Q ltst': ' s < ' t ltty: ' t < y q:= (t + s) / 2: Q ltst: s < t epsilon:= Qpos_diff s t ltst / 2: Qpos Q
s = s
reflexivity.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y hs: hexists (funq : Q => x < ' q < y) s: Q ltxs: x < ' s ltsy: ' s < y ht: hexists (funq : Q => ' s < ' q < y) t: Q ltst': ' s < ' t ltty: ' t < y q:= (t + s) / 2: Q ltst: s < t epsilon:= Qpos_diff s t ltst / 2: Qpos Q
x < ' s
assumption.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y hs: hexists (funq : Q => x < ' q < y) s: Q ltxs: x < ' s ltsy: ' s < y ht: hexists (funq : Q => ' s < ' q < y) t: Q ltst': ' s < ' t ltty: ' t < y q:= (t + s) / 2: Q ltst: s < t epsilon:= Qpos_diff s t ltst / 2: Qpos Q
locates_right m (ltQposQ q epsilon)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y hs: hexists (funq : Q => x < ' q < y) s: Q ltxs: x < ' s ltsy: ' s < y ht: hexists (funq : Q => ' s < ' q < y) t: Q ltst': ' s < ' t ltty: ' t < y q:= (t + s) / 2: Q ltst: s < t epsilon:= Qpos_diff s t ltst / 2: Qpos Q
' (q + ' epsilon) < y
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y hs: hexists (funq : Q => x < ' q < y) s: Q ltxs: x < ' s ltsy: ' s < y ht: hexists (funq : Q => ' s < ' q < y) t: Q ltst': ' s < ' t ltty: ' t < y q:= (t + s) / 2: Q ltst: s < t epsilon:= Qpos_diff s t ltst / 2: Qpos Q
q + ' epsilon = t
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y hs: hexists (funq : Q => x < ' q < y) s: Q ltxs: x < ' s ltsy: ' s < y ht: hexists (funq : Q => ' s < ' q < y) t: Q ltst': ' s < ' t ltty: ' t < y q:= (t + s) / 2: Q ltst: s < t epsilon:= Qpos_diff s t ltst / 2: Qpos Q
' t < y
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y hs: hexists (funq : Q => x < ' q < y) s: Q ltxs: x < ' s ltsy: ' s < y ht: hexists (funq : Q => ' s < ' q < y) t: Q ltst': ' s < ' t ltty: ' t < y q:= (t + s) / 2: Q ltst: s < t epsilon:= Qpos_diff s t ltst / 2: Qpos Q
q + ' epsilon = t
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y hs: hexists (funq : Q => x < ' q < y) s: Q ltxs: x < ' s ltsy: ' s < y ht: hexists (funq : Q => ' s < ' q < y) t: Q ltst': ' s < ' t ltty: ' t < y q:= (t + s) / 2: Q ltst: s < t epsilon:= Qpos_diff s t ltst / 2: Qpos Q
(t + s) / 2 + (t - s) / 2 = t
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y hs: hexists (funq : Q => x < ' q < y) s: Q ltxs: x < ' s ltsy: ' s < y ht: hexists (funq : Q => ' s < ' q < y) t: Q ltst': ' s < ' t ltty: ' t < y q:= (t + s) / 2: Q ltst: s < t epsilon:= Qpos_diff s t ltst / 2: Qpos Q
t - (t - s) / 2 + (t - s) / 2 = t
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y hs: hexists (funq : Q => x < ' q < y) s: Q ltxs: x < ' s ltsy: ' s < y ht: hexists (funq : Q => ' s < ' q < y) t: Q ltst': ' s < ' t ltty: ' t < y q:= (t + s) / 2: Q ltst: s < t epsilon:= Qpos_diff s t ltst / 2: Qpos Q
t + (- ((t - s) / 2) + (t - s) / 2) = t
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y hs: hexists (funq : Q => x < ' q < y) s: Q ltxs: x < ' s ltsy: ' s < y ht: hexists (funq : Q => ' s < ' q < y) t: Q ltst': ' s < ' t ltty: ' t < y q:= (t + s) / 2: Q ltst: s < t epsilon:= Qpos_diff s t ltst / 2: Qpos Q
t + 0 = t
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y hs: hexists (funq : Q => x < ' q < y) s: Q ltxs: x < ' s ltsy: ' s < y ht: hexists (funq : Q => ' s < ' q < y) t: Q ltst': ' s < ' t ltty: ' t < y q:= (t + s) / 2: Q ltst: s < t epsilon:= Qpos_diff s t ltst / 2: Qpos Q
t = t
reflexivity.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y hs: hexists (funq : Q => x < ' q < y) s: Q ltxs: x < ' s ltsy: ' s < y ht: hexists (funq : Q => ' s < ' q < y) t: Q ltst': ' s < ' t ltty: ' t < y q:= (t + s) / 2: Q ltst: s < t epsilon:= Qpos_diff s t ltst / 2: Qpos Q
' t < y
assumption.Qed.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y
{q : Q & x < ' q < y}
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y
{q : Q & x < ' q < y}
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y
{x : _ & P x}
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y R: {x : _ & P x}
{q : Q & x < ' q < y}
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y
{x : _ & P x}
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y
nat <~> Q * Qpos Q
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y
forallx : Q * Qpos Q, Decidable (P x)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y
hexists P
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y
nat <~> Q * Qpos Q
exact QQpos_eq.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y
forallx : Q * Qpos Q, Decidable (P x)
exact P_dec.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y
hexists P
exact P_inhab.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y R: {x : _ & P x}
{q : Q & x < ' q < y}
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y R: {qeps' : Q * Qpos Q &
(locates_left l (ltQnegQ (fst qeps') (snd qeps')) *
locates_right m (ltQposQ (fst qeps') (snd qeps')))%type}
{q : Q & x < ' q < y}
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y q: Q eps: Qpos Q lleft: locates_left l (ltQnegQ q eps) mright: locates_right m (ltQposQ q eps)
{q : Q & x < ' q < y}
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y q: Q eps: Qpos Q lleft: locates_left l (ltQnegQ q eps) mright: locates_right m (ltQposQ q eps)
x < ' q
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y q: Q eps: Qpos Q lleft: locates_left l (ltQnegQ q eps) mright: locates_right m (ltQposQ q eps)
' q < y
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y q: Q eps: Qpos Q lleft: locates_left l (ltQnegQ q eps) mright: locates_right m (ltQposQ q eps)
x < ' q
exact (locates_right_false l _ lleft).
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y ltxy: x < y q: Q eps: Qpos Q lleft: locates_left l (ltQnegQ q eps) mright: locates_right m (ltQposQ q eps)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x
locator (- x)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x
locator (- x)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x q, r: Q ltqr: q < r
((' q < - x) + (- x < ' r))%type
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x q, r: Q ltqr: q < r ltnrnq: - r < - q
((' q < - x) + (- x < ' r))%type
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x q, r: Q ltqr: q < r ltnrnq: - r < - q ltnrx: ' (- r) < x
((' q < - x) + (- x < ' r))%type
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x q, r: Q ltqr: q < r ltnrnq: - r < - q ltxnq: x < ' (- q)
((' q < - x) + (- x < ' r))%type
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x q, r: Q ltqr: q < r ltnrnq: - r < - q ltnrx: ' (- r) < x
((' q < - x) + (- x < ' r))%type
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x q, r: Q ltqr: q < r ltnrnq: - r < - q ltnrx: ' (- r) < x
- x < ' r
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x q, r: Q ltqr: q < r ltnrnq: - r < - q ltnrx: ' (- r) < x
- ' r < x
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x q, r: Q ltqr: q < r ltnrnq: - r < - q ltnrx: ' (- r) < x
' (- r) < x
assumption.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x q, r: Q ltqr: q < r ltnrnq: - r < - q ltxnq: x < ' (- q)
((' q < - x) + (- x < ' r))%type
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x q, r: Q ltqr: q < r ltnrnq: - r < - q ltxnq: x < ' (- q)
' q < - x
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x q, r: Q ltqr: q < r ltnrnq: - r < - q ltxnq: x < ' (- q)
x < - ' q
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x q, r: Q ltqr: q < r ltnrnq: - r < - q ltxnq: x < ' (- q)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xpos: 0 < x
locator (// (x; recip_nu))
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xpos: 0 < x
locator (// (x; recip_nu))
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xpos: 0 < x recippos: 0 < // (x; recip_nu)
locator (// (x; recip_nu))
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xpos: 0 < x recippos: 0 < // (x; recip_nu) q, r: Q ltqr: q < r
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xpos: 0 < x recippos: 0 < // (x; recip_nu) q, r: Q ltqr: q < r qneg: q < 0
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xpos: 0 < x recippos: 0 < // (x; recip_nu) q, r: Q ltqr: q < r qzero: q = 0
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xpos: 0 < x recippos: 0 < // (x; recip_nu) q, r: Q ltqr: q < r qpos: 0 < q
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xpos: 0 < x recippos: 0 < // (x; recip_nu) q, r: Q ltqr: q < r qneg: q < 0
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xpos: 0 < x recippos: 0 < // (x; recip_nu) q, r: Q ltqr: q < r qneg: q < 0
' q < // (x; recip_nu)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xpos: 0 < x recippos: 0 < // (x; recip_nu) q, r: Q ltqr: q < r qneg: q < 0
' q < ?Goal1
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xpos: 0 < x recippos: 0 < // (x; recip_nu) q, r: Q ltqr: q < r qneg: q < 0
?Goal1 < // (x; recip_nu)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xpos: 0 < x recippos: 0 < // (x; recip_nu) q, r: Q ltqr: q < r qneg: q < 0
' q < ?Goal1
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xpos: 0 < x recippos: 0 < // (x; recip_nu) q, r: Q ltqr: q < r qneg: q < 0
q < ?y
exact qneg.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xpos: 0 < x recippos: 0 < // (x; recip_nu) q, r: Q ltqr: q < r qneg: q < 0
' 0 < // (x; recip_nu)
rewrite preserves_0; assumption.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xpos: 0 < x recippos: 0 < // (x; recip_nu) q, r: Q ltqr: q < r qzero: q = 0
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xpos: 0 < x recippos: 0 < // (x; recip_nu) q, r: Q ltqr: q < r qzero: q = 0
' q < // (x; recip_nu)
rewrite qzero, preserves_0; assumption.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xpos: 0 < x recippos: 0 < // (x; recip_nu) q, r: Q ltqr: q < r qpos: 0 < q
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xpos: 0 < x recippos: 0 < // (x; recip_nu) q, r: Q ltqr: q < r qpos: 0 < q qap0: q ≶ 0
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xpos: 0 < x recippos: 0 < // (x; recip_nu) q, r: Q ltqr: q < r qpos: 0 < q qap0: q ≶ 0
r ≶ 0
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xpos: 0 < x recippos: 0 < // (x; recip_nu) q, r: Q ltqr: q < r qpos: 0 < q qap0: q ≶ 0 rap0: r ≶ 0
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xpos: 0 < x recippos: 0 < // (x; recip_nu) q, r: Q ltqr: q < r qpos: 0 < q qap0: q ≶ 0
r ≶ 0
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xpos: 0 < x recippos: 0 < // (x; recip_nu) q, r: Q ltqr: q < r qpos: 0 < q qap0: q ≶ 0
0 < r
exact (transitivity qpos ltqr).
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xpos: 0 < x recippos: 0 < // (x; recip_nu) q, r: Q ltqr: q < r qpos: 0 < q qap0: q ≶ 0 rap0: r ≶ 0
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xpos: 0 < x recippos: 0 < // (x; recip_nu) q, r: Q ltqr: q < r qpos: 0 < q qap0: q ≶ 0 rap0: r ≶ 0 ltrrrq: / r < / q
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xpos: 0 < x recippos: 0 < // (x; recip_nu) q, r: Q ltqr: q < r qpos: 0 < q qap0: q ≶ 0 rap0: r ≶ 0 ltrrrq: / r < / q ltrrx: ' (/ r) < x
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xpos: 0 < x recippos: 0 < // (x; recip_nu) q, r: Q ltqr: q < r qpos: 0 < q qap0: q ≶ 0 rap0: r ≶ 0 ltrrrq: / r < / q ltxrq: x < ' (/ q)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xpos: 0 < x recippos: 0 < // (x; recip_nu) q, r: Q ltqr: q < r qpos: 0 < q qap0: q ≶ 0 rap0: r ≶ 0 ltrrrq: / r < / q ltrrx: ' (/ r) < x
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xpos: 0 < x recippos: 0 < // (x; recip_nu) q, r: Q ltqr: q < r qpos: 0 < q qap0: q ≶ 0 rap0: r ≶ 0 ltrrrq: / r < / q ltrrx: ' (/ r) < x
// (x; recip_nu) < ' r
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xpos: 0 < x recippos: 0 < // (x; recip_nu) q, r: Q ltqr: q < r qpos: 0 < q qap0: q ≶ 0 rap0: r ≶ 0 ltrrrq: / r < / q ltrrx: ' (/ r) < x rpos: 0 < r
// (x; recip_nu) < ' r
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xpos: 0 < x recippos: 0 < // (x; recip_nu) q, r: Q ltqr: q < r qpos: 0 < q qap0: q ≶ 0 rap0: r ≶ 0 ltrrrq: / r < / q ltrrx: ' (/ r) < x rpos: 0 < r
0 < ' r
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xpos: 0 < x recippos: 0 < // (x; recip_nu) q, r: Q ltqr: q < r qpos: 0 < q qap0: q ≶ 0 rap0: r ≶ 0 ltrrrq: / r < / q ltrrx: ' (/ r) < x rpos: 0 < r rpos': 0 < ' r
// (x; recip_nu) < ' r
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xpos: 0 < x recippos: 0 < // (x; recip_nu) q, r: Q ltqr: q < r qpos: 0 < q qap0: q ≶ 0 rap0: r ≶ 0 ltrrrq: / r < / q ltrrx: ' (/ r) < x rpos: 0 < r
0 < ' r
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xpos: 0 < x recippos: 0 < // (x; recip_nu) q, r: Q ltqr: q < r qpos: 0 < q qap0: q ≶ 0 rap0: r ≶ 0 ltrrrq: / r < / q ltrrx: ' (/ r) < x rpos: 0 < r
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xpos: 0 < x recippos: 0 < // (x; recip_nu) q, r: Q ltqr: q < r qpos: 0 < q qap0: q ≶ 0 rap0: r ≶ 0 ltrrrq: / r < / q ltrrx: ' (/ r) < x rpos: 0 < r rpos': 0 < ' r
// (x; recip_nu) < ' r
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xpos: 0 < x recippos: 0 < // (x; recip_nu) q, r: Q ltqr: q < r qpos: 0 < q qap0: q ≶ 0 rap0: r ≶ 0 ltrrrq: / r < / q rpos': 0 < ' r ltrrx: // (' r; positive_apart_zero (' r) rpos') < x rpos: 0 < r
// (x; recip_nu) < ' r
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xpos: 0 < x recippos: 0 < // (x; recip_nu) q, r: Q ltqr: q < r qpos: 0 < q qap0: q ≶ 0 rap0: r ≶ 0 ltrrrq: / r < / q rpos': 0 < ' r ltrrx: // (' r; positive_apart_zero (' r) rpos') < x rpos: 0 < r ltxrr: letapx0 :=
positive_apart_zero x
(transitivity
(pos_recip_compat (' r) rpos') ltrrx)
in
// (x; apx0) < ' r
// (x; recip_nu) < ' r
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xpos: 0 < x recippos: 0 < // (x; recip_nu) q, r: Q ltqr: q < r qpos: 0 < q qap0: q ≶ 0 rap0: r ≶ 0 ltrrrq: / r < / q rpos': 0 < ' r ltrrx: // (' r; positive_apart_zero (' r) rpos') < x rpos: 0 < r ltxrr: //
(x;
positive_apart_zero x
(strictorder_trans 0
(//
(' r; positive_apart_zero (' r) rpos'))
x (pos_recip_compat (' r) rpos') ltrrx)) <
' r
// (x; recip_nu) < ' r
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xpos: 0 < x recippos: 0 < // (x; recip_nu) q, r: Q ltqr: q < r qpos: 0 < q qap0: q ≶ 0 rap0: r ≶ 0 ltrrrq: / r < / q rpos': 0 < ' r ltrrx: // (' r; positive_apart_zero (' r) rpos') < x rpos: 0 < r ltxrr: // (x; recip_nu) < ' r
// (x; recip_nu) < ' r
exact ltxrr.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xpos: 0 < x recippos: 0 < // (x; recip_nu) q, r: Q ltqr: q < r qpos: 0 < q qap0: q ≶ 0 rap0: r ≶ 0 ltrrrq: / r < / q ltxrq: x < ' (/ q)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xpos: 0 < x recippos: 0 < // (x; recip_nu) q, r: Q ltqr: q < r qpos: 0 < q qap0: q ≶ 0 rap0: r ≶ 0 ltrrrq: / r < / q ltxrq: x < ' (/ q)
' q < // (x; recip_nu)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xpos: 0 < x recippos: 0 < // (x; recip_nu) q, r: Q ltqr: q < r qpos: 0 < q qap0: q ≶ 0 rap0: r ≶ 0 ltrrrq: / r < / q ltxrq: x < ' (/ q)
0 < ' q
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xpos: 0 < x recippos: 0 < // (x; recip_nu) q, r: Q ltqr: q < r qpos: 0 < q qap0: q ≶ 0 rap0: r ≶ 0 ltrrrq: / r < / q ltxrq: x < ' (/ q) qpos': 0 < ' q
' q < // (x; recip_nu)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xpos: 0 < x recippos: 0 < // (x; recip_nu) q, r: Q ltqr: q < r qpos: 0 < q qap0: q ≶ 0 rap0: r ≶ 0 ltrrrq: / r < / q ltxrq: x < ' (/ q)
0 < ' q
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xpos: 0 < x recippos: 0 < // (x; recip_nu) q, r: Q ltqr: q < r qpos: 0 < q qap0: q ≶ 0 rap0: r ≶ 0 ltrrrq: / r < / q ltxrq: x < ' (/ q)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xpos: 0 < x recippos: 0 < // (x; recip_nu) q, r: Q ltqr: q < r qpos: 0 < q qap0: q ≶ 0 rap0: r ≶ 0 ltrrrq: / r < / q ltxrq: x < ' (/ q) qpos': 0 < ' q
' q < // (x; recip_nu)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xpos: 0 < x recippos: 0 < // (x; recip_nu) q, r: Q ltqr: q < r qpos: 0 < q qap0: q ≶ 0 rap0: r ≶ 0 ltrrrq: / r < / q qpos': 0 < ' q ltxrq: x < // (' q; positive_apart_zero (' q) qpos')
' q < // (x; recip_nu)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xpos: 0 < x recippos: 0 < // (x; recip_nu) q, r: Q ltqr: q < r qpos: 0 < q qap0: q ≶ 0 rap0: r ≶ 0 ltrrrq: / r < / q qpos': 0 < ' q ltxrq: x < // (' q; positive_apart_zero (' q) qpos') ltrqx: ' q < // (x; positive_apart_zero x xpos)
' q < // (x; recip_nu)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xpos: 0 < x recippos: 0 < // (x; recip_nu) q, r: Q ltqr: q < r qpos: 0 < q qap0: q ≶ 0 rap0: r ≶ 0 ltrrrq: / r < / q qpos': 0 < ' q ltxrq: x < // (' q; positive_apart_zero (' q) qpos') ltrqx: ' q < // (x; recip_nu)
' q < // (x; recip_nu)
exact ltrqx.Qed.Endrecip_pos.Endunary_ops.Sectionrecip_neg.Context {x : F}
(l : locator x)
(xneg : x < 0).Local Definitionrecip_neg_nu := negative_apart_zero x xneg.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xneg: x < 0
locator (// (x; recip_neg_nu))
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xneg: x < 0
locator (// (x; recip_neg_nu))
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xneg: x < 0 negxpos: 0 < - x
locator (// (x; recip_neg_nu))
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xneg: x < 0 negxpos: 0 < - x l': locator (- (// (- x; recip_nu negxpos)))
locator (// (x; recip_neg_nu))
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xneg: x < 0 negxpos: 0 < - x l': locator (// negate_apart (- x; recip_nu negxpos))
locator (// (x; recip_neg_nu))
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xneg: x < 0 negxpos: 0 < - x l': locator
(//
(- - x; apart_negate (- x) (recip_nu negxpos)))
locator (// (x; recip_neg_nu))
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xneg: x < 0 negxpos: 0 < - x l': locator (// (x; recip_neg_nu))
locator (// (x; recip_neg_nu))
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xneg: x < 0 negxpos: 0 < - x l': locator
(//
(- - x; apart_negate (- x) (recip_nu negxpos)))
- - x = x
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xneg: x < 0 negxpos: 0 < - x l': locator (// (x; recip_neg_nu))
locator (// (x; recip_neg_nu))
assumption.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x xneg: x < 0 negxpos: 0 < - x l': locator
(//
(- - x; apart_negate (- x) (recip_nu negxpos)))
- - x = x
apply negate_involutive.Qed.Endrecip_neg.Sectionunary_ops2.Context {x : F}
(l : locator x)
(nu : x ≶ 0).
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x nu: x ≶ 0
locator (// (x; nu))
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x nu: x ≶ 0
locator (// (x; nu))
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x nu: x ≶ 0 xneg: x < 0
locator (// (x; nu))
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x nu: x ≶ 0 xpos: 0 < x
locator (// (x; nu))
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x nu: x ≶ 0 xneg: x < 0
locator (// (x; nu))
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x nu: x ≶ 0 xneg: x < 0 l':= locator_recip_neg l xneg: locator (// (x; recip_neg_nu xneg))
locator (// (x; nu))
rewrite (recip_proper_alt x x (negative_apart_zero x xneg) nu) in l';
tryreflexivity; exact l'.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x nu: x ≶ 0 xpos: 0 < x
locator (// (x; nu))
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x: F l: locator x nu: x ≶ 0 xpos: 0 < x l':= locator_recip_pos l xpos: locator (// (x; recip_nu xpos))
locator (// (x; nu))
rewrite (recip_proper_alt x x (positive_apart_zero x xpos) nu) in l';
tryreflexivity; exact l'.Qed.Endunary_ops2.Sectionbinary_ops.Context {xy : F}
(l : locator x)
(m : locator y).(** TODO the following two should be proven in Classes/orders/archimedean.v *)Context (char_plus_left : forall (q : Q) (xy : F),
' q < x + y <-> hexists (funs : Q => (' s < x) /\ (' (q - s) < y)))
(char_plus_right : forall (r : Q) (xy : F),
x + y < ' r <-> hexists (funt : Q => (x < ' t) /\ (y < ' (r - t)))).
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type)
locator (x + y)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type)
locator (x + y)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r
((' q < plus x y) + (plus x y < ' r))%type
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 2: Qpos Q
((' q < plus x y) + (plus x y < ' r))%type
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 2: Qpos Q X: q + ' epsilon = r - ' epsilon
((' q < plus x y) + (plus x y < ' r))%type
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 2: Qpos Q X: q + ' epsilon = r - ' epsilon u: Q ltuy: ' u < y ltyuepsilon: y < ' (u + ' epsilon)
((' q < plus x y) + (plus x y < ' r))%type
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 2: Qpos Q X: q + ' epsilon = r - ' epsilon u: Q ltuy: ' u < y ltyuepsilon: y < ' (u + ' epsilon) s:= q - u: Q
((' q < plus x y) + (plus x y < ' r))%type
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 2: Qpos Q X: q + ' epsilon = r - ' epsilon u: Q ltuy: ' u < y ltyuepsilon: y < ' (u + ' epsilon) s:= q - u: Q
' q - ' s < y
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 2: Qpos Q X: q + ' epsilon = r - ' epsilon u: Q ltuy: ' u < y ltyuepsilon: y < ' (u + ' epsilon) s:= q - u: Q qsltx: ' q - ' s < y
((' q < plus x y) + (plus x y < ' r))%type
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 2: Qpos Q X: q + ' epsilon = r - ' epsilon u: Q ltuy: ' u < y ltyuepsilon: y < ' (u + ' epsilon) s:= q - u: Q
' q - ' s < y
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 2: Qpos Q X: q + ' epsilon = r - ' epsilon u: Q ltuy: ' u < y ltyuepsilon: y < ' (u + ' epsilon) s:= q - u: Q
' q - ' (q - u) < y
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 2: Qpos Q X: q + ' epsilon = r - ' epsilon u: Q ltuy: ' u < y ltyuepsilon: y < ' (u + ' epsilon) s:= q - u: Q
' q - (' q + ' (- u)) < y
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 2: Qpos Q X: q + ' epsilon = r - ' epsilon u: Q ltuy: ' u < y ltyuepsilon: y < ' (u + ' epsilon) s:= q - u: Q
' q + (- ' q - ' (- u)) < y
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 2: Qpos Q X: q + ' epsilon = r - ' epsilon u: Q ltuy: ' u < y ltyuepsilon: y < ' (u + ' epsilon) s:= q - u: Q
' q - ' q - ' (- u) < y
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 2: Qpos Q X: q + ' epsilon = r - ' epsilon u: Q ltuy: ' u < y ltyuepsilon: y < ' (u + ' epsilon) s:= q - u: Q
0 - ' (- u) < y
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 2: Qpos Q X: q + ' epsilon = r - ' epsilon u: Q ltuy: ' u < y ltyuepsilon: y < ' (u + ' epsilon) s:= q - u: Q
- ' (- u) < y
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 2: Qpos Q X: q + ' epsilon = r - ' epsilon u: Q ltuy: ' u < y ltyuepsilon: y < ' (u + ' epsilon) s:= q - u: Q
- - ' u < y
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 2: Qpos Q X: q + ' epsilon = r - ' epsilon u: Q ltuy: ' u < y ltyuepsilon: y < ' (u + ' epsilon) s:= q - u: Q
' u < y
assumption.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 2: Qpos Q X: q + ' epsilon = r - ' epsilon u: Q ltuy: ' u < y ltyuepsilon: y < ' (u + ' epsilon) s:= q - u: Q qsltx: ' q - ' s < y
((' q < plus x y) + (plus x y < ' r))%type
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 2: Qpos Q X: q + ' epsilon = r - ' epsilon u: Q ltuy: ' u < y ltyuepsilon: y < ' (u + ' epsilon) s:= q - u: Q qsltx: ' q - ' s < y sltseps: s < s + ' epsilon
((' q < plus x y) + (plus x y < ' r))%type
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 2: Qpos Q X: q + ' epsilon = r - ' epsilon u: Q ltuy: ' u < y ltyuepsilon: y < ' (u + ' epsilon) s:= q - u: Q qsltx: ' q - ' s < y sltseps: s < s + ' epsilon ltsx: ' s < x
((' q < plus x y) + (plus x y < ' r))%type
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 2: Qpos Q X: q + ' epsilon = r - ' epsilon u: Q ltuy: ' u < y ltyuepsilon: y < ' (u + ' epsilon) s:= q - u: Q qsltx: ' q - ' s < y sltseps: s < s + ' epsilon ltxseps: x < ' (s + ' epsilon)
((' q < plus x y) + (plus x y < ' r))%type
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 2: Qpos Q X: q + ' epsilon = r - ' epsilon u: Q ltuy: ' u < y ltyuepsilon: y < ' (u + ' epsilon) s:= q - u: Q qsltx: ' q - ' s < y sltseps: s < s + ' epsilon ltsx: ' s < x
((' q < plus x y) + (plus x y < ' r))%type
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 2: Qpos Q X: q + ' epsilon = r - ' epsilon u: Q ltuy: ' u < y ltyuepsilon: y < ' (u + ' epsilon) s:= q - u: Q qsltx: ' q - ' s < y sltseps: s < s + ' epsilon ltsx: ' s < x
' q < x + y
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 2: Qpos Q X: q + ' epsilon = r - ' epsilon u: Q ltuy: ' u < y ltyuepsilon: y < ' (u + ' epsilon) s:= q - u: Q qsltx: ' q - ' s < y sltseps: s < s + ' epsilon ltsx: ' s < x
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 2: Qpos Q X: q + ' epsilon = r - ' epsilon u: Q ltuy: ' u < y ltyuepsilon: y < ' (u + ' epsilon) s:= q - u: Q qsltx: ' q - ' s < y sltseps: s < s + ' epsilon ltxseps: x < ' (s + ' epsilon)
{t : Q & ((x < ' t) * (y < ' (r - t)))%type}
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 2: Qpos Q X: q + ' epsilon = r - ' epsilon u: Q ltuy: ' u < y ltyuepsilon: y < ' (u + ' epsilon) s:= q - u: Q qsltx: ' q - ' s < y sltseps: s < s + ' epsilon ltxseps: x < ' (s + ' epsilon) t:= s + ' epsilon: Q
((x < ' t) * (y < ' (r - t)))%type
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 2: Qpos Q X: q + ' epsilon = r - ' epsilon u: Q ltuy: ' u < y ltyuepsilon: y < ' (u + ' epsilon) s:= q - u: Q qsltx: ' q - ' s < y sltseps: s < s + ' epsilon ltxseps: x < ' (s + ' epsilon) t:= s + ' epsilon: Q
y < ' (r - t)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 2: Qpos Q X: q + ' epsilon = r - ' epsilon u: Q ltuy: ' u < y ltyuepsilon: y < ' (u + ' epsilon) s:= q - u: Q qsltx: ' q - ' s < y sltseps: s < s + ' epsilon ltxseps: x < ' (s + ' epsilon) t:= s + ' epsilon: Q
r - (q - u + (r - q) / 2) = u + ' epsilon
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 2: Qpos Q X: q + ' epsilon = r - ' epsilon u: Q ltuy: ' u < y ltyuepsilon: y < ' (u + ' epsilon) s:= q - u: Q qsltx: ' q - ' s < y sltseps: s < s + ' epsilon ltxseps: x < ' (s + ' epsilon) t:= s + ' epsilon: Q
y < ' (u + ' epsilon)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 2: Qpos Q X: q + ' epsilon = r - ' epsilon u: Q ltuy: ' u < y ltyuepsilon: y < ' (u + ' epsilon) s:= q - u: Q qsltx: ' q - ' s < y sltseps: s < s + ' epsilon ltxseps: x < ' (s + ' epsilon) t:= s + ' epsilon: Q
r - (q - u + (r - q) / 2) = u + ' epsilon
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 2: Qpos Q X: q + ' epsilon = r - ' epsilon u: Q ltuy: ' u < y ltyuepsilon: y < ' (u + ' epsilon) s:= q - u: Q qsltx: ' q - ' s < y sltseps: s < s + ' epsilon ltxseps: x < ' (s + ' epsilon) t:= s + ' epsilon: Q
r - (q - u + ' epsilon) = u + ' epsilon
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 2: Qpos Q X: q + ' epsilon = r - ' epsilon u: Q ltuy: ' u < y ltyuepsilon: y < ' (u + ' epsilon) s:= q - u: Q qsltx: ' q - ' s < y sltseps: s < s + ' epsilon ltxseps: x < ' (s + ' epsilon) t:= s + ' epsilon: Q
r + (- (q - u) - ' epsilon) = u + ' epsilon
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 2: Qpos Q X: q + ' epsilon = r - ' epsilon u: Q ltuy: ' u < y ltyuepsilon: y < ' (u + ' epsilon) s:= q - u: Q qsltx: ' q - ' s < y sltseps: s < s + ' epsilon ltxseps: x < ' (s + ' epsilon) t:= s + ' epsilon: Q
r + (- q + u - ' epsilon) = u + ' epsilon
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 2: Qpos Q X: q + ' epsilon = r - ' epsilon u: Q ltuy: ' u < y ltyuepsilon: y < ' (u + ' epsilon) s:= q - u: Q qsltx: ' q - ' s < y sltseps: s < s + ' epsilon ltxseps: x < ' (s + ' epsilon) t:= s + ' epsilon: Q
r + (u - q - ' epsilon) = u + ' epsilon
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 2: Qpos Q X: q + ' epsilon = r - ' epsilon u: Q ltuy: ' u < y ltyuepsilon: y < ' (u + ' epsilon) s:= q - u: Q qsltx: ' q - ' s < y sltseps: s < s + ' epsilon ltxseps: x < ' (s + ' epsilon) t:= s + ' epsilon: Q
r + (u - q) - ' epsilon = u + ' epsilon
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 2: Qpos Q X: q + ' epsilon = r - ' epsilon u: Q ltuy: ' u < y ltyuepsilon: y < ' (u + ' epsilon) s:= q - u: Q qsltx: ' q - ' s < y sltseps: s < s + ' epsilon ltxseps: x < ' (s + ' epsilon) t:= s + ' epsilon: Q
r + u - q - ' epsilon = u + ' epsilon
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 2: Qpos Q X: q + ' epsilon = r - ' epsilon u: Q ltuy: ' u < y ltyuepsilon: y < ' (u + ' epsilon) s:= q - u: Q qsltx: ' q - ' s < y sltseps: s < s + ' epsilon ltxseps: x < ' (s + ' epsilon) t:= s + ' epsilon: Q
u + r - q - ' epsilon = u + ' epsilon
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 2: Qpos Q X: q + ' epsilon = r - ' epsilon u: Q ltuy: ' u < y ltyuepsilon: y < ' (u + ' epsilon) s:= q - u: Q qsltx: ' q - ' s < y sltseps: s < s + ' epsilon ltxseps: x < ' (s + ' epsilon) t:= s + ' epsilon: Q
u + (r - q) - ' epsilon = u + ' epsilon
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 2: Qpos Q X: q + ' epsilon = r - ' epsilon u: Q ltuy: ' u < y ltyuepsilon: y < ' (u + ' epsilon) s:= q - u: Q qsltx: ' q - ' s < y sltseps: s < s + ' epsilon ltxseps: x < ' (s + ' epsilon) t:= s + ' epsilon: Q
u + (r - q - ' epsilon) = u + ' epsilon
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 2: Qpos Q X: q + ' epsilon = r - ' epsilon u: Q ltuy: ' u < y ltyuepsilon: y < ' (u + ' epsilon) s:= q - u: Q qsltx: ' q - ' s < y sltseps: s < s + ' epsilon ltxseps: x < ' (s + ' epsilon) t:= s + ' epsilon: Q
u + (- q + r - ' epsilon) = u + ' epsilon
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 2: Qpos Q X: q + ' epsilon = r - ' epsilon u: Q ltuy: ' u < y ltyuepsilon: y < ' (u + ' epsilon) s:= q - u: Q qsltx: ' q - ' s < y sltseps: s < s + ' epsilon ltxseps: x < ' (s + ' epsilon) t:= s + ' epsilon: Q
u + (- q + (r - ' epsilon)) = u + ' epsilon
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 2: Qpos Q X: q + ' epsilon = r - ' epsilon u: Q ltuy: ' u < y ltyuepsilon: y < ' (u + ' epsilon) s:= q - u: Q qsltx: ' q - ' s < y sltseps: s < s + ' epsilon ltxseps: x < ' (s + ' epsilon) t:= s + ' epsilon: Q
u + (- q + (r + q) / 2) = u + ' epsilon
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 2: Qpos Q X: q + ' epsilon = r - ' epsilon u: Q ltuy: ' u < y ltyuepsilon: y < ' (u + ' epsilon) s:= q - u: Q qsltx: ' q - ' s < y sltseps: s < s + ' epsilon ltxseps: x < ' (s + ' epsilon) t:= s + ' epsilon: Q
u + (- q + (q + (r - q) / 2)) = u + ' epsilon
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 2: Qpos Q X: q + ' epsilon = r - ' epsilon u: Q ltuy: ' u < y ltyuepsilon: y < ' (u + ' epsilon) s:= q - u: Q qsltx: ' q - ' s < y sltseps: s < s + ' epsilon ltxseps: x < ' (s + ' epsilon) t:= s + ' epsilon: Q
u + (- q + q + (r - q) / 2) = u + ' epsilon
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 2: Qpos Q X: q + ' epsilon = r - ' epsilon u: Q ltuy: ' u < y ltyuepsilon: y < ' (u + ' epsilon) s:= q - u: Q qsltx: ' q - ' s < y sltseps: s < s + ' epsilon ltxseps: x < ' (s + ' epsilon) t:= s + ' epsilon: Q
u + (0 + (r - q) / 2) = u + ' epsilon
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 2: Qpos Q X: q + ' epsilon = r - ' epsilon u: Q ltuy: ' u < y ltyuepsilon: y < ' (u + ' epsilon) s:= q - u: Q qsltx: ' q - ' s < y sltseps: s < s + ' epsilon ltxseps: x < ' (s + ' epsilon) t:= s + ' epsilon: Q
u + (r - q) / 2 = u + ' epsilon
reflexivity.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 2: Qpos Q X: q + ' epsilon = r - ' epsilon u: Q ltuy: ' u < y ltyuepsilon: y < ' (u + ' epsilon) s:= q - u: Q qsltx: ' q - ' s < y sltseps: s < s + ' epsilon ltxseps: x < ' (s + ' epsilon) t:= s + ' epsilon: Q
y < ' (u + ' epsilon)
assumption.Qed.(* TODO construct locators for multiplications. *)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type)
locator (x * y)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type)
locator (x * y)
Abort.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type)
locator (x ⊓ y)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type)
locator (x ⊓ y)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r
((' q < x ⊓ y) + (x ⊓ y < ' r))%type
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r ltqx: ' q < x ltqy: ' q < y
((' q < x ⊓ y) + (x ⊓ y < ' r))%type
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r ltqx: ' q < x ltyr: y < ' r
((' q < x ⊓ y) + (x ⊓ y < ' r))%type
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r ltxr: x < ' r ltqy: ' q < y
((' q < x ⊓ y) + (x ⊓ y < ' r))%type
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r ltxr: x < ' r ltyr: y < ' r
((' q < x ⊓ y) + (x ⊓ y < ' r))%type
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r ltqx: ' q < x ltqy: ' q < y
((' q < x ⊓ y) + (x ⊓ y < ' r))%type
apply inl, meet_lt_l; assumption.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r ltqx: ' q < x ltyr: y < ' r
((' q < x ⊓ y) + (x ⊓ y < ' r))%type
apply inr, meet_lt_r_r; assumption.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r ltxr: x < ' r ltqy: ' q < y
((' q < x ⊓ y) + (x ⊓ y < ' r))%type
apply inr, meet_lt_r_l; assumption.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r ltxr: x < ' r ltyr: y < ' r
((' q < x ⊓ y) + (x ⊓ y < ' r))%type
apply inr, meet_lt_r_r; assumption.Qed.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type)
locator (x ⊔ y)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type)
locator (x ⊔ y)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r
((' q < x ⊔ y) + (x ⊔ y < ' r))%type
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r ltqx: ' q < x ltqy: ' q < y
((' q < x ⊔ y) + (x ⊔ y < ' r))%type
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r ltqx: ' q < x ltyr: y < ' r
((' q < x ⊔ y) + (x ⊔ y < ' r))%type
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r ltxr: x < ' r ltqy: ' q < y
((' q < x ⊔ y) + (x ⊔ y < ' r))%type
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r ltxr: x < ' r ltyr: y < ' r
((' q < x ⊔ y) + (x ⊔ y < ' r))%type
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r ltqx: ' q < x ltqy: ' q < y
((' q < x ⊔ y) + (x ⊔ y < ' r))%type
apply inl, join_lt_l_l; assumption.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r ltqx: ' q < x ltyr: y < ' r
((' q < x ⊔ y) + (x ⊔ y < ' r))%type
apply inl, join_lt_l_l; assumption.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r ltxr: x < ' r ltqy: ' q < y
((' q < x ⊔ y) + (x ⊔ y < ' r))%type
apply inl, join_lt_l_r; assumption.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc x, y: F l: locator x m: locator y char_plus_left: forall (q : Q) (xy : F),
' q < x + y <->
hexists
(funs : Q =>
((' s < x) * (' (q - s) < y))%type) char_plus_right: forall (r : Q) (xy : F),
x + y < ' r <->
hexists
(funt : Q =>
((x < ' t) * (y < ' (r - t)))%type) q, r: Q ltqr: q < r ltxr: x < ' r ltyr: y < ' r
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc xs: nat -> F M: Qpos Q -> nat M_ismod: CauchyModulus Q F xs M ls: foralln : nat, locator (xs n) l: F
IsLimit Q F xs l -> locator l
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc xs: nat -> F M: Qpos Q -> nat M_ismod: CauchyModulus Q F xs M ls: foralln : nat, locator (xs n) l: F
IsLimit Q F xs l -> locator l
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc xs: nat -> F M: Qpos Q -> nat M_ismod: CauchyModulus Q F xs M ls: foralln : nat, locator (xs n) l: F islim: IsLimit Q F xs l
locator l
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc xs: nat -> F M: Qpos Q -> nat M_ismod: CauchyModulus Q F xs M ls: foralln : nat, locator (xs n) l: F islim: IsLimit Q F xs l q, r: Q ltqr: q < r
((' q < l) + (l < ' r))%type
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc xs: nat -> F M: Qpos Q -> nat M_ismod: CauchyModulus Q F xs M ls: foralln : nat, locator (xs n) l: F islim: IsLimit Q F xs l q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 3: Qpos Q
((' q < l) + (l < ' r))%type
(* TODO we are doing trisection so we have the inequality: *)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc xs: nat -> F M: Qpos Q -> nat M_ismod: CauchyModulus Q F xs M ls: foralln : nat, locator (xs n) l: F islim: IsLimit Q F xs l q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 3: Qpos Q
q + ' epsilon < r - ' epsilon
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc xs: nat -> F M: Qpos Q -> nat M_ismod: CauchyModulus Q F xs M ls: foralln : nat, locator (xs n) l: F islim: IsLimit Q F xs l q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 3: Qpos Q ltqepsreps: q + ' epsilon < r - ' epsilon
((' q < l) + (l < ' r))%type
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc xs: nat -> F M: Qpos Q -> nat M_ismod: CauchyModulus Q F xs M ls: foralln : nat, locator (xs n) l: F islim: IsLimit Q F xs l q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 3: Qpos Q
q + ' epsilon < r - ' epsilon
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc xs: nat -> F M: Qpos Q -> nat M_ismod: CauchyModulus Q F xs M ls: foralln : nat, locator (xs n) l: F islim: IsLimit Q F xs l q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 3: Qpos Q
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc xs: nat -> F M: Qpos Q -> nat M_ismod: CauchyModulus Q F xs M ls: foralln : nat, locator (xs n) l: F islim: IsLimit Q F xs l q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 3: Qpos Q
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc xs: nat -> F M: Qpos Q -> nat M_ismod: CauchyModulus Q F xs M ls: foralln : nat, locator (xs n) l: F islim: IsLimit Q F xs l q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 3: Qpos Q
q + ' epsilon + ' epsilon < r + 0
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc xs: nat -> F M: Qpos Q -> nat M_ismod: CauchyModulus Q F xs M ls: foralln : nat, locator (xs n) l: F islim: IsLimit Q F xs l q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 3: Qpos Q
q + ' epsilon + ' epsilon < r
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc xs: nat -> F M: Qpos Q -> nat M_ismod: CauchyModulus Q F xs M ls: foralln : nat, locator (xs n) l: F islim: IsLimit Q F xs l q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 3: Qpos Q
q + (' epsilon + ' epsilon) < r
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc xs: nat -> F M: Qpos Q -> nat M_ismod: CauchyModulus Q F xs M ls: foralln : nat, locator (xs n) l: F islim: IsLimit Q F xs l q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 3: Qpos Q
- q + (q + (' epsilon + ' epsilon)) < - q + r
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc xs: nat -> F M: Qpos Q -> nat M_ismod: CauchyModulus Q F xs M ls: foralln : nat, locator (xs n) l: F islim: IsLimit Q F xs l q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 3: Qpos Q
- q + q + (' epsilon + ' epsilon) < - q + r
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc xs: nat -> F M: Qpos Q -> nat M_ismod: CauchyModulus Q F xs M ls: foralln : nat, locator (xs n) l: F islim: IsLimit Q F xs l q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 3: Qpos Q
' epsilon + ' epsilon < - q + r
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc xs: nat -> F M: Qpos Q -> nat M_ismod: CauchyModulus Q F xs M ls: foralln : nat, locator (xs n) l: F islim: IsLimit Q F xs l q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 3: Qpos Q
' epsilon + ' epsilon < r - q
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc xs: nat -> F M: Qpos Q -> nat M_ismod: CauchyModulus Q F xs M ls: foralln : nat, locator (xs n) l: F islim: IsLimit Q F xs l q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 3: Qpos Q
' epsilon * 1 + ' epsilon * 1 < r - q
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc xs: nat -> F M: Qpos Q -> nat M_ismod: CauchyModulus Q F xs M ls: foralln : nat, locator (xs n) l: F islim: IsLimit Q F xs l q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 3: Qpos Q
' epsilon * 2 < r - q
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc xs: nat -> F M: Qpos Q -> nat M_ismod: CauchyModulus Q F xs M ls: foralln : nat, locator (xs n) l: F islim: IsLimit Q F xs l q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 3: Qpos Q
(r - q) / 3 * 2 < r - q
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc xs: nat -> F M: Qpos Q -> nat M_ismod: CauchyModulus Q F xs M ls: foralln : nat, locator (xs n) l: F islim: IsLimit Q F xs l q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 3: Qpos Q
(r - q) * (/ 3 * 2) < r - q
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc xs: nat -> F M: Qpos Q -> nat M_ismod: CauchyModulus Q F xs M ls: foralln : nat, locator (xs n) l: F islim: IsLimit Q F xs l q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 3: Qpos Q
(funq0 : Q => (r - q) * (/ 3 * 2) < q0) (r - q)
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc xs: nat -> F M: Qpos Q -> nat M_ismod: CauchyModulus Q F xs M ls: foralln : nat, locator (xs n) l: F islim: IsLimit Q F xs l q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 3: Qpos Q
(r - q) * (/ 3 * 2) < (r - q) * 1
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc xs: nat -> F M: Qpos Q -> nat M_ismod: CauchyModulus Q F xs M ls: foralln : nat, locator (xs n) l: F islim: IsLimit Q F xs l q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 3: Qpos Q rqpos: 0 < r - q
(r - q) * (/ 3 * 2) < (r - q) * 1
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc xs: nat -> F M: Qpos Q -> nat M_ismod: CauchyModulus Q F xs M ls: foralln : nat, locator (xs n) l: F islim: IsLimit Q F xs l q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 3: Qpos Q rqpos: 0 < r - q
/ 3 * 2 < 1
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc xs: nat -> F M: Qpos Q -> nat M_ismod: CauchyModulus Q F xs M ls: foralln : nat, locator (xs n) l: F islim: IsLimit Q F xs l q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 3: Qpos Q rqpos: 0 < r - q
3 * (/ 3 * 2) < 3 * 1
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc xs: nat -> F M: Qpos Q -> nat M_ismod: CauchyModulus Q F xs M ls: foralln : nat, locator (xs n) l: F islim: IsLimit Q F xs l q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 3: Qpos Q rqpos: 0 < r - q
3 / 3 * 2 < 3 * 1
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc xs: nat -> F M: Qpos Q -> nat M_ismod: CauchyModulus Q F xs M ls: foralln : nat, locator (xs n) l: F islim: IsLimit Q F xs l q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 3: Qpos Q rqpos: 0 < r - q
1 * 2 < 3 * 1
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc xs: nat -> F M: Qpos Q -> nat M_ismod: CauchyModulus Q F xs M ls: foralln : nat, locator (xs n) l: F islim: IsLimit Q F xs l q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 3: Qpos Q rqpos: 0 < r - q
3 <> 0
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc xs: nat -> F M: Qpos Q -> nat M_ismod: CauchyModulus Q F xs M ls: foralln : nat, locator (xs n) l: F islim: IsLimit Q F xs l q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 3: Qpos Q rqpos: 0 < r - q
1 * 2 < 3 * 1
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc xs: nat -> F M: Qpos Q -> nat M_ismod: CauchyModulus Q F xs M ls: foralln : nat, locator (xs n) l: F islim: IsLimit Q F xs l q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 3: Qpos Q rqpos: 0 < r - q
2 < 3
exact lt_2_3.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc xs: nat -> F M: Qpos Q -> nat M_ismod: CauchyModulus Q F xs M ls: foralln : nat, locator (xs n) l: F islim: IsLimit Q F xs l q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 3: Qpos Q rqpos: 0 < r - q
3 <> 0
apply apart_ne, positive_apart_zero, lt_0_3.
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc xs: nat -> F M: Qpos Q -> nat M_ismod: CauchyModulus Q F xs M ls: foralln : nat, locator (xs n) l: F islim: IsLimit Q F xs l q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 3: Qpos Q ltqepsreps: q + ' epsilon < r - ' epsilon
((' q < l) + (l < ' r))%type
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc xs: nat -> F M: Qpos Q -> nat M_ismod: CauchyModulus Q F xs M ls: foralln : nat, locator (xs n) l: F islim: IsLimit Q F xs l q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 3: Qpos Q ltqepsreps: q + ' epsilon < r - ' epsilon ltqepsxs: ' (q + ' epsilon) < xs (M (epsilon / 2))
((' q < l) + (l < ' r))%type
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc xs: nat -> F M: Qpos Q -> nat M_ismod: CauchyModulus Q F xs M ls: foralln : nat, locator (xs n) l: F islim: IsLimit Q F xs l q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 3: Qpos Q ltqepsreps: q + ' epsilon < r - ' epsilon ltxsreps: xs (M (epsilon / 2)) < ' (r - ' epsilon)
((' q < l) + (l < ' r))%type
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc xs: nat -> F M: Qpos Q -> nat M_ismod: CauchyModulus Q F xs M ls: foralln : nat, locator (xs n) l: F islim: IsLimit Q F xs l q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 3: Qpos Q ltqepsreps: q + ' epsilon < r - ' epsilon ltqepsxs: ' (q + ' epsilon) < xs (M (epsilon / 2))
((' q < l) + (l < ' r))%type
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc xs: nat -> F M: Qpos Q -> nat M_ismod: CauchyModulus Q F xs M ls: foralln : nat, locator (xs n) l: F islim: IsLimit Q F xs l q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 3: Qpos Q ltqepsreps: q + ' epsilon < r - ' epsilon ltqepsxs: ' (q + ' epsilon) < xs (M (epsilon / 2))
' q < l
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc xs: nat -> F M: Qpos Q -> nat M_ismod: CauchyModulus Q F xs M ls: foralln : nat, locator (xs n) l: F islim: IsLimit Q F xs l q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 3: Qpos Q ltqepsreps: q + ' epsilon < r - ' epsilon ltqepsxs: ' q + ' (' epsilon) < xs (M (epsilon / 2))
' q < l
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc xs: nat -> F M: Qpos Q -> nat M_ismod: CauchyModulus Q F xs M ls: foralln : nat, locator (xs n) l: F islim: IsLimit Q F xs l q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 3: Qpos Q ltqepsreps: q + ' epsilon < r - ' epsilon ltqepsxs: ' q + ' (' epsilon) < xs (M (epsilon / 2)) ltqxseps: ' q < xs (M (epsilon / 2)) - ' (' epsilon)
' q < l
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc xs: nat -> F M: Qpos Q -> nat M_ismod: CauchyModulus Q F xs M ls: foralln : nat, locator (xs n) l: F islim: IsLimit Q F xs l q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 3: Qpos Q ltqepsreps: q + ' epsilon < r - ' epsilon ltqepsxs: ' q + ' (' epsilon) < xs (M (epsilon / 2)) ltqxseps: ' q < xs (M (epsilon / 2)) - ' (' epsilon)
xs (M (epsilon / 2)) - ' (' epsilon) < l
apply (modulus_close_limit _ _ _ _ _).
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc xs: nat -> F M: Qpos Q -> nat M_ismod: CauchyModulus Q F xs M ls: foralln : nat, locator (xs n) l: F islim: IsLimit Q F xs l q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 3: Qpos Q ltqepsreps: q + ' epsilon < r - ' epsilon ltxsreps: xs (M (epsilon / 2)) < ' (r - ' epsilon)
((' q < l) + (l < ' r))%type
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc xs: nat -> F M: Qpos Q -> nat M_ismod: CauchyModulus Q F xs M ls: foralln : nat, locator (xs n) l: F islim: IsLimit Q F xs l q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 3: Qpos Q ltqepsreps: q + ' epsilon < r - ' epsilon ltxsreps: xs (M (epsilon / 2)) < ' (r - ' epsilon)
l < ' r
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc xs: nat -> F M: Qpos Q -> nat M_ismod: CauchyModulus Q F xs M ls: foralln : nat, locator (xs n) l: F islim: IsLimit Q F xs l q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 3: Qpos Q ltqepsreps: q + ' epsilon < r - ' epsilon ltxsreps: xs (M (epsilon / 2)) <
' r + ' (- ' epsilon)
l < ' r
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc xs: nat -> F M: Qpos Q -> nat M_ismod: CauchyModulus Q F xs M ls: foralln : nat, locator (xs n) l: F islim: IsLimit Q F xs l q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 3: Qpos Q ltqepsreps: q + ' epsilon < r - ' epsilon ltxsreps: xs (M (epsilon / 2)) < ' r - ' (' epsilon)
l < ' r
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc xs: nat -> F M: Qpos Q -> nat M_ismod: CauchyModulus Q F xs M ls: foralln : nat, locator (xs n) l: F islim: IsLimit Q F xs l q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 3: Qpos Q ltqepsreps: q + ' epsilon < r - ' epsilon ltxsreps: xs (M (epsilon / 2)) < ' r - ' (' epsilon) ltxsepsr: xs (M (epsilon / 2)) + ' (' epsilon) < ' r
l < ' r
Q: Type Aap: Apart Q Aplus: Plus Q Amult: Mult Q Azero: Zero Q Aone: One Q Aneg: Negate Q Arecip: DecRecip Q Ale: Le Q Alt: Lt Q U: RationalsToField Q Qrats: Rationals Q Qdec_paths: DecidablePaths Q Qtriv: TrivialApart Q Trichotomy0: Trichotomy lt F: Type Alt0: Lt F Ale0: Le F Aap0: Apart F Azero0: Zero F Aone0: One F Aplus0: Plus F Anegate: Negate F Amult0: Mult F Arecip0: Recip F Ajoin: Join F Ameet: Meet F Forderedfield: OrderedField F Fabs: Abs F Farchimedean: ArchimedeanProperty Q F Fcomplete: IsComplete Q F Qroundup: RoundUpStrict Q H: Funext H0: Univalence Q_eq: nat <~> Q QQpos_eq: nat <~> Q * Qpos Q cast_pres_ordering: StrictlyOrderPreserving qinc qinc_strong_presving: IsSemiRingStrongPreserving qinc xs: nat -> F M: Qpos Q -> nat M_ismod: CauchyModulus Q F xs M ls: foralln : nat, locator (xs n) l: F islim: IsLimit Q F xs l q, r: Q ltqr: q < r epsilon:= Qpos_diff q r ltqr / 3: Qpos Q ltqepsreps: q + ' epsilon < r - ' epsilon ltxsreps: xs (M (epsilon / 2)) < ' r - ' (' epsilon) ltxsepsr: xs (M (epsilon / 2)) + ' (' epsilon) < ' r