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]
Require Import HoTT.Classes.theory.naturals. Require Import HoTT.Classes.interfaces.abstract_algebra HoTT.Classes.interfaces.orders HoTT.Classes.theory.rings HoTT.Classes.orders.rings HoTT.Classes.implementations.peano_naturals. Require Export HoTT.Classes.orders.nat_int. Generalizable Variables N R Rle Rlt f. Section naturals_order. Context `{Funext} `{Univalence}. Context `{Naturals N} `{!TrivialApart N}.
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
x: N

PropHolds (0 ≤ x)
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
x: N

PropHolds (0 ≤ x)
apply (to_semiring_nonneg (f:=id)). Qed.
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
x, y: N

x ≤ y <-> {z : N & y = x + z}
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
x, y: N

x ≤ y <-> {z : N & y = x + z}
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
x, y: N
E: x ≤ y

{z : N & y = x + z}
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
x, y: N
E: {z : N & y = x + z}
x ≤ y
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
x, y: N
E: x ≤ y

{z : N & y = x + z}
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
x, y: N
E: x ≤ y
z: N
Ez1: 0 ≤ z
Ez2: y = x + z

{z : N & y = x + z}
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
x, y: N
E: x ≤ y
z: N
Ez1: 0 ≤ z
Ez2: y = x + z

y = x + z
trivial.
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
x, y: N
E: {z : N & y = x + z}

x ≤ y
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
x, y, z: N
Ez: y = x + z

x ≤ y
apply compose_le with z; [solve_propholds | trivial]. Qed.
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
x: N

~ (x < 0)
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
x: N

~ (x < 0)
apply le_not_lt_flip, nat_nonneg. Qed.
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
x: N

((x = 0) + (0 < x))%type
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
x: N

((x = 0) + (0 < x))%type
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
x: N
p: 0 = x

((x = 0) + (0 < x))%type
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
x: N
l: x < 0
((x = 0) + (0 < x))%type
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
x: N
p: 0 = x

((x = 0) + (0 < x))%type
left;symmetry;trivial.
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
x: N
l: x < 0

((x = 0) + (0 < x))%type
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
x: N
l: x < 0

x < 0
trivial. Qed.
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
x: N

((x = 0) + (1 ≤ x))%type
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
x: N

((x = 0) + (1 ≤ x))%type
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
x: N
l: 0 < x

((x = 0) + (1 ≤ x))%type
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
x: N
l: 0 < x

0 < x
trivial. Qed.
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
x: N

x <> 0 <-> 0 < x
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
x: N

x <> 0 <-> 0 < x
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
x: N

x <> 0 -> 0 < x
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
x: N
0 < x -> x <> 0
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
x: N

x <> 0 -> 0 < x
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
x: N
p: x = 0

x <> 0 -> 0 < x
intros E;destruct E;trivial.
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
x: N

0 < x -> x <> 0
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
x: N
E1: 0 < x
E2: x = 0

Empty
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
x: N
E1: 0 < 0
E2: x = 0

Empty
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
x: N
E1: 0 < 0
E2: x = 0

0 < 0
trivial. Qed.
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
x: N

x <> 0 <-> 1 ≤ x
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
x: N

x <> 0 <-> 1 ≤ x
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
x: N

x <> 0 <-> ?Goal
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
x: N
?Goal <-> 1 ≤ x
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
x: N

x <> 0 <-> ?Goal
apply nat_ne_0_pos.
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
x: N

0 < x <-> 1 ≤ x
apply pos_ge_1. Qed.
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N

forall z : N, PropHolds (z <> 0) -> OrderReflecting (mult z)
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N

forall z : N, PropHolds (z <> 0) -> OrderReflecting (mult z)
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
z: N
X: PropHolds (z <> 0)

OrderReflecting (mult z)
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
z: N
X: PropHolds (z <> 0)

forall x y : N, z * x ≤ z * y -> x ≤ y
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
z: N
X: PropHolds (z <> 0)

0 < z
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
z: N
X: PropHolds (z <> 0)

z <> 0
trivial. Qed.
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N

forall x y : N, Decidable (x ≤ y)
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N

forall x y : N, Decidable (x ≤ y)
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
x, y: N

Decidable (x ≤ y)
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
x, y: N
E: naturals_to_semiring N nat x ≤ naturals_to_semiring N nat y

Decidable (x ≤ y)
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
x, y: N
E: ~ (naturals_to_semiring N nat x ≤ naturals_to_semiring N nat y)
Decidable (x ≤ y)
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
x, y: N
E: naturals_to_semiring N nat x ≤ naturals_to_semiring N nat y

