Search for blocks/addresses/...

Proofgold Proof

pf
Apply SNoLev_ind2 with λ x0 x1 . add_SNo x0 x1 = add_SNo x1 x0.
Let x0 of type ι be given.
Let x1 of type ι be given.
Assume H0: SNo x0.
Assume H1: SNo x1.
Assume H2: ∀ x2 . x2SNoS_ (SNoLev x0)add_SNo x2 x1 = add_SNo x1 x2.
Assume H3: ∀ x2 . x2SNoS_ (SNoLev x1)add_SNo x0 x2 = add_SNo x2 x0.
Assume H4: ∀ x2 . x2SNoS_ (SNoLev x0)∀ x3 . x3SNoS_ (SNoLev x1)add_SNo x2 x3 = add_SNo x3 x2.
Claim L5: ...
...
Claim L6: ...
...
Claim L7: ...
...
Claim L8: ...
...
Apply add_SNo_eq with x0, x1, λ x2 x3 . x3 = add_SNo x1 x0 leaving 3 subgoals.
The subproof is completed by applying H0.
The subproof is completed by applying H1.
Apply add_SNo_eq with x1, x0, λ x2 x3 . SNoCut (binunion {add_SNo x4 x1|x4 ∈ SNoL x0} {add_SNo x0 x4|x4 ∈ SNoL x1}) (binunion {add_SNo x4 x1|x4 ∈ SNoR x0} {add_SNo x0 x4|x4 ∈ SNoR x1}) = x3 leaving 3 subgoals.
The subproof is completed by applying H1.
The subproof is completed by applying H0.
Claim L9: ...
...
Claim L10: ...
...
Claim L11: ...
...
Claim L12: ...
...
Apply L9 with λ x2 x3 . SNoCut (binunion x3 {add_SNo x0 x4|x4 ∈ SNoL x1}) (binunion {add_SNo x4 x1|x4 ∈ SNoR x0} {add_SNo x0 x4|x4 ∈ SNoR x1}) = SNoCut (binunion {add_SNo x4 x0|x4 ∈ SNoL x1} {add_SNo x1 x4|x4 ∈ SNoL x0}) (binunion {add_SNo x4 x0|x4 ∈ SNoR x1} {add_SNo x1 x4|x4 ∈ SNoR x0}).
Apply L10 with λ x2 x3 . SNoCut (binunion {add_SNo x1 x4|x4 ∈ SNoL x0} x3) (binunion {add_SNo x4 x1|x4 ∈ SNoR x0} {add_SNo x0 x4|x4 ∈ SNoR x1}) = SNoCut (binunion {add_SNo x4 x0|x4 ∈ SNoL x1} {add_SNo x1 x4|x4 ∈ SNoL x0}) (binunion {add_SNo x4 x0|x4 ∈ SNoR x1} {add_SNo x1 x4|x4 ∈ SNoR x0}).
Apply L11 with λ x2 x3 . SNoCut (binunion {add_SNo x1 x4|x4 ∈ SNoL x0} {add_SNo x4 x0|x4 ∈ SNoL x1}) (binunion x3 {add_SNo x0 x4|x4 ∈ SNoR x1}) = SNoCut (binunion {add_SNo x4 x0|x4 ∈ SNoL x1} {add_SNo x1 x4|x4 ∈ SNoL x0}) (binunion {add_SNo x4 x0|x4 ∈ SNoR x1} {add_SNo x1 x4|x4 ∈ SNoR x0}).
Apply L12 with λ x2 x3 . SNoCut (binunion {add_SNo x1 x4|x4 ∈ SNoL x0} {add_SNo x4 x0|x4 ∈ SNoL x1}) (binunion ... ...) = ....
...