Let x and y be given.
Assume Hx Hy.
Let L and R be given.
Assume HLR HLE HLI1 HLI2 HRE HRI1 HRI2 Hxye.
Let L' and R' be given.
Assume HL'R' HL'E HL'I1 HL'I2 HR'E HR'I1 HR'I2 Hyxe.
rewrite the current goal using Hxye (from left to right).
rewrite the current goal using Hyxe (from left to right).
We prove the intermediate
claim LLL':
L = L'.
Let u be given.
Let v be given.
Apply SNoL_E x Hx u Hu to the current goal.
Assume Hua _ _.
Apply SNoL_E y Hy v Hv to the current goal.
Assume Hva _ _.
rewrite the current goal using
IHx u (SNoL_SNoS x Hx u Hu) (from left to right).
rewrite the current goal using
IHy v (SNoL_SNoS y Hy v Hv) (from left to right).
rewrite the current goal using
IHxy u (SNoL_SNoS x Hx u Hu) v (SNoL_SNoS y Hy v Hv) (from left to right).
Apply HL'I1 to the current goal.
An exact proof term for the current goal is Hv.
An exact proof term for the current goal is Hu.
Let u be given.
Let v be given.
Apply SNoR_E x Hx u Hu to the current goal.
Assume Hua _ _.
Apply SNoR_E y Hy v Hv to the current goal.
Assume Hva _ _.
rewrite the current goal using
IHx u (SNoR_SNoS x Hx u Hu) (from left to right).
rewrite the current goal using
IHy v (SNoR_SNoS y Hy v Hv) (from left to right).
rewrite the current goal using
IHxy u (SNoR_SNoS x Hx u Hu) v (SNoR_SNoS y Hy v Hv) (from left to right).
Apply HL'I2 to the current goal.
An exact proof term for the current goal is Hv.
An exact proof term for the current goal is Hu.
Let v be given.
Let u be given.
Apply SNoL_E x Hx u Hu to the current goal.
Assume Hua _ _.
Apply SNoL_E y Hy v Hv to the current goal.
Assume Hva _ _.
rewrite the current goal using
IHx u (SNoL_SNoS x Hx u Hu) (from right to left).
rewrite the current goal using
IHy v (SNoL_SNoS y Hy v Hv) (from right to left).
rewrite the current goal using
IHxy u (SNoL_SNoS x Hx u Hu) v (SNoL_SNoS y Hy v Hv) (from right to left).
Apply HLI1 to the current goal.
An exact proof term for the current goal is Hu.
An exact proof term for the current goal is Hv.
Let v be given.
Let u be given.
Apply SNoR_E x Hx u Hu to the current goal.
Assume Hua _ _.
Apply SNoR_E y Hy v Hv to the current goal.
Assume Hva _ _.
rewrite the current goal using
IHx u (SNoR_SNoS x Hx u Hu) (from right to left).
rewrite the current goal using
IHy v (SNoR_SNoS y Hy v Hv) (from right to left).
rewrite the current goal using
IHxy u (SNoR_SNoS x Hx u Hu) v (SNoR_SNoS y Hy v Hv) (from right to left).
Apply HLI2 to the current goal.
An exact proof term for the current goal is Hu.
An exact proof term for the current goal is Hv.
We prove the intermediate
claim LRR':
R = R'.
Let u be given.
Let v be given.
Apply SNoL_E x Hx u Hu to the current goal.
Assume Hua _ _.
Apply SNoR_E y Hy v Hv to the current goal.
Assume Hva _ _.
rewrite the current goal using
IHx u (SNoL_SNoS x Hx u Hu) (from left to right).
rewrite the current goal using
IHy v (SNoR_SNoS y Hy v Hv) (from left to right).
rewrite the current goal using
IHxy u (SNoL_SNoS x Hx u Hu) v (SNoR_SNoS y Hy v Hv) (from left to right).
Apply HR'I2 to the current goal.
An exact proof term for the current goal is Hv.
An exact proof term for the current goal is Hu.
Let u be given.
Let v be given.
Apply SNoR_E x Hx u Hu to the current goal.
Assume Hua _ _.
Apply SNoL_E y Hy v Hv to the current goal.
Assume Hva _ _.
rewrite the current goal using
IHx u (SNoR_SNoS x Hx u Hu) (from left to right).
rewrite the current goal using
IHy v (SNoL_SNoS y Hy v Hv) (from left to right).
rewrite the current goal using
IHxy u (SNoR_SNoS x Hx u Hu) v (SNoL_SNoS y Hy v Hv) (from left to right).
Apply HR'I1 to the current goal.
An exact proof term for the current goal is Hv.
An exact proof term for the current goal is Hu.
Let v be given.
Let u be given.
Apply SNoR_E x Hx u Hu to the current goal.
Assume Hua _ _.
Apply SNoL_E y Hy v Hv to the current goal.
Assume Hva _ _.
rewrite the current goal using
IHx u (SNoR_SNoS x Hx u Hu) (from right to left).
rewrite the current goal using
IHy v (SNoL_SNoS y Hy v Hv) (from right to left).
rewrite the current goal using
IHxy u (SNoR_SNoS x Hx u Hu) v (SNoL_SNoS y Hy v Hv) (from right to left).
Apply HRI2 to the current goal.
An exact proof term for the current goal is Hu.
An exact proof term for the current goal is Hv.
Let v be given.
Let u be given.
Apply SNoL_E x Hx u Hu to the current goal.
Assume Hua _ _.
Apply SNoR_E y Hy v Hv to the current goal.
Assume Hva _ _.
rewrite the current goal using
IHx u (SNoL_SNoS x Hx u Hu) (from right to left).
rewrite the current goal using
IHy v (SNoR_SNoS y Hy v Hv) (from right to left).
rewrite the current goal using
IHxy u (SNoL_SNoS x Hx u Hu) v (SNoR_SNoS y Hy v Hv) (from right to left).
Apply HRI1 to the current goal.
An exact proof term for the current goal is Hu.
An exact proof term for the current goal is Hv.
rewrite the current goal using LLL' (from left to right).
rewrite the current goal using LRR' (from left to right).
Use reflexivity.
∎