Built with Alectryon, running Coq+SerAPI v8.18.0+0.18.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]
Import Quoting.Instances. Import NatPair.Instances. Local Set Universe Minimization ToSet. Section contents. Context `{Funext} `{Univalence}. Universe UQ. Context {Q : Type@{UQ} } {Qap : Apart@{UQ UQ} Q} {Qplus : Plus Q} {Qmult : Mult Q} {Qzero : Zero Q} {Qone : One Q} {Qneg : Negate Q} {Qrecip : DecRecip Q} {Qle : Le@{UQ UQ} Q} {Qlt : Lt@{UQ UQ} Q} {QtoField : RationalsToField@{UQ UQ UQ UQ} Q} {Qrats : Rationals@{UQ UQ UQ UQ UQ UQ UQ UQ UQ UQ} Q} {Qtrivialapart : TrivialApart Q} {Qdec : DecidablePaths Q} {Qmeet : Meet Q} {Qjoin : Join Q} {Qlattice : LatticeOrder Qle} {Qle_total : TotalRelation (@le Q _)} {Qabs : Abs Q}.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

PropHolds (10)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

PropHolds (10)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

10
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

1 <> 0
solve_propholds. Qed. Record Qpos@{} : Type@{UQ} := mkQpos { pos : Q; is_pos : 0 < pos }. Notation "Q+" := Qpos. Global Instance Qpos_Q@{} : Cast Qpos Q := pos. Arguments Qpos_Q /.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall a b : Q+, 0 < ' a + ' b
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall a b : Q+, 0 < ' a + ' b
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q+

