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.semirings.Generalizable VariablesN R f.SectionUniv.Context `{Funext} `{Univalence}.(**We axiomatize the order on the naturals and the integers as a non trivialpseudo semiring order that satisfies the biinduction principle. We provesome results that hold for the order on the naturals and the integers.In particular, we show that given another non trivial pseudo semiring order(that not necessarily has to satisfy the biinduction principle, for examplethe rationals or the reals), any morphism to it is an order embedding.*)
H: Funext H0: Univalence N: Type H1: Apart N H2: Plus N H3: Mult N H4: Zero N H5: One N Ale: Le N Alt: Lt N H6: FullPseudoSemiRingOrder Ale Alt NaturalsToSemiRing0: NaturalsToSemiRing N Naturals0: Naturals N R: Type H7: Apart R H8: Plus R H9: Mult R H10: Zero R H11: One R Ale0: Le R Alt0: Lt R H12: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R f: N -> R IsSemiRingPreserving0: IsSemiRingPreserving
(f : N -> R) n: N
0 ≤ f n
H: Funext H0: Univalence N: Type H1: Apart N H2: Plus N H3: Mult N H4: Zero N H5: One N Ale: Le N Alt: Lt N H6: FullPseudoSemiRingOrder Ale Alt NaturalsToSemiRing0: NaturalsToSemiRing N Naturals0: Naturals N R: Type H7: Apart R H8: Plus R H9: Mult R H10: Zero R H11: One R Ale0: Le R Alt0: Lt R H12: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R f: N -> R IsSemiRingPreserving0: IsSemiRingPreserving
(f : N -> R) n: N
0 ≤ f n
H: Funext H0: Univalence N: Type H1: Apart N H2: Plus N H3: Mult N H4: Zero N H5: One N Ale: Le N Alt: Lt N H6: FullPseudoSemiRingOrder Ale Alt NaturalsToSemiRing0: NaturalsToSemiRing N Naturals0: Naturals N R: Type H7: Apart R H8: Plus R H9: Mult R H10: Zero R H11: One R Ale0: Le R Alt0: Lt R H12: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R f: N -> R IsSemiRingPreserving0: IsSemiRingPreserving
(f : N -> R)
foralln : N, 0 ≤ f n
H: Funext H0: Univalence N: Type H1: Apart N H2: Plus N H3: Mult N H4: Zero N H5: One N Ale: Le N Alt: Lt N H6: FullPseudoSemiRingOrder Ale Alt NaturalsToSemiRing0: NaturalsToSemiRing N Naturals0: Naturals N R: Type H7: Apart R H8: Plus R H9: Mult R H10: Zero R H11: One R Ale0: Le R Alt0: Lt R H12: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R f: N -> R IsSemiRingPreserving0: IsSemiRingPreserving
(f : N -> R)
0 ≤ f 0
H: Funext H0: Univalence N: Type H1: Apart N H2: Plus N H3: Mult N H4: Zero N H5: One N Ale: Le N Alt: Lt N H6: FullPseudoSemiRingOrder Ale Alt NaturalsToSemiRing0: NaturalsToSemiRing N Naturals0: Naturals N R: Type H7: Apart R H8: Plus R H9: Mult R H10: Zero R H11: One R Ale0: Le R Alt0: Lt R H12: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R f: N -> R IsSemiRingPreserving0: IsSemiRingPreserving
(f : N -> R)
foralln : N, 0 ≤ f n -> 0 ≤ f (1 + n)
H: Funext H0: Univalence N: Type H1: Apart N H2: Plus N H3: Mult N H4: Zero N H5: One N Ale: Le N Alt: Lt N H6: FullPseudoSemiRingOrder Ale Alt NaturalsToSemiRing0: NaturalsToSemiRing N Naturals0: Naturals N R: Type H7: Apart R H8: Plus R H9: Mult R H10: Zero R H11: One R Ale0: Le R Alt0: Lt R H12: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R f: N -> R IsSemiRingPreserving0: IsSemiRingPreserving
(f : N -> R)
0 ≤ f 0
H: Funext H0: Univalence N: Type H1: Apart N H2: Plus N H3: Mult N H4: Zero N H5: One N Ale: Le N Alt: Lt N H6: FullPseudoSemiRingOrder Ale Alt NaturalsToSemiRing0: NaturalsToSemiRing N Naturals0: Naturals N R: Type H7: Apart R H8: Plus R H9: Mult R H10: Zero R H11: One R Ale0: Le R Alt0: Lt R H12: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R f: N -> R IsSemiRingPreserving0: IsSemiRingPreserving
(f : N -> R)
0 ≤ 0
reflexivity.
H: Funext H0: Univalence N: Type H1: Apart N H2: Plus N H3: Mult N H4: Zero N H5: One N Ale: Le N Alt: Lt N H6: FullPseudoSemiRingOrder Ale Alt NaturalsToSemiRing0: NaturalsToSemiRing N Naturals0: Naturals N R: Type H7: Apart R H8: Plus R H9: Mult R H10: Zero R H11: One R Ale0: Le R Alt0: Lt R H12: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R f: N -> R IsSemiRingPreserving0: IsSemiRingPreserving
(f : N -> R)
foralln : N, 0 ≤ f n -> 0 ≤ f (1 + n)
H: Funext H0: Univalence N: Type H1: Apart N H2: Plus N H3: Mult N H4: Zero N H5: One N Ale: Le N Alt: Lt N H6: FullPseudoSemiRingOrder Ale Alt NaturalsToSemiRing0: NaturalsToSemiRing N Naturals0: Naturals N R: Type H7: Apart R H8: Plus R H9: Mult R H10: Zero R H11: One R Ale0: Le R Alt0: Lt R H12: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R f: N -> R IsSemiRingPreserving0: IsSemiRingPreserving
(f : N -> R) n: N E: 0 ≤ f n
0 ≤ f (1 + n)
H: Funext H0: Univalence N: Type H1: Apart N H2: Plus N H3: Mult N H4: Zero N H5: One N Ale: Le N Alt: Lt N H6: FullPseudoSemiRingOrder Ale Alt NaturalsToSemiRing0: NaturalsToSemiRing N Naturals0: Naturals N R: Type H7: Apart R H8: Plus R H9: Mult R H10: Zero R H11: One R Ale0: Le R Alt0: Lt R H12: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R f: N -> R IsSemiRingPreserving0: IsSemiRingPreserving
(f : N -> R) n: N E: 0 ≤ f n
0 ≤ 1 + f n
H: Funext H0: Univalence N: Type H1: Apart N H2: Plus N H3: Mult N H4: Zero N H5: One N Ale: Le N Alt: Lt N H6: FullPseudoSemiRingOrder Ale Alt NaturalsToSemiRing0: NaturalsToSemiRing N Naturals0: Naturals N R: Type H7: Apart R H8: Plus R H9: Mult R H10: Zero R H11: One R Ale0: Le R Alt0: Lt R H12: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R f: N -> R IsSemiRingPreserving0: IsSemiRingPreserving
(f : N -> R) n: N E: 0 ≤ f n
PropHolds (0 ≤ 1)
H: Funext H0: Univalence N: Type H1: Apart N H2: Plus N H3: Mult N H4: Zero N H5: One N Ale: Le N Alt: Lt N H6: FullPseudoSemiRingOrder Ale Alt NaturalsToSemiRing0: NaturalsToSemiRing N Naturals0: Naturals N R: Type H7: Apart R H8: Plus R H9: Mult R H10: Zero R H11: One R Ale0: Le R Alt0: Lt R H12: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R f: N -> R IsSemiRingPreserving0: IsSemiRingPreserving
(f : N -> R) n: N E: 0 ≤ f n
PropHolds (0 ≤ f n)
H: Funext H0: Univalence N: Type H1: Apart N H2: Plus N H3: Mult N H4: Zero N H5: One N Ale: Le N Alt: Lt N H6: FullPseudoSemiRingOrder Ale Alt NaturalsToSemiRing0: NaturalsToSemiRing N Naturals0: Naturals N R: Type H7: Apart R H8: Plus R H9: Mult R H10: Zero R H11: One R Ale0: Le R Alt0: Lt R H12: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R f: N -> R IsSemiRingPreserving0: IsSemiRingPreserving
(f : N -> R) n: N E: 0 ≤ f n
PropHolds (0 ≤ 1)
solve_propholds.
H: Funext H0: Univalence N: Type H1: Apart N H2: Plus N H3: Mult N H4: Zero N H5: One N Ale: Le N Alt: Lt N H6: FullPseudoSemiRingOrder Ale Alt NaturalsToSemiRing0: NaturalsToSemiRing N Naturals0: Naturals N R: Type H7: Apart R H8: Plus R H9: Mult R H10: Zero R H11: One R Ale0: Le R Alt0: Lt R H12: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R f: N -> R IsSemiRingPreserving0: IsSemiRingPreserving
(f : N -> R) n: N E: 0 ≤ f n
PropHolds (0 ≤ f n)
trivial.Qed.Sectionnat_int_order.Context `{Naturals N} `{Apart N} `{Le N} `{Lt N} `{!FullPseudoSemiRingOrder le lt}
`{FullPseudoSemiRingOrder R} `{!IsSemiCRing R}
`{!Biinduction R} `{PropHolds (1 ≶ 0)}.(* Add Ring R : (stdlib_semiring_theory 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0)
forallx : R,
{z : N &
((x = naturals_to_semiring N R z) +
(plus x (naturals_to_semiring N R z) = 0))%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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0)
forallx : R,
{z : N &
((x = naturals_to_semiring N R z) +
(plus x (naturals_to_semiring N R z) = 0))%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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0)
{z : N &
((0 = naturals_to_semiring N R z) +
(plus 0 (naturals_to_semiring N R z) = 0))%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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0)
foralln : R,
{z : N &
((n = naturals_to_semiring N R z) +
(plus n (naturals_to_semiring N R z) = 0))%type} <->
{z : N &
((plus 1 n = naturals_to_semiring N R z) +
(plus (plus 1 n) (naturals_to_semiring N R z) = 0))%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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0)
{z : N &
((0 = naturals_to_semiring N R z) +
(plus 0 (naturals_to_semiring N R z) = 0))%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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0)
((0 = naturals_to_semiring N R 0) +
(plus 0 (naturals_to_semiring N R 0) = 0))%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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0)
0 = naturals_to_semiring N R 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0)
naturals_to_semiring N R 0 = 0
exact preserves_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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0)
foralln : R,
{z : N &
((n = naturals_to_semiring N R z) +
(plus n (naturals_to_semiring N R z) = 0))%type} <->
{z : N &
((plus 1 n = naturals_to_semiring N R z) +
(plus (plus 1 n) (naturals_to_semiring N R z) = 0))%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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) n: R
{z : N &
((n = naturals_to_semiring N R z) +
(plus n (naturals_to_semiring N R z) = 0))%type} <->
{z : N &
((plus 1 n = naturals_to_semiring N R z) +
(plus (plus 1 n) (naturals_to_semiring N R z) = 0))%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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) n: R E: {z : N &
((n = naturals_to_semiring N R z) +
(plus n (naturals_to_semiring N R z) = 0))%type}
{z : N &
((plus 1 n = naturals_to_semiring N R z) +
(plus (plus 1 n) (naturals_to_semiring N R z) = 0))%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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) n: R E: {z : N &
((plus 1 n = naturals_to_semiring N R z) +
(plus (plus 1 n) (naturals_to_semiring N R z) = 0))%type}
{z : N &
((n = naturals_to_semiring N R z) +
(plus n (naturals_to_semiring N R z) = 0))%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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) n: R E: {z : N &
((n = naturals_to_semiring N R z) +
(plus n (naturals_to_semiring N R z) = 0))%type}
{z : N &
((plus 1 n = naturals_to_semiring N R z) +
(plus (plus 1 n) (naturals_to_semiring N R z) = 0))%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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) n: R z: N E: n = naturals_to_semiring N R z
{z : N &
((plus 1 n = naturals_to_semiring N R z) +
(plus (plus 1 n) (naturals_to_semiring N R z) = 0))%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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) n: R z: N E: n + naturals_to_semiring N R z = 0
{z : N &
((plus 1 n = naturals_to_semiring N R z) +
(plus (plus 1 n) (naturals_to_semiring N R z) = 0))%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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) n: R z: N E: n = naturals_to_semiring N R z
{z : N &
((plus 1 n = naturals_to_semiring N R z) +
(plus (plus 1 n) (naturals_to_semiring N R z) = 0))%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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) n: R z: N E: n = naturals_to_semiring N R z
((plus 1 n = naturals_to_semiring N R (plus 1 z)) +
(plus (plus 1 n)
(naturals_to_semiring N R (plus 1 z)) = 0))%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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) n: R z: N E: n = naturals_to_semiring N R z
1 + n = naturals_to_semiring N R (1 + 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) n: R z: N E: n = naturals_to_semiring N R z
1 + naturals_to_semiring N R z =
naturals_to_semiring N R (1 + 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) n: R z: N E: n = naturals_to_semiring N R z
1 + naturals_to_semiring N R z =
1 + naturals_to_semiring N R z
reflexivity.
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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) n: R z: N E: n + naturals_to_semiring N R z = 0
{z : N &
((plus 1 n = naturals_to_semiring N R z) +
(plus (plus 1 n) (naturals_to_semiring N R z) = 0))%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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) n: R z: N E: n + naturals_to_semiring N R z = 0 Ez: z = 0
{z : N &
((plus 1 n = naturals_to_semiring N R z) +
(plus (plus 1 n) (naturals_to_semiring N R z) = 0))%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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) n: R z: N E: n + naturals_to_semiring N R z = 0 z': N Ez: z = 1 + z'
{z : N &
((plus 1 n = naturals_to_semiring N R z) +
(plus (plus 1 n) (naturals_to_semiring N R z) = 0))%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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) n: R z: N E: n + naturals_to_semiring N R z = 0 Ez: z = 0
{z : N &
((plus 1 n = naturals_to_semiring N R z) +
(plus (plus 1 n) (naturals_to_semiring N R z) = 0))%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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) n: R z: N E: n + naturals_to_semiring N R 0 = 0 Ez: z = 0
{z : N &
((plus 1 n = naturals_to_semiring N R z) +
(plus (plus 1 n) (naturals_to_semiring N R z) = 0))%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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) n: R z: N E: n = 0 Ez: z = 0
{z : N &
((plus 1 n = naturals_to_semiring N R z) +
(plus (plus 1 n) (naturals_to_semiring N R z) = 0))%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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) n: R z: N E: n = 0 Ez: z = 0
{z : N &
((plus 10 = naturals_to_semiring N R z) +
(plus (plus 10) (naturals_to_semiring N R z) = 0))%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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) n: R z: N E: n = 0 Ez: z = 0
((plus 10 = naturals_to_semiring N R 1) +
(plus (plus 10) (naturals_to_semiring N R 1) = 0))%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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) n: R z: N E: n = 0 Ez: z = 0
1 + 0 = naturals_to_semiring N R 1
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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) n: R z: N E: n = 0 Ez: z = 0
1 = 1
reflexivity.
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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) n: R z: N E: n + naturals_to_semiring N R z = 0 z': N Ez: z = 1 + z'
{z : N &
((plus 1 n = naturals_to_semiring N R z) +
(plus (plus 1 n) (naturals_to_semiring N R z) = 0))%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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) n: R z': N E: n + naturals_to_semiring N R (1 + z') = 0
{z : N &
((plus 1 n = naturals_to_semiring N R z) +
(plus (plus 1 n) (naturals_to_semiring N R z) = 0))%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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) n: R z': N E: n + naturals_to_semiring N R (1 + z') = 0
1 + n + naturals_to_semiring N R z' = 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) n: R z': N E: n + naturals_to_semiring N R (1 + z') = 0
1 + n + naturals_to_semiring N R z' =
n + naturals_to_semiring N R (1 + 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) n: R z': N
1 + n + naturals_to_semiring N R z' =
n + naturals_to_semiring N R (1 + 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) n: R z': N
1 + n + naturals_to_semiring N R z' =
n + (1 + naturals_to_semiring N R z')
rewrite plus_assoc,(plus_comm n);reflexivity.
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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) n: R E: {z : N &
((plus 1 n = naturals_to_semiring N R z) +
(plus (plus 1 n) (naturals_to_semiring N R z) = 0))%type}
{z : N &
((n = naturals_to_semiring N R z) +
(plus n (naturals_to_semiring N R z) = 0))%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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) n: R z: N E: 1 + n = naturals_to_semiring N R z
{z : N &
((n = naturals_to_semiring N R z) +
(plus n (naturals_to_semiring N R z) = 0))%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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) n: R z: N E: 1 + n + naturals_to_semiring N R z = 0
{z : N &
((n = naturals_to_semiring N R z) +
(plus n (naturals_to_semiring N R z) = 0))%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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) n: R z: N E: 1 + n = naturals_to_semiring N R z
{z : N &
((n = naturals_to_semiring N R z) +
(plus n (naturals_to_semiring N R z) = 0))%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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) n: R E: 1 + n = naturals_to_semiring N R 0
{z : N &
((n = naturals_to_semiring N R z) +
(plus n (naturals_to_semiring N R z) = 0))%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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) n: R z': N E: 1 + n = naturals_to_semiring N R (1 + z')
{z : N &
((n = naturals_to_semiring N R z) +
(plus n (naturals_to_semiring N R z) = 0))%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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) n: R E: 1 + n = naturals_to_semiring N R 0
{z : N &
((n = naturals_to_semiring N R z) +
(plus n (naturals_to_semiring N R z) = 0))%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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) n: R E: 1 + n = naturals_to_semiring N R 0
n + naturals_to_semiring N R 1 = 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) n: R E: 1 + n = naturals_to_semiring N R 0
naturals_to_semiring N R 0 = 0
exact preserves_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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) n: R z': N E: 1 + n = naturals_to_semiring N R (1 + z')
{z : N &
((n = naturals_to_semiring N R z) +
(plus n (naturals_to_semiring N R z) = 0))%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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) n: R z': N E: 1 + n = naturals_to_semiring N R (1 + z')
n = naturals_to_semiring N R 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) n: R z': N E: 1 + n = 1 + naturals_to_semiring N R z'
n = naturals_to_semiring N R 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) n: R z': N E: 1 + n = 1 + naturals_to_semiring N R z'
1 + n = 1 + naturals_to_semiring N R 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) n: R z: N E: 1 + n + naturals_to_semiring N R z = 0
{z : N &
((n = naturals_to_semiring N R z) +
(plus n (naturals_to_semiring N R z) = 0))%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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) n: R z: N E: 1 + n + naturals_to_semiring N R z = 0
((n = naturals_to_semiring N R (plus 1 z)) +
(plus n (naturals_to_semiring N R (plus 1 z)) = 0))%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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) n: R z: N E: 1 + n + naturals_to_semiring N R z = 0
n + naturals_to_semiring N R (1 + z) = 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) n: R z: N E: 1 + n + naturals_to_semiring N R z = 0
n + (1 + naturals_to_semiring N R z) =
1 + n + naturals_to_semiring N R z
rewrite plus_assoc,(plus_comm n);reflexivity.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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x: R
0 ≤ x -> {z : N & x = naturals_to_semiring N R 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x: R
0 ≤ x -> {z : N & x = naturals_to_semiring N R 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x: R z: N Ez1: x = naturals_to_semiring N R z
0 ≤ x -> {z : N & x = naturals_to_semiring N R 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x: R z: N Ez2: x + naturals_to_semiring N R z = 0
0 ≤ x -> {z : N & x = naturals_to_semiring N R 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x: R z: N Ez1: x = naturals_to_semiring N R z
0 ≤ x -> {z : N & x = naturals_to_semiring N R 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x: R z: N Ez1: x = naturals_to_semiring N R z X: 0 ≤ x
x = naturals_to_semiring N R 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x: R z: N Ez2: x + naturals_to_semiring N R z = 0
0 ≤ x -> {z : N & x = naturals_to_semiring N R 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x: R z: N Ez2: x + naturals_to_semiring N R z = 0 E: 0 ≤ x
{z : N & x = naturals_to_semiring N R 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x: R z: N Ez2: x + naturals_to_semiring N R z = 0 E: 0 ≤ x
x = naturals_to_semiring N R 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x: R z: N Ez2: x + naturals_to_semiring N R z = 0 E: 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x: R z: N Ez2: x + naturals_to_semiring N R z = 0 E: 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x: R z: N Ez2: x + naturals_to_semiring N R z = 0 E: 0 ≤ x
x ≤ x + naturals_to_semiring N R 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x: R z: N Ez2: x + naturals_to_semiring N R z = 0 E: 0 ≤ x
0 ≤ naturals_to_semiring N R z
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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R
x ≤ y <-> {z : N & y = x + naturals_to_semiring N R 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R
x ≤ y <-> {z : N & y = x + naturals_to_semiring N R 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R
x ≤ y -> {z : N & y = x + naturals_to_semiring N R 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R
{z : N & y = x + naturals_to_semiring N R 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R
x ≤ y -> {z : N & y = x + naturals_to_semiring N R 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R E: x ≤ y
{z : N & y = x + naturals_to_semiring N R 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R E: x ≤ y z: R Ez1: 0 ≤ z Ez2: y = x + z
{z : N & y = x + naturals_to_semiring N R 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R E: x ≤ y z: R Ez1: 0 ≤ z Ez2: y = x + z u: N Eu: z = naturals_to_semiring N R u
{z : N & y = x + naturals_to_semiring N R 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R E: x ≤ y z: R Ez1: 0 ≤ z Ez2: y = x + z u: N Eu: z = naturals_to_semiring N R u
y = x + naturals_to_semiring N R u
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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R E: x ≤ y z: R Ez1: 0 ≤ z Ez2: y = x + z u: N Eu: z = naturals_to_semiring N R u
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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R
{z : N & y = x + naturals_to_semiring N R 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R z: N Ez: y = x + naturals_to_semiring N R 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R z: N Ez: y = x + naturals_to_semiring N R 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R
x < y <->
{z : N & y = x + 1 + naturals_to_semiring N R 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R
x < y <->
{z : N & y = x + 1 + naturals_to_semiring N R 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R
x < y ->
{z : N & y = x + 1 + naturals_to_semiring N R 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R
{z : N & y = x + 1 + naturals_to_semiring N R 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R
x < y ->
{z : N & y = x + 1 + naturals_to_semiring N R 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R E: x < y
{z : N & y = x + 1 + naturals_to_semiring N R 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R E: x < y z0: N Ez: y = x + naturals_to_semiring N R z0
{z : N & y = x + 1 + naturals_to_semiring N R 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R E: x < y Ez: y = x + naturals_to_semiring N R 0
{z : N & y = x + 1 + naturals_to_semiring N R 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R E: x < y z: N Ez: y = x + naturals_to_semiring N R (1 + z)
{z : N & y = x + 1 + naturals_to_semiring N R 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R E: x < y Ez: y = x + naturals_to_semiring N R 0
{z : N & y = x + 1 + naturals_to_semiring N R 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R E: x < y Ez: y = x
{z : N & y = x + 1 + naturals_to_semiring N R z}
destruct (lt_ne_flip x y);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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R E: x < y z: N Ez: y = x + naturals_to_semiring N R (1 + z)
{z : N & y = x + 1 + naturals_to_semiring N R 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R E: x < y z: N Ez: y = x + naturals_to_semiring N R (1 + z)
y = x + 1 + naturals_to_semiring N R 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R E: x < y z: N Ez: y = x + 1 + naturals_to_semiring N R z
y = x + 1 + naturals_to_semiring N R 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R
{z : N & y = x + 1 + naturals_to_semiring N R 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R z: N Ez: y = x + 1 + naturals_to_semiring N R 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R z: N Ez: y = x + 1 + naturals_to_semiring N R z
x < x + 1 + naturals_to_semiring N R 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R z: N Ez: y = x + 1 + naturals_to_semiring N R z
0 ≤ naturals_to_semiring N R 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R z: N Ez: y = x + 1 + naturals_to_semiring N R z
x < x + 1
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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R z: N Ez: y = x + 1 + naturals_to_semiring N R z
0 ≤ naturals_to_semiring N R z
apply to_semiring_nonneg.
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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R z: N Ez: y = x + 1 + naturals_to_semiring N R z
x < x + 1
apply pos_plus_lt_compat_r; solve_propholds.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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R
x < y <-> x + 1 ≤ 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R
x < y <-> x + 1 ≤ 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R
x < y <-> ?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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R
?Goal <-> x + 1 ≤ 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R
x < y <-> ?Goal
apply nat_int_lt_plus.
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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R
{z : N & y = x + 1 + naturals_to_semiring N R z} <->
x + 1 ≤ y
applysymmetry,nat_int_le_plus.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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R
x < y <-> 1 + 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R
x < y <-> 1 + 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R
x < y <-> x + 1 ≤ y
apply lt_iff_plus_1_le.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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x: R
0 < x <-> 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x: R
0 < x <-> 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x: R E: 0 < x
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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x: R E: 1 ≤ x
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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x: R E: 0 < x
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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x: R E: 0 < 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x: R E: 0 < x
0 < x
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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x: R E: 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R
x ≤ y <-> x < y + 1
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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R
x ≤ y <-> x < y + 1
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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R E: x ≤ y
x < y + 1
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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R E: x < y + 1
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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R E: x ≤ y
x < y + 1
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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R E: x ≤ y
x + 1 ≤ y + 1
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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R E: x ≤ y
x ≤ y
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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R E: x < y + 1
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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R E: x < y + 1
x < y + 1
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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R
x ≤ y <-> x < 1 + 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: R
x ≤ y <-> x < 1 + 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) x, y: 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) R2: Type H12: Apart R2 H13: Plus R2 H14: Mult R2 H15: Zero R2 H16: One R2 Ale1: Le R2 Alt1: Lt R2 H17: FullPseudoSemiRingOrder Ale1 Alt1 IsSemiCRing1: IsSemiCRing R2 H18: PropHolds ((1 : R2) ≶ 0) f: R -> R2 IsSemiRingPreserving0: IsSemiRingPreserving
(f : R -> R2)
OrderPreserving f
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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) R2: Type H12: Apart R2 H13: Plus R2 H14: Mult R2 H15: Zero R2 H16: One R2 Ale1: Le R2 Alt1: Lt R2 H17: FullPseudoSemiRingOrder Ale1 Alt1 IsSemiCRing1: IsSemiCRing R2 H18: PropHolds ((1 : R2) ≶ 0) f: R -> R2 IsSemiRingPreserving0: IsSemiRingPreserving
(f : R -> R2)
OrderPreserving f
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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) R2: Type H12: Apart R2 H13: Plus R2 H14: Mult R2 H15: Zero R2 H16: One R2 Ale1: Le R2 Alt1: Lt R2 H17: FullPseudoSemiRingOrder Ale1 Alt1 IsSemiCRing1: IsSemiCRing R2 H18: PropHolds ((1 : R2) ≶ 0) f: R -> R2 IsSemiRingPreserving0: IsSemiRingPreserving
(f : R -> R2)
OrderPreserving f
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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) R2: Type H12: Apart R2 H13: Plus R2 H14: Mult R2 H15: Zero R2 H16: One R2 Ale1: Le R2 Alt1: Lt R2 H17: FullPseudoSemiRingOrder Ale1 Alt1 IsSemiCRing1: IsSemiCRing R2 H18: PropHolds ((1 : R2) ≶ 0) f: R -> R2 IsSemiRingPreserving0: IsSemiRingPreserving
(f : R -> R2) x, y: R E: x ≤ y
f x ≤ f 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) R2: Type H12: Apart R2 H13: Plus R2 H14: Mult R2 H15: Zero R2 H16: One R2 Ale1: Le R2 Alt1: Lt R2 H17: FullPseudoSemiRingOrder Ale1 Alt1 IsSemiCRing1: IsSemiCRing R2 H18: PropHolds ((1 : R2) ≶ 0) f: R -> R2 IsSemiRingPreserving0: IsSemiRingPreserving
(f : R -> R2) x, y: R E: {z : N & y = x + naturals_to_semiring N R z}
f x ≤ f 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) R2: Type H12: Apart R2 H13: Plus R2 H14: Mult R2 H15: Zero R2 H16: One R2 Ale1: Le R2 Alt1: Lt R2 H17: FullPseudoSemiRingOrder Ale1 Alt1 IsSemiCRing1: IsSemiCRing R2 H18: PropHolds ((1 : R2) ≶ 0) f: R -> R2 IsSemiRingPreserving0: IsSemiRingPreserving
(f : R -> R2) x, y: R z: N E: y = x + naturals_to_semiring N R z
f x ≤ f 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) R2: Type H12: Apart R2 H13: Plus R2 H14: Mult R2 H15: Zero R2 H16: One R2 Ale1: Le R2 Alt1: Lt R2 H17: FullPseudoSemiRingOrder Ale1 Alt1 IsSemiCRing1: IsSemiCRing R2 H18: PropHolds ((1 : R2) ≶ 0) f: R -> R2 IsSemiRingPreserving0: IsSemiRingPreserving
(f : R -> R2) x, y: R z: N E: y = x + naturals_to_semiring N R z
f x ≤ f x + naturals_to_semiring N R2 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) R2: Type H12: Apart R2 H13: Plus R2 H14: Mult R2 H15: Zero R2 H16: One R2 Ale1: Le R2 Alt1: Lt R2 H17: FullPseudoSemiRingOrder Ale1 Alt1 IsSemiCRing1: IsSemiCRing R2 H18: PropHolds ((1 : R2) ≶ 0) f: R -> R2 IsSemiRingPreserving0: IsSemiRingPreserving
(f : R -> R2) x, y: R z: N E: y = x + naturals_to_semiring N R z
0 ≤ naturals_to_semiring N R2 z
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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) R2: Type H12: Apart R2 H13: Plus R2 H14: Mult R2 H15: Zero R2 H16: One R2 Ale1: Le R2 Alt1: Lt R2 H17: FullPseudoSemiRingOrder Ale1 Alt1 IsSemiCRing1: IsSemiCRing R2 H18: PropHolds ((1 : R2) ≶ 0) f: R -> R2 IsSemiRingPreserving0: IsSemiRingPreserving
(f : R -> R2)
StrictlyOrderPreserving f
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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) R2: Type H12: Apart R2 H13: Plus R2 H14: Mult R2 H15: Zero R2 H16: One R2 Ale1: Le R2 Alt1: Lt R2 H17: FullPseudoSemiRingOrder Ale1 Alt1 IsSemiCRing1: IsSemiCRing R2 H18: PropHolds ((1 : R2) ≶ 0) f: R -> R2 IsSemiRingPreserving0: IsSemiRingPreserving
(f : R -> R2)
StrictlyOrderPreserving f
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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) R2: Type H12: Apart R2 H13: Plus R2 H14: Mult R2 H15: Zero R2 H16: One R2 Ale1: Le R2 Alt1: Lt R2 H17: FullPseudoSemiRingOrder Ale1 Alt1 IsSemiCRing1: IsSemiCRing R2 H18: PropHolds ((1 : R2) ≶ 0) f: R -> R2 IsSemiRingPreserving0: IsSemiRingPreserving
(f : R -> R2)
StrictlyOrderPreserving f
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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) R2: Type H12: Apart R2 H13: Plus R2 H14: Mult R2 H15: Zero R2 H16: One R2 Ale1: Le R2 Alt1: Lt R2 H17: FullPseudoSemiRingOrder Ale1 Alt1 IsSemiCRing1: IsSemiCRing R2 H18: PropHolds ((1 : R2) ≶ 0) f: R -> R2 IsSemiRingPreserving0: IsSemiRingPreserving
(f : R -> R2) x, y: R E: x < y
f x < f 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) R2: Type H12: Apart R2 H13: Plus R2 H14: Mult R2 H15: Zero R2 H16: One R2 Ale1: Le R2 Alt1: Lt R2 H17: FullPseudoSemiRingOrder Ale1 Alt1 IsSemiCRing1: IsSemiCRing R2 H18: PropHolds ((1 : R2) ≶ 0) f: R -> R2 IsSemiRingPreserving0: IsSemiRingPreserving
(f : R -> R2) x, y: R E: {z : N & y = x + 1 + naturals_to_semiring N R z}
f x < f 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) R2: Type H12: Apart R2 H13: Plus R2 H14: Mult R2 H15: Zero R2 H16: One R2 Ale1: Le R2 Alt1: Lt R2 H17: FullPseudoSemiRingOrder Ale1 Alt1 IsSemiCRing1: IsSemiCRing R2 H18: PropHolds ((1 : R2) ≶ 0) f: R -> R2 IsSemiRingPreserving0: IsSemiRingPreserving
(f : R -> R2) x, y: R z: N E: y = x + 1 + naturals_to_semiring N R z
f x < f 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) R2: Type H12: Apart R2 H13: Plus R2 H14: Mult R2 H15: Zero R2 H16: One R2 Ale1: Le R2 Alt1: Lt R2 H17: FullPseudoSemiRingOrder Ale1 Alt1 IsSemiCRing1: IsSemiCRing R2 H18: PropHolds ((1 : R2) ≶ 0) f: R -> R2 IsSemiRingPreserving0: IsSemiRingPreserving
(f : R -> R2) x, y: R z: N E: y = x + 1 + naturals_to_semiring N R z
f x < f x + 1 + naturals_to_semiring N R2 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) R2: Type H12: Apart R2 H13: Plus R2 H14: Mult R2 H15: Zero R2 H16: One R2 Ale1: Le R2 Alt1: Lt R2 H17: FullPseudoSemiRingOrder Ale1 Alt1 IsSemiCRing1: IsSemiCRing R2 H18: PropHolds ((1 : R2) ≶ 0) f: R -> R2 IsSemiRingPreserving0: IsSemiRingPreserving
(f : R -> R2) x, y: R z: N E: y = x + 1 + naturals_to_semiring N R z
0 ≤ naturals_to_semiring N R2 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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) R2: Type H12: Apart R2 H13: Plus R2 H14: Mult R2 H15: Zero R2 H16: One R2 Ale1: Le R2 Alt1: Lt R2 H17: FullPseudoSemiRingOrder Ale1 Alt1 IsSemiCRing1: IsSemiCRing R2 H18: PropHolds ((1 : R2) ≶ 0) f: R -> R2 IsSemiRingPreserving0: IsSemiRingPreserving
(f : R -> R2) x, y: R z: N E: y = x + 1 + naturals_to_semiring N R z
f x < f x + 1
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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) R2: Type H12: Apart R2 H13: Plus R2 H14: Mult R2 H15: Zero R2 H16: One R2 Ale1: Le R2 Alt1: Lt R2 H17: FullPseudoSemiRingOrder Ale1 Alt1 IsSemiCRing1: IsSemiCRing R2 H18: PropHolds ((1 : R2) ≶ 0) f: R -> R2 IsSemiRingPreserving0: IsSemiRingPreserving
(f : R -> R2) x, y: R z: N E: y = x + 1 + naturals_to_semiring N R z
0 ≤ naturals_to_semiring N R2 z
apply to_semiring_nonneg.
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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) R2: Type H12: Apart R2 H13: Plus R2 H14: Mult R2 H15: Zero R2 H16: One R2 Ale1: Le R2 Alt1: Lt R2 H17: FullPseudoSemiRingOrder Ale1 Alt1 IsSemiCRing1: IsSemiCRing R2 H18: PropHolds ((1 : R2) ≶ 0) f: R -> R2 IsSemiRingPreserving0: IsSemiRingPreserving
(f : R -> R2) x, y: R z: N E: y = x + 1 + naturals_to_semiring N R z
f x < f x + 1
apply pos_plus_lt_compat_r; solve_propholds.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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) R2: Type H12: Apart R2 H13: Plus R2 H14: Mult R2 H15: Zero R2 H16: One R2 Ale1: Le R2 Alt1: Lt R2 H17: FullPseudoSemiRingOrder Ale1 Alt1 IsSemiCRing1: IsSemiCRing R2 H18: PropHolds ((1 : R2) ≶ 0) f: R -> R2 IsSemiRingPreserving0: IsSemiRingPreserving
(f : R -> R2)
OrderEmbedding f
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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) R2: Type H12: Apart R2 H13: Plus R2 H14: Mult R2 H15: Zero R2 H16: One R2 Ale1: Le R2 Alt1: Lt R2 H17: FullPseudoSemiRingOrder Ale1 Alt1 IsSemiCRing1: IsSemiCRing R2 H18: PropHolds ((1 : R2) ≶ 0) f: R -> R2 IsSemiRingPreserving0: IsSemiRingPreserving
(f : R -> R2)
OrderEmbedding f
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 H2: Apart N H3: Le N H4: Lt N FullPseudoSemiRingOrder0: FullPseudoSemiRingOrder le
lt R: Type H5: Apart R H6: Plus R H7: Mult R H8: Zero R H9: One R Ale0: Le R Alt0: Lt R H10: FullPseudoSemiRingOrder Ale0 Alt0 IsSemiCRing0: IsSemiCRing R Biinduction0: Biinduction R H11: PropHolds (1 ≶ 0) R2: Type H12: Apart R2 H13: Plus R2 H14: Mult R2 H15: Zero R2 H16: One R2 Ale1: Le R2 Alt1: Lt R2 H17: FullPseudoSemiRingOrder Ale1 Alt1 IsSemiCRing1: IsSemiCRing R2 H18: PropHolds ((1 : R2) ≶ 0) f: R -> R2 IsSemiRingPreserving0: IsSemiRingPreserving
(f : R -> R2)