Built with Alectryon, running Coq+SerAPI v8.19.0+0.19.3. Bubbles () indicate interactive fragments: hover for details, tap to reveal contents. Use Ctrl+↑Ctrl+↓ to navigate, Ctrl+🖱️ to focus. On Mac, use ⌘ instead of Ctrl.
[Loading ML file number_string_notation_plugin.cmxs (using legacy method) ... done]
Require Export
HoTT.Classes.orders.rings.Generalizable VariablesF f R Fle Flt.Sectioncontents.Context `{OrderedField F}.
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x: F Px: 0 < x
0 < // (x; positive_apart_zero x Px)
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x: F Px: 0 < x
0 < // (x; positive_apart_zero x Px)
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x: F Px: 0 < x
x * 0 < x // (x; positive_apart_zero x Px)
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x: F Px: 0 < x
0 < x // (x; positive_apart_zero x Px)
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x: F Px: 0 < x
0 < 1
exact lt_0_1.Qed.
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x: F Px: x < 0
// (x; negative_apart_zero x Px) < 0
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x: F Px: x < 0
// (x; negative_apart_zero x Px) < 0
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x: F Px: x < 0 negxpos:= fst (flip_neg_negate x) Px: 0 < - x
// (x; negative_apart_zero x Px) < 0
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x: F Px: x < 0 negxpos:= fst (flip_neg_negate x) Px: 0 < - x
- x // (x; negative_apart_zero x Px) < - x * 0
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x: F Px: x < 0 negxpos:= fst (flip_neg_negate x) Px: 0 < - x
- x // (x; negative_apart_zero x Px) < 0
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x: F Px: x < 0 negxpos:= fst (flip_neg_negate x) Px: 0 < - x
- (x // (x; negative_apart_zero x Px)) < 0
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x: F Px: x < 0 negxpos:= fst (flip_neg_negate x) Px: 0 < - x
-1 < 0
apply flip_pos_negate, lt_0_1.Qed.
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x, y: F Py: 0 < y ltyx: y < x
letapy0 := positive_apart_zero y Py inletapx0 :=
positive_apart_zero x (transitivity Py ltyx) in
// (x; apx0) < // (y; apy0)
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x, y: F Py: 0 < y ltyx: y < x
letapy0 := positive_apart_zero y Py inletapx0 :=
positive_apart_zero x (transitivity Py ltyx) in
// (x; apx0) < // (y; apy0)
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x, y: F Py: 0 < y ltyx: y < x X: 0 < x
letapy0 := positive_apart_zero y Py inletapx0 :=
positive_apart_zero x (transitivity Py ltyx) in
// (x; apx0) < // (y; apy0)
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x, y: F Py: 0 < y ltyx: y < x X: 0 < x
x // (x; positive_apart_zero x (transitivity Py ltyx)) <
x // (y; positive_apart_zero y Py)
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x, y: F Py: 0 < y ltyx: y < x X: 0 < x
1 < x // (y; positive_apart_zero y Py)
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x, y: F Py: 0 < y ltyx: y < x X: 0 < x
1 < // (y; positive_apart_zero y Py) * x
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x, y: F Py: 0 < y ltyx: y < x X: 0 < x
y * 1 < y * (// (y; positive_apart_zero y Py) * x)
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x, y: F Py: 0 < y ltyx: y < x X: 0 < x
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x, y: F Py: 0 < y ltyx: // (y; positive_apart_zero y Py) < x
letapx0 :=
positive_apart_zero x
(transitivity (pos_recip_compat y Py) ltyx) in
// (x; apx0) < y
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x, y: F Py: 0 < y ltyx: // (y; positive_apart_zero y Py) < x
letapx0 :=
positive_apart_zero x
(transitivity (pos_recip_compat y Py) ltyx) in
// (x; apx0) < y
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x, y: F Py: 0 < y ltyx: // (y; positive_apart_zero y Py) < x apy0:= positive_apart_zero y Py: y ≶ 0
letapx0 :=
positive_apart_zero x
(transitivity (pos_recip_compat y Py) ltyx) in
// (x; apx0) < y
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x, y: F Py: 0 < y ltyx: // (y; positive_apart_zero y Py) < x apy0:= positive_apart_zero y Py: y ≶ 0 eq:= recip_involutive (y; apy0): recip_on_apart (recip_on_apart (y; apy0)) =
(y; apy0)
letapx0 :=
positive_apart_zero x
(transitivity (pos_recip_compat y Py) ltyx) in
// (x; apx0) < y
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x, y: F Py: 0 < y ltyx: // (y; positive_apart_zero y Py) < x apy0:= positive_apart_zero y Py: y ≶ 0 eq:= recip_involutive (y; apy0): recip_on_apart (recip_on_apart (y; apy0)) =
(y; apy0) eq':= ap pr1 eq: (recip_on_apart (recip_on_apart (y; apy0))).1 =
(y; apy0).1
letapx0 :=
positive_apart_zero x
(transitivity (pos_recip_compat y Py) ltyx) in
// (x; apx0) < y
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x, y: F Py: 0 < y ltyx: // (y; positive_apart_zero y Py) < x apy0:= positive_apart_zero y Py: y ≶ 0 eq:= recip_involutive (y; apy0): recip_on_apart (recip_on_apart (y; apy0)) =
(y; apy0) eq':= ap pr1 eq: // recip_on_apart (y; apy0) = y
letapx0 :=
positive_apart_zero x
(transitivity (pos_recip_compat y Py) ltyx) in
// (x; apx0) < y
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x, y: F Py: 0 < y ltyx: // (y; positive_apart_zero y Py) < x apy0:= positive_apart_zero y Py: y ≶ 0 eq:= recip_involutive (y; apy0): recip_on_apart (recip_on_apart (y; apy0)) =
(y; apy0) eq':= ap pr1 eq: // recip_on_apart (y; apy0) = y
//
(x;
positive_apart_zero x
(transitivity (pos_recip_compat y Py) ltyx)) <
// recip_on_apart (y; apy0)
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x, y: F Py: 0 < y ltyx: // (y; positive_apart_zero y Py) < x apy0:= positive_apart_zero y Py: y ≶ 0 eq:= recip_involutive (y; apy0): recip_on_apart (recip_on_apart (y; apy0)) =
(y; apy0) eq':= ap pr1 eq: // recip_on_apart (y; apy0) = y
//
(x;
positive_apart_zero x
(transitivity (pos_recip_compat y Py) ltyx)) <
// (// (y; apy0); recip_apart (y; apy0).1 (y; apy0).2)
(* need : // (y; apy0) < x *)(* have : //(y;pseudo_order_lt_apart_flip 0 y Py) < x *)
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x, y: F Py: 0 < y ltyx: // (y; positive_apart_zero y Py) < x apy0:= positive_apart_zero y Py: y ≶ 0 eq:= recip_involutive (y; apy0): recip_on_apart (recip_on_apart (y; apy0)) =
(y; apy0) eq':= ap pr1 eq: // recip_on_apart (y; apy0) = y ltyx2:= ltyx: // (y; positive_apart_zero y Py) < x
//
(x;
positive_apart_zero x
(transitivity (pos_recip_compat y Py) ltyx2)) <
// (// (y; apy0); recip_apart (y; apy0).1 (y; apy0).2)
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x, y: F Py: 0 < y ltyx: // (y; positive_apart_zero y Py) < x apy0:= positive_apart_zero y Py: y ≶ 0 eq:= recip_involutive (y; apy0): recip_on_apart (recip_on_apart (y; apy0)) =
(y; apy0) eq':= ap pr1 eq: // recip_on_apart (y; apy0) = y ltyx2:= ltyx: // (y; positive_apart_zero y Py) < x
//
(x;
positive_apart_zero x
(transitivity (pos_recip_compat y Py) ltyx)) <
// (// (y; apy0); recip_apart (y; apy0).1 (y; apy0).2)
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x, y: F Py: 0 < y ltyx: // (y; positive_apart_zero y Py) < x apy0:= positive_apart_zero y Py: y ≶ 0 eq:= recip_involutive (y; apy0): recip_on_apart (recip_on_apart (y; apy0)) =
(y; apy0) eq':= ap pr1 eq: // recip_on_apart (y; apy0) = y ltyx2: // (y; apy0) < x
//
(x;
positive_apart_zero x
(transitivity (pos_recip_compat y Py) ltyx)) <
// (// (y; apy0); recip_apart (y; apy0).1 (y; apy0).2)
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x, y: F Py: 0 < y ltyx: // (y; positive_apart_zero y Py) < x apy0:= positive_apart_zero y Py: y ≶ 0 eq:= recip_involutive (y; apy0): recip_on_apart (recip_on_apart (y; apy0)) =
(y; apy0) eq':= ap pr1 eq: // recip_on_apart (y; apy0) = y ltyx2: // (y; apy0) < x ltyx_recips:= flip_lt_recip x (// (y; apy0))
(pos_recip_compat y Py) ltyx2: letapy1 :=
positive_apart_zero (// (y; apy0))
(pos_recip_compat y Py) inletapx0 :=
positive_apart_zero x
(transitivity
(pos_recip_compat y Py) ltyx2) in
// (x; apx0) < // (// (y; apy0); apy1)
//
(x;
positive_apart_zero x
(transitivity (pos_recip_compat y Py) ltyx)) <
// (// (y; apy0); recip_apart (y; apy0).1 (y; apy0).2)
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x, y: F Py: 0 < y ltyx: // (y; positive_apart_zero y Py) < x apy0:= positive_apart_zero y Py: y ≶ 0 eq:= recip_involutive (y; apy0): recip_on_apart (recip_on_apart (y; apy0)) =
(y; apy0) eq':= ap pr1 eq: // recip_on_apart (y; apy0) = y ltyx2: // (y; apy0) < x ltyx_recips:= flip_lt_recip x (// (y; apy0))
(pos_recip_compat y Py) ltyx2: //
(x;
positive_apart_zero x
(strictorder_trans 0 (// (y; apy0)) x
(pos_recip_compat y Py) ltyx2)) <
//
(// (y; apy0);
positive_apart_zero (// (y; apy0))
(pos_recip_compat y Py))
//
(x;
positive_apart_zero x
(transitivity (pos_recip_compat y Py) ltyx)) <
// (// (y; apy0); recip_apart (y; apy0).1 (y; apy0).2)
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x, y: F Py: 0 < y ltyx: // (y; positive_apart_zero y Py) < x apy0:= positive_apart_zero y Py: y ≶ 0 eq:= recip_involutive (y; apy0): recip_on_apart (recip_on_apart (y; apy0)) =
(y; apy0) eq':= ap pr1 eq: // recip_on_apart (y; apy0) = y ltyx2: // (y; apy0) < x ltyx_recips: //
(x;
positive_apart_zero x
(transitivity (pos_recip_compat y Py)
ltyx)) <
//
(// (y; apy0);
positive_apart_zero (// (y; apy0))
(pos_recip_compat y Py))
//
(x;
positive_apart_zero x
(transitivity (pos_recip_compat y Py) ltyx)) <
// (// (y; apy0); recip_apart (y; apy0).1 (y; apy0).2)
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x, y: F Py: 0 < y ltyx: // (y; positive_apart_zero y Py) < x apy0:= positive_apart_zero y Py: y ≶ 0 eq:= recip_involutive (y; apy0): recip_on_apart (recip_on_apart (y; apy0)) =
(y; apy0) eq':= ap pr1 eq: // recip_on_apart (y; apy0) = y ltyx2: // (y; apy0) < x ltyx_recips: //
(x;
positive_apart_zero x
(transitivity (pos_recip_compat y Py)
ltyx)) <
//
(// (y; apy0);
positive_apart_zero (// (y; apy0))
(pos_recip_compat y Py))
//
(x;
positive_apart_zero x
(strictorder_trans 0 (// (y; apy0)) x
(pos_recip_compat y Py) ltyx)) <
// (// (y; apy0); recip_apart y apy0)
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x, y: F Py: 0 < y ltyx: // (y; positive_apart_zero y Py) < x apy0:= positive_apart_zero y Py: y ≶ 0 eq:= recip_involutive (y; apy0): recip_on_apart (recip_on_apart (y; apy0)) =
(y; apy0) eq':= ap pr1 eq: // recip_on_apart (y; apy0) = y ltyx2: // (y; apy0) < x ltyx_recips: //
(x;
positive_apart_zero x
(transitivity (pos_recip_compat y Py)
ltyx)) <
// (// (y; apy0); recip_apart y apy0)
//
(x;
positive_apart_zero x
(strictorder_trans 0 (// (y; apy0)) x
(pos_recip_compat y Py) ltyx)) <
// (// (y; apy0); recip_apart y apy0)
assumption.Qed.
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x, y: F Px: 0 < x Py: 0 < y ltyx: y < // (x; positive_apart_zero x Px)
x < // (y; positive_apart_zero y Py)
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x, y: F Px: 0 < x Py: 0 < y ltyx: y < // (x; positive_apart_zero x Px)
x < // (y; positive_apart_zero y Py)
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x, y: F Px: 0 < x Py: 0 < y ltyx: y < // (x; positive_apart_zero x Px) apx0:= positive_apart_zero x Px: x ≶ 0
x < // (y; positive_apart_zero y Py)
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x, y: F Px: 0 < x Py: 0 < y ltyx: y < // (x; positive_apart_zero x Px) apx0:= positive_apart_zero x Px: x ≶ 0 apy0:= positive_apart_zero y Py: y ≶ 0
x < // (y; apy0)
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x, y: F Px: 0 < x Py: 0 < y ltyx: y < // (x; positive_apart_zero x Px) apx0:= positive_apart_zero x Px: x ≶ 0 apy0:= positive_apart_zero y Py: y ≶ 0
((x; apx0) : ApartZero F).1 < // (y; apy0)
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x, y: F Px: 0 < x Py: 0 < y ltyx: y < // (x; positive_apart_zero x Px) apx0:= positive_apart_zero x Px: x ≶ 0 apy0:= positive_apart_zero y Py: y ≶ 0
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x, y: F Px: 0 < x Py: 0 < y ltyx: y < // (x; positive_apart_zero x Px) apx0:= positive_apart_zero x Px: x ≶ 0 apy0:= positive_apart_zero y Py: y ≶ 0
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x, y: F Px: 0 < x Py: 0 < y ltyx: y < // (x; positive_apart_zero x Px) apx0:= positive_apart_zero x Px: x ≶ 0 apy0:= positive_apart_zero y Py: y ≶ 0 ltry: 0 < // (y; positive_apart_zero y Py)
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x, y: F Px: 0 < x Py: 0 < y ltyx: y < // (x; positive_apart_zero x Px) apx0:= positive_apart_zero x Px: x ≶ 0 apy0:= positive_apart_zero y Py: y ≶ 0 ltry: 0 < // (y; apy0)
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x, y: F Px: 0 < x Py: 0 < y apy0:= positive_apart_zero y Py: y ≶ 0 ltyx: ((y; apy0) : ApartZero F).1 <
// (x; positive_apart_zero x Px) apx0:= positive_apart_zero x Px: x ≶ 0 ltry: 0 < // (y; apy0)
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x, y: F Px: 0 < x Py: 0 < y apy0:= positive_apart_zero y Py: y ≶ 0 ltyx: (recip_on_apart (recip_on_apart (y; apy0))).1 <
// (x; positive_apart_zero x Px) apx0:= positive_apart_zero x Px: x ≶ 0 ltry: 0 < // (y; apy0)
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x, y: F Px: 0 < x Py: 0 < y apy0:= positive_apart_zero y Py: y ≶ 0 ltyx: // (// (y; apy0); recip_apart y apy0) <
// (x; positive_apart_zero x Px) apx0:= positive_apart_zero x Px: x ≶ 0 ltry: 0 < // (y; apy0)
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x, y: F Px: 0 < x Py: 0 < y apy0:= positive_apart_zero y Py: y ≶ 0 ltry: 0 < // (y; apy0) ltyx: //
(// (y; apy0);
positive_apart_zero (// (y; apy0)) ltry) <
// (x; positive_apart_zero x Px) apx0:= positive_apart_zero x Px: x ≶ 0
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x, y: F Px: 0 < x Py: 0 < y apy0:= positive_apart_zero y Py: y ≶ 0 ltry: 0 < // (y; apy0) ltyx: //
(// (y; apy0);
positive_apart_zero (// (y; apy0)) ltry) <
// (x; positive_apart_zero x Px) apx0:= positive_apart_zero x Px: x ≶ 0 ltxy: letapx1 :=
positive_apart_zero (// (x; apx0))
(transitivity
(pos_recip_compat (// (y; apy0)) ltry)
ltyx) in
// (// (x; apx0); apx1) < // (y; apy0)
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x, y: F Px: 0 < x Py: 0 < y apy0:= positive_apart_zero y Py: y ≶ 0 ltry: 0 < // (y; apy0) ltyx: //
(// (y; apy0);
positive_apart_zero (// (y; apy0)) ltry) <
// (x; positive_apart_zero x Px) apx0:= positive_apart_zero x Px: x ≶ 0 ltxy: //
(// (x; apx0);
positive_apart_zero (// (x; apx0))
(strictorder_trans 0
(//
(// (y; apy0);
positive_apart_zero (// (y; apy0)) ltry))
(// (x; apx0))
(pos_recip_compat (// (y; apy0)) ltry)
ltyx)) < // (y; apy0)
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x, y: F Px: 0 < x Py: 0 < y apy0:= positive_apart_zero y Py: y ≶ 0 ltry: 0 < // (y; apy0) ltyx: //
(// (y; apy0);
positive_apart_zero (// (y; apy0)) ltry) <
// (x; positive_apart_zero x Px) apx0:= positive_apart_zero x Px: x ≶ 0 ltxy: // (// (x; apx0); recip_apart x apx0) <
// (y; apy0)
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x: F
x * recip' 2 (positive_apart_zero 2 lt_0_2) +
x * recip' 2 (positive_apart_zero 2 lt_0_2) = x
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x: F
x * recip' 2 (positive_apart_zero 2 lt_0_2) +
x * recip' 2 (positive_apart_zero 2 lt_0_2) = x
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x: F
x *
(recip' 2 (positive_apart_zero 2 lt_0_2) +
recip' 2 (positive_apart_zero 2 lt_0_2)) = x
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x: F
x *
(1 * recip' 2 (positive_apart_zero 2 lt_0_2) +
1 * recip' 2 (positive_apart_zero 2 lt_0_2)) = x
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x: F
x * (2 * recip' 2 (positive_apart_zero 2 lt_0_2)) = x
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x: F
x * 1 = x
F: Type Alt: Lt F Ale: Le F Aap: Apart F Azero: Zero F Aone: One F Aplus: Plus F Anegate: Negate F Amult: Mult F Arecip: Recip F Ajoin: Join F Ameet: Meet F H: OrderedField F x: F