0 < ' a + ' b
apply semirings.pos_plus_compat;apply is_pos. Qed. Global Instance Qpos_plus@{} : Plus Qpos := fun a b => mkQpos _ (Qpos_plus_pr a b). Global Instance pos_is_pos@{} : forall q : Q+, PropHolds (0 < ' q) := is_pos.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall a b : Q+, ' a = ' b -> a = b
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall a b : Q+, ' a = ' b -> a = b
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a: Q
Ea: 0 < a
b: Q
Eb: 0 < b
E: ' {| pos := a; is_pos := Ea |} = ' {| pos := b; is_pos := Eb |}

{| pos := a; is_pos := Ea |} = {| pos := b; is_pos := Eb |}
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a: Q
Ea: 0 < a
b: Q
Eb: 0 < b
E: a = b

{| pos := a; is_pos := Ea |} = {| pos := b; is_pos := Eb |}
destruct E;apply ap;apply path_ishprop. Qed.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

IsHSet Q+
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

IsHSet Q+
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

Reflexive (fun e d : Q+ => ' e = ' d)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
forall x y : Q+, IsHProp (' x = ' y)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
forall x y : Q+, ' x = ' y -> x = y
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

Reflexive (fun e d : Q+ => ' e = ' d)
intros e; reflexivity.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall x y : Q+, IsHProp (' x = ' y)
apply _.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall x y : Q+, ' x = ' y -> x = y
exact pos_eq. Qed.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

One Q+
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

One Q+
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

0 < 1
apply lt_0_1. Defined.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

Mult Q+
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

Mult Q+
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q+

0 < ' a * ' b
solve_propholds. Defined.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

Commutative plus
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

Commutative plus
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall x y : Q+, x + y = y + x
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
x, y: Q+

x + y = y + x
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
x, y: Q+

' (x + y) = ' (y + x)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
x, y: Q+

' x + ' y = ' y + ' x
apply plus_comm. Qed.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

Commutative mult
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

Commutative mult
hnf;intros;apply pos_eq,mult_comm. Qed.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

DecRecip Q+
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

DecRecip Q+
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
e: Q+

Q+
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
e: Q+

0 < / ' e
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
e: Q+

PropHolds (0 < ' e)
solve_propholds. Defined.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

Cast nat Q+
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

Cast nat Q+
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
n: nat

Q+
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

Q+
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
k: nat
Q+
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

Q+
exists 1;apply lt_0_1.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
k: nat

Q+
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
k: nat

0 < naturals_to_semiring nat Q (k.+1)%nat
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

0 < naturals_to_semiring nat Q 1%nat
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
k: nat
Ik: 0 < naturals_to_semiring nat Q (k.+1)%nat
0 < naturals_to_semiring nat Q (k.+2)%nat
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

0 < naturals_to_semiring nat Q 1%nat
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

0 < 1
apply lt_0_1.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
k: nat
Ik: 0 < naturals_to_semiring nat Q (k.+1)%nat

0 < naturals_to_semiring nat Q (k.+2)%nat
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
k: nat
Ik: 0 < naturals_to_semiring nat Q (k.+1)%nat

0 < 1 + naturals_to_semiring nat Q (k.+1)%nat
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
k: nat
K: Q
Ik: 0 < K

0 < 1 + K
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
k: nat
K: Q
Ik: 0 < K

PropHolds (0 < 1)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
k: nat
K: Q
Ik: 0 < K
PropHolds (0 < K)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
k: nat
K: Q
Ik: 0 < K

PropHolds (0 < 1)
apply lt_0_1.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
k: nat
K: Q
Ik: 0 < K

PropHolds (0 < K)
trivial. Defined.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall e : Q+, e / e = 1
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall e : Q+, e / e = 1
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
e: Q+

' (e / e) = ' 1
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
e: Q+

' e * ' {| pos := / ' e; is_pos := pos_dec_recip_compat (' e) (pos_is_pos e) |} = 1
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
e: Q+

' e / ' e = 1
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
e: Q+

' e <> 0
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
e: Q+

0 < ' e
solve_propholds. Qed.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall e : Q+, ' e / ' e = 1
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall e : Q+, ' e / ' e = 1
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
e: Q+

' e / ' e = 1
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
e: Q+

' (e / e) = 1
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
e: Q+

' 1 = 1
reflexivity. Qed.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall e : Q+, e * 1 = e
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall e : Q+, e * 1 = e
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
e: Q+

' (e * 1) = ' e
apply mult_1_r. Qed.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall e : Q+, e = e / 2 + e / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall e : Q+, e = e / 2 + e / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
e: Q+

e = e / 2 + e / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
e: Q+

e = e * (2 / 2)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
e: Q+
e * (2 / 2) = e / 2 + e / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
e: Q+

e = e * (2 / 2)
rewrite pos_recip_r,pos_mult_1_r;reflexivity.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
e: Q+

e * (2 / 2) = e / 2 + e / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
e: Q+

' (e * (2 / 2)) = ' (e / 2 + e / 2)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
e: Q+

' e * (2 / 2) = ' e / 2 + ' e / 2
ring_tac.ring_with_nat. Qed.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall e : Q+, e = e / 3 + e / 3 + e / 3
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall e : Q+, e = e / 3 + e / 3 + e / 3
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
e: Q+

e = e / 3 + e / 3 + e / 3
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
e: Q+

e = e * (3 / 3)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
e: Q+
e * (3 / 3) = e / 3 + e / 3 + e / 3
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
e: Q+

e = e * (3 / 3)
rewrite pos_recip_r,pos_mult_1_r;reflexivity.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
e: Q+

e * (3 / 3) = e / 3 + e / 3 + e / 3
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
e: Q+

' (e * (3 / 3)) = ' (e / 3 + e / 3 + e / 3)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
e: Q+

' e * (3 / 3) = ' e / 3 + ' e / 3 + ' e / 3
ring_tac.ring_with_nat. Qed.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

Associative mult
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

Associative mult
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall x y z : Q+, x * (y * z) = x * y * z
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
x, y, z: Q+

' (x * (y * z)) = ' (x * y * z)
apply mult_assoc. Qed.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

Associative plus
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

Associative plus
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall x y z : Q+, x + (y + z) = x + y + z
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
x, y, z: Q+

' (x + (y + z)) = ' (x + y + z)
apply plus_assoc. Qed.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

LeftIdentity mult 1
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

LeftIdentity mult 1
hnf;intros;apply pos_eq;apply mult_1_l. Qed.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

RightIdentity mult 1
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

RightIdentity mult 1
hnf;intros;apply pos_eq;apply mult_1_r. Qed.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall a b c : Q+, a + b = c * (a / c + b / c)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall a b c : Q+, a + b = c * (a / c + b / c)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b, c: Q+

a + b = c * (a / c + b / c)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b, c: Q+

a + b = (a + b) * (c / c)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b, c: Q+
(a + b) * (c / c) = c * (a / c + b / c)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b, c: Q+

a + b = (a + b) * (c / c)
rewrite pos_recip_r;apply pos_eq,symmetry,mult_1_r.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b, c: Q+

(a + b) * (c / c) = c * (a / c + b / c)
apply pos_eq;ring_tac.ring_with_nat. Qed.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall a b : Q+, a * b / a = b
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall a b : Q+, a * b / a = b
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q+

a * b / a = b
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q+

a * b / a = a / a * b
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q+
a / a * b = b
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q+

a * b / a = a / a * b
apply pos_eq;ring_tac.ring_with_nat.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q+

a / a * b = b
rewrite pos_recip_r;apply Qpos_mult_1_l. Qed.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

/ 1 = 1
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

/ 1 = 1
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

' (/ 1) = ' 1
exact dec_recip_1. Qed.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

LeftDistribute mult plus
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

LeftDistribute mult plus
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall a b c : Q+, a * (b + c) = a * b + a * c
intros;apply pos_eq,plus_mult_distr_l. Qed.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

Meet Q+
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

Meet Q+
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q+

Q+
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q+

0 < ' a ⊓ ' b
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q+

~ (' a ⊓ ' b ≤ 0)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q+
E: ' a ⊓ ' b ≤ 0

Empty
destruct (total_meet_either (' a) (' b)) as [E1|E1]; rewrite E1 in E;(eapply le_iff_not_lt_flip;[exact E|]); solve_propholds. Defined.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

Join Q+
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

Join Q+
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q+

Q+
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q+

0 < ' a ⊔ ' b
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q+

~ (' a ⊔ ' b ≤ 0)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q+
E: ' a ⊔ ' b ≤ 0

Empty
destruct (total_join_either (' a) (' b)) as [E1|E1]; rewrite E1 in E;(eapply le_iff_not_lt_flip;[exact E|]); solve_propholds. Defined.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall a b c d : Q, a + b = c + d -> a + b = a ⊔ c + (b ⊓ d)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall a b c d : Q, a + b = c + d -> a + b = a ⊔ c + (b ⊓ d)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b, c, d: Q
E: a + b = c + d

a + b = a ⊔ c + (b ⊓ d)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b, c, d: Q
E: a + b = c + d
E1: a ≤ c

a + b = a ⊔ c + (b ⊓ d)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b, c, d: Q
E: a + b = c + d
E1: c ≤ a
a + b = a ⊔ c + (b ⊓ d)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b, c, d: Q
E: a + b = c + d
E1: a ≤ c

a + b = a ⊔ c + (b ⊓ d)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b, c, d: Q
E: a + b = c + d
E1: a ≤ c

a + b = c + (b ⊓ d)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b, c, d: Q
E: a + b = c + d
E1: a ≤ c

d ≤ b
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b, c, d: Q
E: a + b = c + d
E1: a + b ≤ c + b

d ≤ b
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b, c, d: Q
E: a + b = c + d
E1: c + d ≤ c + b

d ≤ b
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b, c, d: Q
E: a + b = c + d
E1: c + d ≤ c + b

c + d ≤ c + b
trivial.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b, c, d: Q
E: a + b = c + d
E1: c ≤ a

a + b = a ⊔ c + (b ⊓ d)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b, c, d: Q
E: a + b = c + d
E1: c ≤ a

a + b = a + (b ⊓ d)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b, c, d: Q
E: a + b = c + d
E1: c ≤ a

b ≤ d
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b, c, d: Q
E: a + b = c + d
E1: c ≤ a

a + b ≤ a + d
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b, c, d: Q
E: a + b = c + d
E1: c ≤ a

c + d ≤ a + d
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b, c, d: Q
E: a + b = c + d
E1: c ≤ a

c ≤ a
trivial. Qed.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall a b c d : Q+, a + b = c + d -> a + b = a ⊔ c + (b ⊓ d)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall a b c d : Q+, a + b = c + d -> a + b = a ⊔ c + (b ⊓ d)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b, c, d: Q+
E: a + b = c + d

a + b = a ⊔ c + (b ⊓ d)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b, c, d: Q+
E: a + b = c + d

' a + ' b = ' c + ' d
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b, c, d: Q+
E: a + b = c + d

' (a + b) = ' c + ' d
rewrite E;reflexivity. Qed.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall a b : Q+, ' a ≤ ' b -> {c : Q+ & {ca : Q+ & {cb : Q+ & ((a = (c + ca)%mc) * (b = (c + cb)%mc))%type}}}
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall a b : Q+, ' a ≤ ' b -> {c : Q+ & {ca : Q+ & {cb : Q+ & ((a = (c + ca)%mc) * (b = (c + cb)%mc))%type}}}
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q+
E: ' a ≤ ' b

{c : Q+ & {ca : Q+ & {cb : Q+ & ((a = (c + ca)%mc) * (b = (c + cb)%mc))%type}}}
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q+
E: ' a ≤ ' b

{cb : Q+ & ((a = (a / 2 + a / 2)%mc) * (b = (a / 2 + cb)%mc))%type}
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q+
E: ' a ≤ ' b

Q+
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q+
E: ' a ≤ ' b
((a = (a / 2 + a / 2)%mc) * (b = (a / 2 + ?Goal)%mc))%type
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q+
E: ' a ≤ ' b

Q+
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q+
E: ' a ≤ ' b

0 < ' (a / 2) + (' b - ' a)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q+
E: ' a ≤ ' b

0 ≤ ' b - ' a
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q+
E: ' a ≤ ' b
0 < ' (a / 2)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q+
E: ' a ≤ ' b

0 ≤ ' b - ' a
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q+
E: ' a ≤ ' b

' a ≤ ' b
trivial.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q+
E: ' a ≤ ' b

0 < ' (a / 2)
solve_propholds.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q+
E: ' a ≤ ' b

((a = (a / 2 + a / 2)%mc) * (b = (a / 2 + {| pos := ' (a / 2) + (' b - ' a); is_pos := nonneg_plus_lt_compat_r 0 (' (a / 2)) (' b - ' a) (snd (flip_nonneg_minus (' a) (' b)) E) (pos_is_pos (a / 2)) |})%mc))%type
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q+
E: ' a ≤ ' b

