Let alpha be given.
Assume Ha: ordinal alpha.
Let beta be given.
Assume Hb: ordinal beta.
Set Lo1 to be the term {x + beta|x ∈ SNoS_ alpha}.
Set Lo2 to be the term {alpha + x|x ∈ SNoS_ beta}.
We will prove alpha + beta = SNoCut (Lo1Lo2) Empty.
We prove the intermediate claim La: SNo alpha.
An exact proof term for the current goal is ordinal_SNo alpha Ha.
We prove the intermediate claim Lb: SNo beta.
An exact proof term for the current goal is ordinal_SNo beta Hb.
rewrite the current goal using add_SNo_eq alpha La beta Lb (from left to right).
We will prove SNoCut ({x + beta|x ∈ SNoL alpha}{alpha + x|x ∈ SNoL beta}) ({x + beta|x ∈ SNoR alpha}{alpha + x|x ∈ SNoR beta}) = SNoCut (Lo1Lo2) Empty.
rewrite the current goal using ordinal_SNoL alpha Ha (from left to right).
rewrite the current goal using ordinal_SNoL beta Hb (from left to right).
We will prove SNoCut (Lo1Lo2) ({x + beta|x ∈ SNoR alpha}{alpha + x|x ∈ SNoR beta}) = SNoCut (Lo1Lo2) Empty.
rewrite the current goal using ordinal_SNoR alpha Ha (from left to right).
rewrite the current goal using ordinal_SNoR beta Hb (from left to right).
We will prove SNoCut (Lo1Lo2) ({x + beta|x ∈ Empty}{alpha + x|x ∈ Empty}) = SNoCut (Lo1Lo2) Empty.
rewrite the current goal using Repl_Empty (from left to right).
rewrite the current goal using Repl_Empty (from left to right).
We will prove SNoCut (Lo1Lo2) (EmptyEmpty) = SNoCut (Lo1Lo2) Empty.
rewrite the current goal using binunion_idl (from left to right).
Use reflexivity.