We prove the intermediate
claim HaNonneg:
0 ≤ a.
Apply FalseE to the current goal.
We prove the intermediate
claim Halt0':
Rlt a 0.
An
exact proof term for the current goal is
(RltI a 0 HaR real_0 Halt0S').
An exact proof term for the current goal is (Hnlt0 Halt0').
rewrite the current goal using Ha0 (from left to right).
An
exact proof term for the current goal is
(SNoLe_ref 0).
An
exact proof term for the current goal is
(SNoLtLe 0 a H0lta).
We prove the intermediate
claim HabsR:
abs_SNo s ∈ R.
An
exact proof term for the current goal is
(abs_SNo_in_R s HsR).
We prove the intermediate
claim HabsS:
SNo (abs_SNo s).
We prove the intermediate
claim Hslt1:
Rlt s 1.
We prove the intermediate
claim Hslt1S:
s < 1.
An
exact proof term for the current goal is
(RltE_lt s 1 Hslt1).
We prove the intermediate
claim HabLt1:
abs_SNo s < 1.
Apply (xm (0 ≤ s)) to the current goal.
rewrite the current goal using
(nonneg_abs_SNo s H0les) (from left to right).
An exact proof term for the current goal is Hslt1S.
We prove the intermediate
claim Hslt0:
s < 0.
An exact proof term for the current goal is H.
We prove the intermediate
claim H0les:
0 ≤ s.
rewrite the current goal using Hs0 (from left to right).
An
exact proof term for the current goal is
(SNoLe_ref 0).
An
exact proof term for the current goal is
(FalseE (Hn0les H0les) (s < 0)).
We prove the intermediate
claim H0les:
0 ≤ s.
An
exact proof term for the current goal is
(SNoLtLe 0 s H0lts).
An
exact proof term for the current goal is
(FalseE (Hn0les H0les) (s < 0)).
We prove the intermediate
claim Hm1ltsS:
minus_SNo 1 < s.
We prove the intermediate
claim HmsLt1:
minus_SNo s < 1.
An exact proof term for the current goal is HmsLt1'.
An exact proof term for the current goal is HmsLt1.
We prove the intermediate
claim HdenS:
SNo den.
We prove the intermediate
claim HdenPos:
0 < den.
An exact proof term for the current goal is HdenPos0.
rewrite the current goal using HpsiDef (from left to right).
Use reflexivity.
We prove the intermediate
claim H0ltDiv:
0 < div_SNo s den.
rewrite the current goal using HpsiEq0 (from right to left) at position 1.
An exact proof term for the current goal is H0ltPsi.
We prove the intermediate
claim H0LtS_raw:
mul_SNo 0 den < s.
We prove the intermediate
claim H0LtS:
0 < s.
rewrite the current goal using
(mul_SNo_zeroL den HdenS) (from right to left) at position 1.
An exact proof term for the current goal is H0LtS_raw.
We prove the intermediate
claim H0les:
0 ≤ s.
An
exact proof term for the current goal is
(SNoLtLe 0 s H0LtS).
We prove the intermediate
claim HabsEq:
abs_SNo s = s.
rewrite the current goal using HabsEq (from left to right).
Use reflexivity.
rewrite the current goal using HpsiEq0 (from left to right).
rewrite the current goal using HdenEq (from left to right).
Use reflexivity.
rewrite the current goal using HpsiEq (from right to left) at position 1.
An exact proof term for the current goal is HaltAS.
An exact proof term for the current goal is Hden2Pos0.
An exact proof term for the current goal is Htmp.
rewrite the current goal using
(mul_SNo_oneR a HaS) (from left to right) at position 1.
rewrite the current goal using
(mul_SNo_minus_distrR a s HaS HsS) (from left to right) at position 1.
Use reflexivity.
rewrite the current goal using HmulEq (from right to left) at position 1.
An exact proof term for the current goal is HmulLt.
Set kas to be the term
mul_SNo a s.
We prove the intermediate
claim HkasS:
SNo kas.
An
exact proof term for the current goal is
(SNo_mul_SNo a s HaS HsS).
rewrite the current goal using
(add_SNo_com kas a HkasS HaS) (from left to right) at position 1.
rewrite the current goal using
(add_SNo_0R a HaS) (from left to right).
Use reflexivity.
rewrite the current goal using
(add_SNo_com kas s HkasS HsS) (from left to right).
Use reflexivity.
rewrite the current goal using HlhsEq0 (from right to left) at position 1.
rewrite the current goal using HrhsEq0 (from right to left) at position 1.
An exact proof term for the current goal is HsumLt.
We prove the intermediate
claim HdenApos:
0 < add_SNo 1 a.
We prove the intermediate
claim H0leA:
0 ≤ a.
An exact proof term for the current goal is HaNonneg.
rewrite the current goal using
(add_SNo_0L 0 SNo_0) (from right to left) at position 1.
An exact proof term for the current goal is HdenPos0.
We prove the intermediate
claim HdenAS:
SNo (add_SNo 1 a).
rewrite the current goal using HphiDef (from left to right).
Use reflexivity.
rewrite the current goal using HcEq0 (from left to right).
rewrite the current goal using
(nonneg_abs_SNo a HaNonneg) (from left to right).
Use reflexivity.
rewrite the current goal using
(mul_SNo_oneR s HsS) (from left to right) at position 1.
rewrite the current goal using
(mul_SNo_com s a HsS HaS) (from left to right) at position 1.
Use reflexivity.
rewrite the current goal using HmulSA (from left to right) at position 1.
An exact proof term for the current goal is HaLt.
We prove the intermediate
claim HcLtS':
c < s.
rewrite the current goal using HcEq (from left to right).
An exact proof term for the current goal is HcLtS.
We prove the intermediate
claim HcLt:
Rlt c s.
An
exact proof term for the current goal is
(RltI c s HcR HsR HcLtS').
We prove the intermediate
claim HrelC:
order_rel R c s.
An
exact proof term for the current goal is
(SepI R (λx0 : set ⇒ order_rel R c x0) s HsR HrelC).