a = a / 2 + a / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q+
E: ' a ≤ ' b
b = a / 2 + {| pos := ' (a / 2) + (' b - ' a); is_pos := nonneg_plus_lt_compat_r 0 (' (a / 2)) (' b - ' a) (snd (flip_nonneg_minus (' a) (' b)) E) (pos_is_pos (a / 2)) |}
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q+
E: ' a ≤ ' b

a = a / 2 + a / 2
apply pos_split2.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q+
E: ' a ≤ ' b

b = a / 2 + {| pos := ' (a / 2) + (' b - ' a); is_pos := nonneg_plus_lt_compat_r 0 (' (a / 2)) (' b - ' a) (snd (flip_nonneg_minus (' a) (' b)) E) (pos_is_pos (a / 2)) |}
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q+
E: ' a ≤ ' b

' b = ' (a / 2 + {| pos := ' (a / 2) + (' b - ' a); is_pos := nonneg_plus_lt_compat_r 0 (' (a / 2)) (' b - ' a) (snd (flip_nonneg_minus (' a) (' b)) E) (pos_is_pos (a / 2)) |})
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q+
E: ' a ≤ ' b

' b = ' (a / 2) + ' {| pos := ' (a / 2) + (' b - ' a); is_pos := nonneg_plus_lt_compat_r 0 (' (a / 2)) (' b - ' a) (snd (flip_nonneg_minus (' a) (' b)) E) (pos_mult_compat (' a) (' (/ 2)) (pos_is_pos a) (pos_dec_recip_compat (' 2) (Qpos_plus_pr 1 1))) |}
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q+
E: ' a ≤ ' b

