Search for blocks/addresses/...

Proofgold Proof

pf
Let x0 of type ι be given.
Let x1 of type ι be given.
Let x2 of type ι be given.
Let x3 of type ι be given.
Let x4 of type ι be given.
Let x5 of type ι be given.
Assume H0: SNo x0.
Assume H1: SNo x1.
Assume H2: SNo x2.
Assume H3: SNo x3.
Assume H4: SNo x4.
Assume H5: SNo x5.
Assume H6: SNoLt (add_SNo x0 x4) (add_SNo x2 x5).
Assume H7: SNoLt (add_SNo x1 x5) (add_SNo x3 x4).
Apply add_SNo_Lt1_cancel with add_SNo x0 x1, add_SNo x4 x5, add_SNo x2 x3 leaving 4 subgoals.
Apply SNo_add_SNo with x0, x1 leaving 2 subgoals.
The subproof is completed by applying H0.
The subproof is completed by applying H1.
Apply SNo_add_SNo with x4, x5 leaving 2 subgoals.
The subproof is completed by applying H4.
The subproof is completed by applying H5.
Apply SNo_add_SNo with x2, x3 leaving 2 subgoals.
The subproof is completed by applying H2.
The subproof is completed by applying H3.
Apply add_SNo_com_4_inner_mid with x0, x1, x4, x5, λ x6 x7 . SNoLt x7 (add_SNo (add_SNo x2 x3) (add_SNo x4 x5)) leaving 5 subgoals.
The subproof is completed by applying H0.
The subproof is completed by applying H1.
The subproof is completed by applying H4.
The subproof is completed by applying H5.
Claim L8: add_SNo (add_SNo x2 x3) (add_SNo x4 x5) = add_SNo (add_SNo x2 x5) (add_SNo x3 x4)
Apply add_SNo_assoc with x2, x3, add_SNo x4 x5, λ x6 x7 . x6 = add_SNo (add_SNo x2 x5) (add_SNo x3 x4) leaving 4 subgoals.
The subproof is completed by applying H2.
The subproof is completed by applying H3.
Apply SNo_add_SNo with x4, x5 leaving 2 subgoals.
The subproof is completed by applying H4.
The subproof is completed by applying H5.
Apply add_SNo_assoc with x2, x5, add_SNo x3 x4, λ x6 x7 . add_SNo x2 (add_SNo x3 (add_SNo x4 x5)) = x6 leaving 4 subgoals.
The subproof is completed by applying H2.
The subproof is completed by applying H5.
Apply SNo_add_SNo with x3, x4 leaving 2 subgoals.
The subproof is completed by applying H3.
The subproof is completed by applying H4.
set y6 to be add_SNo x2 (add_SNo x3 (add_SNo x4 x5))
set y7 to be add_SNo x3 (add_SNo y6 (add_SNo x4 x5))
Claim L8: ∀ x8 : ι → ο . x8 y7x8 y6
Let x8 of type ιο be given.
Assume H8: x8 (add_SNo x4 (add_SNo y7 (add_SNo x5 y6))).
set y9 to be λ x9 . x8
Apply add_SNo_rotate_3_1 with x5, y6, y7, λ x10 x11 . y9 (add_SNo x4 x10) (add_SNo x4 x11) leaving 4 subgoals.
The subproof is completed by applying H3.
The subproof is completed by applying H4.
The subproof is completed by applying H5.
The subproof is completed by applying H8.
Let x8 of type ιιο be given.
Apply L8 with λ x9 . x8 x9 y7x8 y7 x9.
Assume H9: x8 y7 y7.
The subproof is completed by applying H9.
Apply L8 with λ x6 x7 . SNoLt (add_SNo (add_SNo x0 x4) (add_SNo x1 x5)) x7.
Apply add_SNo_Lt3 with add_SNo x0 x4, add_SNo x1 x5, add_SNo x2 x5, add_SNo x3 x4 leaving 6 subgoals.
Apply SNo_add_SNo with x0, x4 leaving 2 subgoals.
The subproof is completed by applying H0.
The subproof is completed by applying H4.
Apply SNo_add_SNo with x1, x5 leaving 2 subgoals.
The subproof is completed by applying H1.
The subproof is completed by applying H5.
Apply SNo_add_SNo with x2, x5 leaving 2 subgoals.
The subproof is completed by applying H2.
The subproof is completed by applying H5.
Apply SNo_add_SNo with x3, x4 leaving 2 subgoals.
The subproof is completed by applying H3.
The subproof is completed by applying H4.
The subproof is completed by applying H6.
The subproof is completed by applying H7.