Decidable (x ≤ y)
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
x, y: N
E: naturals_to_semiring N nat x ≤ naturals_to_semiring N nat y

x ≤ y
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
x, y: N
E: naturals_to_semiring N nat x ≤ naturals_to_semiring N nat y

naturals_to_semiring N nat x ≤ naturals_to_semiring N nat y
exact E.
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
x, y: N
E: ~ (naturals_to_semiring N nat x ≤ naturals_to_semiring N nat y)

Decidable (x ≤ y)
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
x, y: N
E: ~ (naturals_to_semiring N nat x ≤ naturals_to_semiring N nat y)

~ (x ≤ y)
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
x, y: N
E: ~ (naturals_to_semiring N nat x ≤ naturals_to_semiring N nat y)
E': x ≤ y

Empty
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
x, y: N
E: ~ (naturals_to_semiring N nat x ≤ naturals_to_semiring N nat y)
E': x ≤ y

naturals_to_semiring N nat x ≤ naturals_to_semiring N nat y
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
x, y: N
E: ~ (naturals_to_semiring N nat x ≤ naturals_to_semiring N nat y)
E': x ≤ y

OrderPreserving (naturals_to_semiring N nat)
apply _. Qed. Section another_ring. Context `{IsCRing R} `{Apart R} `{!FullPseudoSemiRingOrder (A:=R) Rle Rlt} `{!IsSemiRingPreserving (f : N -> R)}.
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
R: Type
Aplus0: Plus R
Amult0: Mult R
Azero0: Zero R
Aone0: One R
Anegate: Negate R
H2: IsCRing R
H3: Apart R
Rle: Le R
Rlt: Lt R
FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder Rle Rlt
f: N -> R
IsSemiRingPreserving0: IsSemiRingPreserving (f : N -> R)
n: N

- f n ≤ 0
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
R: Type
Aplus0: Plus R
Amult0: Mult R
Azero0: Zero R
Aone0: One R
Anegate: Negate R
H2: IsCRing R
H3: Apart R
Rle: Le R
Rlt: Lt R
FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder Rle Rlt
f: N -> R
IsSemiRingPreserving0: IsSemiRingPreserving (f : N -> R)
n: N

- f n ≤ 0
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
R: Type
Aplus0: Plus R
Amult0: Mult R
Azero0: Zero R
Aone0: One R
Anegate: Negate R
H2: IsCRing R
H3: Apart R
Rle: Le R
Rlt: Lt R
FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder Rle Rlt
f: N -> R
IsSemiRingPreserving0: IsSemiRingPreserving (f : N -> R)
n: N

0 ≤ f n
apply to_semiring_nonneg. Qed.
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
R: Type
Aplus0: Plus R
Amult0: Mult R
Azero0: Zero R
Aone0: One R
Anegate: Negate R
H2: IsCRing R
H3: Apart R
Rle: Le R
Rlt: Lt R
FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder Rle Rlt
f: N -> R
IsSemiRingPreserving0: IsSemiRingPreserving (f : N -> R)
n: N

- f n ≤ f n
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
R: Type
Aplus0: Plus R
Amult0: Mult R
Azero0: Zero R
Aone0: One R
Anegate: Negate R
H2: IsCRing R
H3: Apart R
Rle: Le R
Rlt: Lt R
FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder Rle Rlt
f: N -> R
IsSemiRingPreserving0: IsSemiRingPreserving (f : N -> R)
n: N

- f n ≤ f n
H: Funext
H0: Univalence
N: Type
Aap: Apart N
Aplus: Plus N
Amult: Mult N
Azero: Zero N
Aone: One N
Ale: Le N
Alt: Lt N
U: NaturalsToSemiRing N
H1: Naturals N
TrivialApart0: TrivialApart N
R: Type
Aplus0: Plus R
Amult0: Mult R
Azero0: Zero R
Aone0: One R
Anegate: Negate R
H2: IsCRing R
H3: Apart R
Rle: Le R
Rlt: Lt R
FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder Rle Rlt
f: N -> R
IsSemiRingPreserving0: IsSemiRingPreserving (f : N -> R)
n: N

0 ≤ f n
apply to_semiring_nonneg. Qed. End another_ring. End naturals_order. #[export] Hint Extern 20 (PropHolds (_ ≤ _)) => eapply @nat_nonneg : typeclass_instances.