' b = ' (a / 2) + (' (a / 2) + (' b - ' a))
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q+
E: ' a ≤ ' b

' b = ' (a / 2) + (' (a / 2) + (' b - ' (a / 2 + a / 2)))
ring_tac.ring_with_integers (NatPair.Z nat). Qed.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall a b : Q+, {c : Q+ & {ca : Q+ & {cb : Q+ & ((a = (c + ca)%mc) * (b = (c + cb)%mc))%type}}}
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall a b : Q+, {c : Q+ & {ca : Q+ & {cb : Q+ & ((a = (c + ca)%mc) * (b = (c + cb)%mc))%type}}}
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q+

{c : Q+ & {ca : Q+ & {cb : Q+ & ((a = (c + ca)%mc) * (b = (c + cb)%mc))%type}}}
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q+
E: ' a ≤ ' b

{c : Q+ & {ca : Q+ & {cb : Q+ & ((a = (c + ca)%mc) * (b = (c + cb)%mc))%type}}}
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q+
E: ' b ≤ ' a
{c : Q+ & {ca : Q+ & {cb : Q+ & ((a = (c + ca)%mc) * (b = (c + cb)%mc))%type}}}
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q+
E: ' a ≤ ' b

{c : Q+ & {ca : Q+ & {cb : Q+ & ((a = (c + ca)%mc) * (b = (c + cb)%mc))%type}}}
apply Qpos_le_lt_min;trivial.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q+
E: ' b ≤ ' a

{c : Q+ & {ca : Q+ & {cb : Q+ & ((a = (c + ca)%mc) * (b = (c + cb)%mc))%type}}}
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q+
E: {c : Q+ & {ca : Q+ & {cb : Q+ & ((b = (c + ca)%mc) * (a = (c + cb)%mc))%type}}}

{c : Q+ & {ca : Q+ & {cb : Q+ & ((a = (c + ca)%mc) * (b = (c + cb)%mc))%type}}}
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b, c, cb, ca: Q+
E1: b = c + cb
E2: a = c + ca

{c : Q+ & {ca : Q+ & {cb : Q+ & ((a = (c + ca)%mc) * (b = (c + cb)%mc))%type}}}
exists c,ca,cb;auto. Qed.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall q r : Q, q < r -> Q+
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall q r : Q, q < r -> Q+
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q
E: q < r

0 < r - q
apply (snd (flip_pos_minus _ _) E). Defined.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall (q r : Q) (E : q < r), r = q + ' Qpos_diff q r E
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall (q r : Q) (E : q < r), r = q + ' Qpos_diff q r E
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q
E: q < r

r = q + ' Qpos_diff q r E
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q
E: q < r

r = q + (r - q)
abstract ring_tac.ring_with_integers (NatPair.Z nat). Qed.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall a b c : Q, (a + b) ⊓ (a + c) = a + (b ⊓ c)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall a b c : Q, (a + b) ⊓ (a + c) = a + (b ⊓ c)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b, c: Q

(a + b) ⊓ (a + c) = a + (b ⊓ c)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b, c: Q
E: b ≤ c

(a + b) ⊓ (a + c) = a + (b ⊓ c)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b, c: Q
E: c ≤ b
(a + b) ⊓ (a + c) = a + (b ⊓ c)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b, c: Q
E: b ≤ c

(a + b) ⊓ (a + c) = a + (b ⊓ c)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b, c: Q
E: b ≤ c

(a + b) ⊓ (a + c) = a + b
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b, c: Q
E: b ≤ c

a + b ≤ a + c
apply (order_preserving (a +)),E.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b, c: Q
E: c ≤ b

(a + b) ⊓ (a + c) = a + (b ⊓ c)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b, c: Q
E: c ≤ b

(a + b) ⊓ (a + c) = a + c
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b, c: Q
E: c ≤ b

a + c ≤ a + b
apply (order_preserving (a +)),E. Qed.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall q : Q, 0 ≤ abs q
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall q : Q, 0 ≤ abs q
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q: Q
E1: 0 ≤ q
E2: abs q = q

0 ≤ q
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q: Q
E1: q ≤ 0
E2: abs q = - q
0 ≤ - q
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q: Q
E1: 0 ≤ q
E2: abs q = q

0 ≤ q
trivial.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q: Q
E1: q ≤ 0
E2: abs q = - q

0 ≤ - q
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q: Q
E1: q ≤ 0
E2: abs q = - q

- - q ≤ 0
rewrite involutive;trivial. Qed.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall q : Q, abs q ≤ 0 -> q = 0
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall q : Q, abs q ≤ 0 -> q = 0
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q: Q
E: abs q ≤ 0

q = 0
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q: Q
E: abs q ≤ 0
E1: abs q = 0

q = 0
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q: Q
E: abs q ≤ 0
E1: q = 0
E2: 0 ≤ q
E3: abs q = q

q = 0
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q: Q
E: abs q ≤ 0
E1: - q = 0
E2: q ≤ 0
E3: abs q = - q
q = 0
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q: Q
E: abs q ≤ 0
E1: q = 0
E2: 0 ≤ q
E3: abs q = q

q = 0
trivial.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q: Q
E: abs q ≤ 0
E1: - q = 0
E2: q ≤ 0
E3: abs q = - q

q = 0
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q: Q
E: abs q ≤ 0
E1: - q = 0
E2: q ≤ 0
E3: abs q = - q

- q = - 0
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q: Q
E: abs q ≤ 0
E1: - q = 0
E2: q ≤ 0
E3: abs q = - q

- q = 0
trivial. Qed.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall q : Q, ((q = 0) + (0 < abs q))%type
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall q : Q, ((q = 0) + (0 < abs q))%type
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q: Q

((q = 0) + (0 < abs q))%type
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q: Q
E: abs q ≤ 0

((q = 0) + (0 < abs q))%type
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q: Q
E: 0 < abs q
((q = 0) + (0 < abs q))%type
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q: Q
E: abs q ≤ 0

((q = 0) + (0 < abs q))%type
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q: Q
E: abs q ≤ 0

q = 0
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q: Q
E: abs q ≤ 0

abs q ≤ 0
trivial.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q: Q
E: 0 < abs q

((q = 0) + (0 < abs q))%type
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q: Q
E: 0 < abs q

0 < abs q
trivial. Qed.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall q : Q, 0 ≤ q -> abs q = q
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall q : Q, 0 ≤ q -> abs q = q
intro;apply ((abs_sig _).2). Qed.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall q : Q, q ≤ 0 -> abs q = - q
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall q : Q, q ≤ 0 -> abs q = - q
intro;apply ((abs_sig _).2). Qed.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall x : Q, x ≤ abs x
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall x : Q, x ≤ abs x
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
x: Q
E1: 0 ≤ x
E2: abs x = x

x ≤ abs x
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
x: Q
E1: x ≤ 0
E2: abs x = - x
x ≤ abs x
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
x: Q
E1: 0 ≤ x
E2: abs x = x

x ≤ abs x
rewrite E2;reflexivity.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
x: Q
E1: x ≤ 0
E2: abs x = - x

x ≤ abs x
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
x: Q
E1: x ≤ 0
E2: abs x = - x

(0 : Q) ≤ abs x
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
x: Q
E1: x ≤ 0
E2: abs x = - x

0 ≤ - x
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
x: Q
E1: x ≤ 0
E2: abs x = - x

x ≤ 0
trivial. Qed.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall x : Q, abs (- x) = abs x
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall x : Q, abs (- x) = abs x
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
x: Q

abs (- x) = abs x
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
x: Q
E1: 0 ≤ x
E2: abs x = x

abs (- x) = abs x
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
x: Q
E1: x ≤ 0
E2: abs x = - x
abs (- x) = abs x
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
x: Q
E1: 0 ≤ x
E2: abs x = x

abs (- x) = abs x
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
x: Q
E1: 0 ≤ x
E2: abs x = x

abs (- x) = x
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
x: Q
E1: 0 ≤ x
E2: abs x = x

abs (- x) = - - x
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
x: Q
E1: 0 ≤ x
E2: abs x = x

- x ≤ 0
apply flip_nonneg_negate;trivial.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
x: Q
E1: x ≤ 0
E2: abs x = - x

abs (- x) = abs x
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
x: Q
E1: x ≤ 0
E2: abs x = - x

abs (- x) = - x
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
x: Q
E1: x ≤ 0
E2: abs x = - x

0 ≤ - x
apply flip_nonpos_negate;trivial. Qed.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall x : Q, - x ≤ abs x
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall x : Q, - x ≤ abs x
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
x: Q

- x ≤ abs x
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
x: Q

- x ≤ abs (- x)
apply Qabs_le_raw. Qed.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall x y : Q, abs x ≤ y <-> - y ≤ x ≤ y
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall x y : Q, abs x ≤ y <-> - y ≤ x ≤ y
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
x, y: Q

abs x ≤ y -> - y ≤ x ≤ y
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
x, y: Q
- y ≤ x ≤ y -> abs x ≤ y
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
x, y: Q

abs x ≤ y -> - y ≤ x ≤ y
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
x, y: Q
E: abs x ≤ y

- y ≤ x ≤ y
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
x, y: Q
E: abs x ≤ y

- y ≤ x
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
x, y: Q
E: abs x ≤ y
x ≤ y
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
x, y: Q
E: abs x ≤ y

- y ≤ x
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
x, y: Q
E: abs x ≤ y

- x ≤ - - y
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
x, y: Q
E: abs x ≤ y

- x ≤ y
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
x, y: Q
E: abs x ≤ y

- x ≤ abs x
apply Qabs_le_neg_raw.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
x, y: Q
E: abs x ≤ y

x ≤ y
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
x, y: Q
E: abs x ≤ y

x ≤ abs x
apply Qabs_le_raw.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
x, y: Q

- y ≤ x ≤ y -> abs x ≤ y
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
x, y: Q
E1: - y ≤ x
E2: x ≤ y

abs x ≤ y
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
x, y: Q
E1: - y ≤ x
E2: x ≤ y
E3: 0 ≤ x
E4: abs x = x

x ≤ y
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
x, y: Q
E1: - y ≤ x
E2: x ≤ y
E3: x ≤ 0
E4: abs x = - x
- x ≤ y
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
x, y: Q
E1: - y ≤ x
E2: x ≤ y
E3: 0 ≤ x
E4: abs x = x

x ≤ y
trivial.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
x, y: Q
E1: - y ≤ x
E2: x ≤ y
E3: x ≤ 0
E4: abs x = - x

- x ≤ y
apply flip_le_negate;rewrite involutive;trivial. Qed.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall q : Q, abs q = - q ⊔ q
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall q : Q, abs q = - q ⊔ q
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q: Q

abs q = - q ⊔ q
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q: Q

- q ⊔ q = abs q
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q: Q
E1: 0 ≤ q
E2: abs q = q

- q ⊔ q = q
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q: Q
E1: q ≤ 0
E2: abs q = - q
- q ⊔ q = - q
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q: Q
E1: 0 ≤ q
E2: abs q = q

- q ⊔ q = q
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q: Q
E1: 0 ≤ q
E2: abs q = q

- q ≤ q
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q: Q
E1: 0 ≤ q
E2: abs q = q

- q ≤ (0 : Q)
apply flip_nonneg_negate;trivial.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q: Q
E1: q ≤ 0
E2: abs q = - q

- q ⊔ q = - q
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q: Q
E1: q ≤ 0
E2: abs q = - q

q ≤ - q
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q: Q
E1: q ≤ 0
E2: abs q = - q

(0 : Q) ≤ - q
apply flip_nonpos_negate;trivial. Qed.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall a b c : Q, a < c -> b < c -> a ⊔ b < c
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall a b c : Q, a < c -> b < c -> a ⊔ b < c
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b, c: Q
E1: a < c
E2: b < c

a ⊔ b < c
destruct (total le a b) as [E3|E3];rewrite ?(join_r _ _ E3),?(join_l _ _ E3); trivial. Qed.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall q r : Q, q < r -> q < (q + r) / 2 < r
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall q r : Q, q < r -> q < (q + r) / 2 < r
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q
E: q < r

q < (q + r) / 2 < r
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q
E: q < r

q < (q + r) / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q
E: q < r
(q + r) / 2 < r
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q
E: q < r

q < (q + r) / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q
E: q < r

0 < (q + r) / 2 - q
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q
E: q < r

(q + r) / 2 - q = (r - q) / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q
E: q < r
0 < (r - q) / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q
E: q < r

(q + r) / 2 - q = (r - q) / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q
E: q < r

(q + r) / 2 - q = (q + r) / 2 - 2 / 2 * q
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q
E: q < r
(q + r) / 2 - 2 / 2 * q = (r - q) / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q
E: q < r

(q + r) / 2 - q = (q + r) / 2 - 2 / 2 * q
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q
E: q < r

(q + r) / 2 - q = (q + r) / 2 - 1 * q
rewrite mult_1_l;trivial.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q
E: q < r

(q + r) / 2 - 2 / 2 * q = (r - q) / 2
ring_tac.ring_with_integers (NatPair.Z nat).
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q
E: q < r

0 < (r - q) / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q
E: q < r

PropHolds (0 < r - q)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q
E: q < r

0 < r - q
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q
E: q < r

q < r
trivial.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q
E: q < r

(q + r) / 2 < r
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q
E: q < r

0 < r - (q + r) / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q
E: q < r

r - (q + r) / 2 = (r - q) / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q
E: q < r
0 < (r - q) / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q
E: q < r

r - (q + r) / 2 = (r - q) / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q
E: q < r

r - (q + r) / 2 = 2 / 2 * r - (q + r) / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q
E: q < r
2 / 2 * r - (q + r) / 2 = (r - q) / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q
E: q < r

r - (q + r) / 2 = 2 / 2 * r - (q + r) / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q
E: q < r

r - (q + r) / 2 = 1 * r - (q + r) / 2
rewrite mult_1_l;trivial.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q
E: q < r

2 / 2 * r - (q + r) / 2 = (r - q) / 2
ring_tac.ring_with_integers (NatPair.Z nat).
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q
E: q < r

0 < (r - q) / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q
E: q < r

PropHolds (0 < r - q)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q
E: q < r

0 < r - q
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q
E: q < r

q < r
trivial. Qed.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q

q + (r - q) / 2 = (r + q) / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q

q + (r - q) / 2 = (r + q) / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q

(fun q0 : Q => q0 + (r - q) / 2 = (r + q) / 2) q
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q

q * 1 + (r - q) / 2 = (r + q) / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q

(fun q0 : Q => q * q0 + (r - q) / 2 = (r + q) / 2) (1 : Q)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q

q * (2 / 2) + (r - q) / 2 = (r + q) / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q

q * 2 / 2 + (r - q) / 2 = (r + q) / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q

(q * 2 + (r - q)) / 2 = (r + q) / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q

(q * 1 + q * 1 + (r - q)) / 2 = (r + q) / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q

(q + q + (r - q)) / 2 = (r + q) / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q

(r - q + (q + q)) / 2 = (r + q) / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q

(r + (- q + (q + q))) / 2 = (r + q) / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q

(r + (- q + q + q)) / 2 = (r + q) / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q

(r + (0 + q)) / 2 = (r + q) / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q

(r + q) / 2 = (r + q) / 2
reflexivity. Qed.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q

r - (r - q) / 2 = (r + q) / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q

r - (r - q) / 2 = (r + q) / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q

(fun q0 : Q => q0 - (r - q) / 2 = (r + q) / 2) r
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q

r * 1 - (r - q) / 2 = (r + q) / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q

(fun q0 : Q => r * q0 - (r - q) / 2 = (r + q) / 2) (1 : Q)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q

r * (2 / 2) - (r - q) / 2 = (r + q) / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q

r * 2 / 2 - (r - q) / 2 = (r + q) / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q

r * 2 / 2 + - (r - q) / 2 = (r + q) / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q

(r * 2 - (r - q)) / 2 = (r + q) / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q

(r * 1 + r * 1 - (r - q)) / 2 = (r + q) / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q

(r + r - (r - q)) / 2 = (r + q) / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q

(- (r - q) + (r + r)) / 2 = (r + q) / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q

(q - r + (r + r)) / 2 = (r + q) / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q

(q + (- r + (r + r))) / 2 = (r + q) / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q

(q + (- r + r + r)) / 2 = (r + q) / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q

(q + (0 + r)) / 2 = (r + q) / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q

(q + r) / 2 = (r + q) / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q

(r + q) / 2 = (r + q) / 2
reflexivity. Qed.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall (a b : Q) (e : Q+), a < ' e -> b < ' e -> {d : Q+ & {d' : Q+ & ((a < ' d) * ((b < ' d) * (e = (d + d')%mc)))%type}}
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall (a b : Q) (e : Q+), a < ' e -> b < ' e -> {d : Q+ & {d' : Q+ & ((a < ' d) * ((b < ' d) * (e = (d + d')%mc)))%type}}
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall a b : Q, a ≤ b -> forall e : Q+, a < ' e -> b < ' e -> {d : Q+ & {d' : Q+ & ((a < ' d) * ((b < ' d) * (e = (d + d')%mc)))%type}}
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
Haux: forall a b : Q, a ≤ b -> forall e : Q+, a < ' e -> b < ' e -> {d : Q+ & {d' : Q+ & ((a < ' d) * ((b < ' d) * (e = (d + d')%mc)))%type}}
forall (a b : Q) (e : Q+), a < ' e -> b < ' e -> {d : Q+ & {d' : Q+ & ((a < ' d) * ((b < ' d) * (e = (d + d')%mc)))%type}}
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall a b : Q, a ≤ b -> forall e : Q+, a < ' e -> b < ' e -> {d : Q+ & {d' : Q+ & ((a < ' d) * ((b < ' d) * (e = (d + d')%mc)))%type}}
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q
E: a ≤ b
e: Q+
E1: a < ' e
E2: b < ' e

{d : Q+ & {d' : Q+ & ((a < ' d) * ((b < ' d) * (e = (d + d')%mc)))%type}}
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q
E: a ≤ b
e: Q+
E1: a < ' e
E2: b < ' e
E3: b ⊔ 0 < (b ⊔ 0 + ' e) / 2
E4: (b ⊔ 0 + ' e) / 2 < ' e

{d : Q+ & {d' : Q+ & ((a < ' d) * ((b < ' d) * (e = (d + d')%mc)))%type}}
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q
E: a ≤ b
e: Q+
E1: a < ' e
E2: b < ' e
E3: b ⊔ 0 < (b ⊔ 0 + ' e) / 2
E4: (b ⊔ 0 + ' e) / 2 < ' e

{d' : Q+ & ((a < ' {| pos := (b ⊔ 0 + ' e)%mc / 2; is_pos := le_lt_trans 0 (b ⊔ 0) ((b ⊔ 0 + ' e)%mc / 2) (join_ub_r b 0) E3 |}) * ((b < ' {| pos := (b ⊔ 0 + ' e)%mc / 2; is_pos := le_lt_trans 0 (b ⊔ 0) ((b ⊔ 0 + ' e)%mc / 2) (join_ub_r b 0) E3 |}) * (e = ({| pos := (b ⊔ 0 + ' e) / 2; is_pos := le_lt_trans 0 (b ⊔ 0) ((b ⊔ 0 + ' e) / 2) (join_ub_r b 0) E3 |} + d')%mc)))%type}
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q
E: a ≤ b
e: Q+
E1: a < ' e
E2: b < ' e
E3: b ⊔ 0 < (b ⊔ 0 + ' e) / 2
E4: (b ⊔ 0 + ' e) / 2 < ' e

{d' : Q+ & ((a < (b ⊔ 0 + ' e)%mc / 2) * ((b < (b ⊔ 0 + ' e)%mc / 2) * (e = ({| pos := (b ⊔ 0 + ' e) / 2; is_pos := le_lt_trans 0 (b ⊔ 0) ((b ⊔ 0 + ' e) / 2) (join_ub_r b 0) E3 |} + d')%mc)))%type}
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q
E: a ≤ b
e: Q+
E1: a < ' e
E2: b < ' e
E3: b ⊔ 0 < (b ⊔ 0 + ' e) / 2
E4: (b ⊔ 0 + ' e) / 2 < ' e

((a < (b ⊔ 0 + ' e)%mc / 2) * ((b < (b ⊔ 0 + ' e)%mc / 2) * (e = ({| pos := (b ⊔ 0 + ' e) / 2; is_pos := le_lt_trans 0 (b ⊔ 0) ((b ⊔ 0 + ' e) / 2) (join_ub_r b 0) E3 |} + Qpos_diff ((b ⊔ 0 + ' e) / 2) (' e) E4)%mc)))%type
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q
E: a ≤ b
e: Q+
E1: a < ' e
E2: b < ' e
E3: b ⊔ 0 < (b ⊔ 0 + ' e) / 2
E4: (b ⊔ 0 + ' e) / 2 < ' e

a < (b ⊔ 0 + ' e) / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q
E: a ≤ b
e: Q+
E1: a < ' e
E2: b < ' e
E3: b ⊔ 0 < (b ⊔ 0 + ' e) / 2
E4: (b ⊔ 0 + ' e) / 2 < ' e
b < (b ⊔ 0 + ' e) / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q
E: a ≤ b
e: Q+
E1: a < ' e
E2: b < ' e
E3: b ⊔ 0 < (b ⊔ 0 + ' e) / 2
E4: (b ⊔ 0 + ' e) / 2 < ' e
e = {| pos := (b ⊔ 0 + ' e) / 2; is_pos := le_lt_trans 0 (b ⊔ 0) ((b ⊔ 0 + ' e) / 2) (join_ub_r b 0) E3 |} + Qpos_diff ((b ⊔ 0 + ' e) / 2) (' e) E4
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q
E: a ≤ b
e: Q+
E1: a < ' e
E2: b < ' e
E3: b ⊔ 0 < (b ⊔ 0 + ' e) / 2
E4: (b ⊔ 0 + ' e) / 2 < ' e

a < (b ⊔ 0 + ' e) / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q
E: a ≤ b
e: Q+
E1: a < ' e
E2: b < ' e
E3: b ⊔ 0 < (b ⊔ 0 + ' e) / 2
E4: (b ⊔ 0 + ' e) / 2 < ' e

b < (b ⊔ 0 + ' e) / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q
E: a ≤ b
e: Q+
E1: a < ' e
E2: b < ' e
E3: b ⊔ 0 < (b ⊔ 0 + ' e) / 2
E4: (b ⊔ 0 + ' e) / 2 < ' e

b ≤ b ⊔ 0
apply join_ub_l.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q
E: a ≤ b
e: Q+
E1: a < ' e
E2: b < ' e
E3: b ⊔ 0 < (b ⊔ 0 + ' e) / 2
E4: (b ⊔ 0 + ' e) / 2 < ' e

b < (b ⊔ 0 + ' e) / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q
E: a ≤ b
e: Q+
E1: a < ' e
E2: b < ' e
E3: b ⊔ 0 < (b ⊔ 0 + ' e) / 2
E4: (b ⊔ 0 + ' e) / 2 < ' e

b ≤ b ⊔ 0
apply join_ub_l.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q
E: a ≤ b
e: Q+
E1: a < ' e
E2: b < ' e
E3: b ⊔ 0 < (b ⊔ 0 + ' e) / 2
E4: (b ⊔ 0 + ' e) / 2 < ' e

e = {| pos := (b ⊔ 0 + ' e) / 2; is_pos := le_lt_trans 0 (b ⊔ 0) ((b ⊔ 0 + ' e) / 2) (join_ub_r b 0) E3 |} + Qpos_diff ((b ⊔ 0 + ' e) / 2) (' e) E4
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q
E: a ≤ b
e: Q+
E1: a < ' e
E2: b < ' e
E3: b ⊔ 0 < (b ⊔ 0 + ' e) / 2
E4: (b ⊔ 0 + ' e) / 2 < ' e

' e = ' ({| pos := (b ⊔ 0 + ' e) / 2; is_pos := le_lt_trans 0 (b ⊔ 0) ((b ⊔ 0 + ' e) / 2) (join_ub_r b 0) E3 |} + Qpos_diff ((b ⊔ 0 + ' e) / 2) (' e) E4)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q
E: a ≤ b
e: Q+
E1: a < ' e
E2: b < ' e
E3: b ⊔ 0 < (b ⊔ 0 + ' e) / 2
E4: (b ⊔ 0 + ' e) / 2 < ' e

' e = ' {| pos := (b ⊔ 0 + ' e) / 2; is_pos := le_lt_trans 0 (b ⊔ 0) ((b ⊔ 0 + ' e) / 2) (join_ub_r b 0) E3 |} + ' Qpos_diff ((b ⊔ 0 + ' e) / 2) (' e) E4
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q
E: a ≤ b
e: Q+
E1: a < ' e
E2: b < ' e
E3: b ⊔ 0 < (b ⊔ 0 + ' e) / 2
E4: (b ⊔ 0 + ' e) / 2 < ' e

' e = (b ⊔ 0 + ' e) / 2 + ' Qpos_diff ((b ⊔ 0 + ' e) / 2) (' e) E4
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q
E: a ≤ b
e: Q+
E1: a < ' e
E2: b < ' e
E3: b ⊔ 0 < (b ⊔ 0 + ' e) / 2
E4: (b ⊔ 0 + ' e) / 2 < ' e

' e = (b ⊔ 0 + ' e) / 2 + (' e - (b ⊔ 0 + ' e) / 2)
abstract ring_tac.ring_with_integers (NatPair.Z nat).
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
Haux: forall a b : Q, a ≤ b -> forall e : Q+, a < ' e -> b < ' e -> {d : Q+ & {d' : Q+ & ((a < ' d) * ((b < ' d) * (e = (d + d')%mc)))%type}}

forall (a b : Q) (e : Q+), a < ' e -> b < ' e -> {d : Q+ & {d' : Q+ & ((a < ' d) * ((b < ' d) * (e = (d + d')%mc)))%type}}
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
Haux: forall a b : Q, a ≤ b -> forall e : Q+, a < ' e -> b < ' e -> {d : Q+ & {d' : Q+ & ((a < ' d) * ((b < ' d) * (e = (d + d')%mc)))%type}}
a, b: Q
e: Q+
E1: a < ' e
E2: b < ' e

{d : Q+ & {d' : Q+ & ((a < ' d) * ((b < ' d) * (e = (d + d')%mc)))%type}}
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
Haux: forall a b : Q, a ≤ b -> forall e : Q+, a < ' e -> b < ' e -> {d : Q+ & {d' : Q+ & ((a < ' d) * ((b < ' d) * (e = (d + d')%mc)))%type}}
a, b: Q
e: Q+
E1: a < ' e
E2: b < ' e
E: b ≤ a

{d : Q+ & {d' : Q+ & ((a < ' d) * ((b < ' d) * (e = (d + d')%mc)))%type}}
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
Haux: forall a b : Q, a ≤ b -> forall e : Q+, a < ' e -> b < ' e -> {d : Q+ & {d' : Q+ & ((a < ' d) * ((b < ' d) * (e = (d + d')%mc)))%type}}
a, b: Q
e: Q+
E1: a < ' e
E2: b < ' e
E: b ≤ a
d, d': Q+
E3: b < ' d
E4: a < ' d
E5: e = d + d'

{d : Q+ & {d' : Q+ & ((a < ' d) * ((b < ' d) * (e = (d + d')%mc)))%type}}
eauto. Qed.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

2 / 4 = 1 / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

2 / 4 = 1 / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
Hrw: 4 = 2 * 2

2 / 4 = 1 / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
Hrw: 4 = 2 * 2

' (2 / 4) = ' (1 / 2)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
Hrw: 4 = 2 * 2

2 / 4 = 1 / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

2 / (2 * 2) = 1 / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

2 * (/ 2 / 2) = 1 / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

2 / 2 / 2 = 1 / 2
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

1 / 2 = 1 / 2
reflexivity.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
X: IsSemiCRing Q

Unit -> Q
exact (fun _ => 1). (* <- wtf *) Qed.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall q r : Q, abs (q + r) ≤ abs q + abs r
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall q r : Q, abs (q + r) ≤ abs q + abs r
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q

abs (q + r) ≤ abs q + abs r
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q

- (q + r) ⊔ (q + r) ≤ abs q + abs r
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q

- (q + r) ≤ abs q + abs r
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q
q + r ≤ abs q + abs r
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q

- (q + r) ≤ abs q + abs r
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q

- q - r ≤ abs q + abs r
apply plus_le_compat;apply Qabs_le_neg_raw.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q

q + r ≤ abs q + abs r
apply plus_le_compat;apply Qabs_le_raw. Qed.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall x y : Q, abs x - abs y ≤ abs (x - y)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall x y : Q, abs x - abs y ≤ abs (x - y)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q

abs q - abs r ≤ abs (q - r)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q

abs q - abs r + abs r ≤ abs (q - r) + abs r
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q

abs q ≤ abs (q - r) + abs r
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q

abs q ≤ abs (q - r + r)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q

abs q ≤ abs q
reflexivity. Qed.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall x y : Q, abs (abs x - abs y) ≤ abs (x - y)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall x y : Q, abs (abs x - abs y) ≤ abs (x - y)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q

abs (abs q - abs r) ≤ abs (q - r)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q

- (abs q - abs r) ⊔ (abs q - abs r) ≤ abs (q - r)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q

- (abs q - abs r) ≤ abs (q - r)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q
abs q - abs r ≤ abs (q - r)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q

- (abs q - abs r) ≤ abs (q - r)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q

abs r - abs q ≤ abs (r - q)
apply Qabs_triangle_alt_aux.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q

abs q - abs r ≤ abs (q - r)
apply Qabs_triangle_alt_aux. Qed.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall q r : Q, q < r -> {s : Q & q < s < r}
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall q r : Q, q < r -> {s : Q & q < s < r}
intros q r E;econstructor;apply Q_average_between,E. Qed.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall a b : Q, abs (a - b) = abs (b - a)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall a b : Q, abs (a - b) = abs (b - a)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q

abs (a - b) = abs (b - a)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q

abs (- (a - b)) = abs (b - a)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q

abs (b - a) = abs (b - a)
trivial. Qed. Definition pos_of_Q : Q -> Q+ := fun q => {| pos := abs q + 1; is_pos := le_lt_trans _ _ _ (Qabs_nonneg q) (fst (pos_plus_lt_compat_r _ _) lt_0_1) |}.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall q : Q, - ' pos_of_Q q ≤ q ≤ ' pos_of_Q q
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall q : Q, - ' pos_of_Q q ≤ q ≤ ' pos_of_Q q
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q: Q

- ' pos_of_Q q ≤ q ≤ ' pos_of_Q q
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q: Q

- (abs q + 1) ≤ q ≤ abs q + 1
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q: Q

- (abs q + 1) ≤ q
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q: Q
q ≤ abs q + 1
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q: Q

- (abs q + 1) ≤ q
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q: Q

- q ≤ - - (abs q + 1)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q: Q

- q ≤ abs q + 1
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q: Q

- q ≤ abs q
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q: Q
abs q ≤ abs q + 1
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q: Q

- q ≤ abs q
apply Qabs_le_neg_raw.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q: Q

abs q ≤ abs q + 1
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q: Q

01
solve_propholds.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q: Q

q ≤ abs q + 1
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q: Q

q ≤ abs q
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q: Q
abs q ≤ abs q + 1
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q: Q

q ≤ abs q
apply Qabs_le_raw.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q: Q

abs q ≤ abs q + 1
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q: Q

01
solve_propholds. Qed.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall a b : Q, abs (a * b) = abs a * abs b
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall a b : Q, abs (a * b) = abs a * abs b
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q

abs (a * b) = abs a * abs b
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q
Ea1: 0 ≤ a
Ea2: abs a = a
Eb1: 0 ≤ b
Eb2: abs b = b

abs (a * b) = a * b
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q
Ea1: 0 ≤ a
Ea2: abs a = a
Eb1: b ≤ 0
Eb2: abs b = - b
abs (a * b) = a * - b
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q
Ea1: a ≤ 0
Ea2: abs a = - a
Eb1: 0 ≤ b
Eb2: abs b = b
abs (a * b) = - a * b
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q
Ea1: a ≤ 0
Ea2: abs a = - a
Eb1: b ≤ 0
Eb2: abs b = - b
abs (a * b) = - a * - b
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q
Ea1: 0 ≤ a
Ea2: abs a = a
Eb1: 0 ≤ b
Eb2: abs b = b

abs (a * b) = a * b
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q
Ea1: 0 ≤ a
Ea2: abs a = a
Eb1: 0 ≤ b
Eb2: abs b = b

0 ≤ a * b
apply nonneg_mult_compat;trivial.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q
Ea1: 0 ≤ a
Ea2: abs a = a
Eb1: b ≤ 0
Eb2: abs b = - b

abs (a * b) = a * - b
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q
Ea1: 0 ≤ a
Ea2: abs a = a
Eb1: b ≤ 0
Eb2: abs b = - b

abs (a * b) = - (a * b)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q
Ea1: 0 ≤ a
Ea2: abs a = a
Eb1: b ≤ 0
Eb2: abs b = - b

a * b ≤ 0
apply nonneg_nonpos_mult;trivial.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q
Ea1: a ≤ 0
Ea2: abs a = - a
Eb1: 0 ≤ b
Eb2: abs b = b

abs (a * b) = - a * b
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q
Ea1: a ≤ 0
Ea2: abs a = - a
Eb1: 0 ≤ b
Eb2: abs b = b

abs (a * b) = - (a * b)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q
Ea1: a ≤ 0
Ea2: abs a = - a
Eb1: 0 ≤ b
Eb2: abs b = b

a * b ≤ 0
apply nonpos_nonneg_mult;trivial.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q
Ea1: a ≤ 0
Ea2: abs a = - a
Eb1: b ≤ 0
Eb2: abs b = - b

abs (a * b) = - a * - b
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q
Ea1: a ≤ 0
Ea2: abs a = - a
Eb1: b ≤ 0
Eb2: abs b = - b

abs (a * b) = a * b
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
a, b: Q
Ea1: a ≤ 0
Ea2: abs a = - a
Eb1: b ≤ 0
Eb2: abs b = - b

0 ≤ a * b
apply nonpos_mult;trivial. Qed.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall a : Q+, - ' a ≤ ' a
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall a : Q+, - ' a ≤ ' a
intros a;apply between_nonneg;solve_propholds. Qed. Definition Qpos_upper (e : Q+) := exists x : Q, ' e <= x.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
e: Q+

Q -> Qpos_upper e
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
e: Q+

Q -> Qpos_upper e
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
e: Q+
x: Q

Qpos_upper e
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
e: Q+
x: Q

' e ≤ x ⊔ ' e
apply join_ub_r. Defined.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall q r : Q, Decidable (q ≤ r)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall q r : Q, Decidable (q ≤ r)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q
l: q ≤ r

Decidable (q ≤ r)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q
l: r < q
Decidable (q ≤ r)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q
l: q ≤ r

Decidable (q ≤ r)
left;trivial.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q
l: r < q

Decidable (q ≤ r)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q
l: r < q
X: q ≤ r

Empty
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q
l: r < q
X: q ≤ r

q < q
apply le_lt_trans with r;trivial. Qed.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall q r : Q, Decidable (q < r)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q

forall q r : Q, Decidable (q < r)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q
l: r ≤ q

Decidable (q < r)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q
l: q < r
Decidable (q < r)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q
l: r ≤ q

Decidable (q < r)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q
l: r ≤ q
X: q < r

Empty
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q
l: r ≤ q
X: q < r

q < q
apply lt_le_trans with r;trivial.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
q, r: Q
l: q < r

Decidable (q < r)
left;trivial. Qed. Section enumerable. Context `{Enumerable Q}.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
H1: Enumerable Q

nat -> Q+
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
H1: Enumerable Q

nat -> Q+
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
H1: Enumerable Q
n: nat

Q+
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
H1: Enumerable Q
n: nat
E: enumerator Q n ≤ 0

Q+
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
H1: Enumerable Q
n: nat
E: 0 < enumerator Q n
Q+
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
H1: Enumerable Q
n: nat
E: enumerator Q n ≤ 0

Q+
exact 1.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
H1: Enumerable Q
n: nat
E: 0 < enumerator Q n

Q+
exists (enumerator Q n);trivial. Defined.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
H1: Enumerable Q

ReflectiveSubuniverse.IsConnMap (Tr (-1)) Qpos_enumerator
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
H1: Enumerable Q

ReflectiveSubuniverse.IsConnMap (Tr (-1)) Qpos_enumerator
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
H1: Enumerable Q

forall b : Q+, merely (hfiber Qpos_enumerator b)
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
H1: Enumerable Q

forall b : Q+, merely {x : nat & Qpos_enumerator x = b}
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
H1: Enumerable Q
e: Q+

Tr (-1) (hfiber (enumerator Q) (' e)) -> merely {x : nat & Qpos_enumerator x = e}
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
H1: Enumerable Q
e: Q+

hfiber (enumerator Q) (' e) -> merely {x : nat & Qpos_enumerator x = e}
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
H1: Enumerable Q
e: Q+
n: nat
E: enumerator Q n = ' e

merely {x : nat & Qpos_enumerator x = e}
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
H1: Enumerable Q
e: Q+
n: nat
E: enumerator Q n = ' e

Qpos_enumerator n = e
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
H1: Enumerable Q
e: Q+
n: nat
E: enumerator Q n = ' e

match le_or_lt (enumerator Q n) 0 with | inl _ => 1 | inr l => {| pos := enumerator Q n; is_pos := l |} end = e
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
H1: Enumerable Q
e: Q+
n: nat
E: enumerator Q n = ' e
E1: enumerator Q n ≤ 0

1 = e
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
H1: Enumerable Q
e: Q+
n: nat
E: enumerator Q n = ' e
E1: 0 < enumerator Q n
{| pos := enumerator Q n; is_pos := E1 |} = e
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
H1: Enumerable Q
e: Q+
n: nat
E: enumerator Q n = ' e
E1: enumerator Q n ≤ 0

1 = e
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
H1: Enumerable Q
e: Q+
n: nat
E: enumerator Q n = ' e
E1: enumerator Q n ≤ 0

0 < 0
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
H1: Enumerable Q
e: Q+
n: nat
E: enumerator Q n = ' e
E1: enumerator Q n ≤ 0

0 < enumerator Q n
rewrite E;solve_propholds.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
H1: Enumerable Q
e: Q+
n: nat
E: enumerator Q n = ' e
E1: 0 < enumerator Q n

{| pos := enumerator Q n; is_pos := E1 |} = e
apply pos_eq,E. Qed.
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
H1: Enumerable Q

Enumerable Q+
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
H1: Enumerable Q

Enumerable Q+
H: Funext
H0: Univalence
Q: Type
Qap: Apart Q
Qplus: Plus Q
Qmult: Mult Q
Qzero: Zero Q
Qone: One Q
Qneg: Negate Q
Qrecip: DecRecip Q
Qle: Le Q
Qlt: Lt Q
QtoField: RationalsToField Q
Qrats: Rationals Q
Qtrivialapart: TrivialApart Q
Qdec: DecidablePaths Q
Qmeet: Meet Q
Qjoin: Join Q
Qlattice: LatticeOrder Qle
Qle_total: TotalRelation le
Qabs: Abs Q
H1: Enumerable Q

ReflectiveSubuniverse.IsConnMap (Tr (-1)) Qpos_enumerator
first [exact Qpos_is_enumerator@{Uhuge Ularge}| exact Qpos_is_enumerator@{}]. Qed. End enumerable. End contents. Arguments Qpos Q {_ _}.