Let z and w be given.
Assume Hz Hw.
We prove the intermediate claim Lp0z: F (proj0 z).
An
exact proof term for the current goal is
CD_proj0R z Hz.
We prove the intermediate claim Lp1z: F (proj1 z).
An
exact proof term for the current goal is
CD_proj1R z Hz.
We prove the intermediate claim Lcp0z: F (conj (proj0 z)).
Apply F_conj to the current goal.
An exact proof term for the current goal is Lp0z.
We prove the intermediate claim Lcp1z: F (conj (proj1 z)).
Apply F_conj to the current goal.
An exact proof term for the current goal is Lp1z.
We prove the intermediate
claim Lmcp1z:
F (- conj (proj1 z)).
Apply F_minus to the current goal.
An exact proof term for the current goal is Lcp1z.
We prove the intermediate
claim Lmp1z:
F (- proj1 z).
Apply F_minus to the current goal.
An exact proof term for the current goal is Lp1z.
We prove the intermediate claim Lp0w: F (proj0 w).
An
exact proof term for the current goal is
CD_proj0R w Hw.
We prove the intermediate claim Lp1w: F (proj1 w).
An
exact proof term for the current goal is
CD_proj1R w Hw.
We prove the intermediate claim Lcp0w: F (conj (proj0 w)).
Apply F_conj to the current goal.
An exact proof term for the current goal is Lp0w.
We prove the intermediate claim Lcp1w: F (conj (proj1 w)).
Apply F_conj to the current goal.
An exact proof term for the current goal is Lp1w.
We prove the intermediate
claim Lmp1w:
F (- proj1 w).
Apply F_minus to the current goal.
An exact proof term for the current goal is Lp1w.
We prove the intermediate
claim Lp0zp0w:
F (proj0 z * proj0 w).
Apply F_mul to the current goal.
An exact proof term for the current goal is ??.
An exact proof term for the current goal is ??.
We prove the intermediate
claim Lcp1wp1z:
F (conj (proj1 w) * proj1 z).
Apply F_mul to the current goal.
An exact proof term for the current goal is ??.
An exact proof term for the current goal is ??.
We prove the intermediate
claim Lcp1wp1z:
F (- conj (proj1 w) * proj1 z).
Apply F_minus to the current goal.
An exact proof term for the current goal is ??.
We prove the intermediate
claim LzwL:
F (proj0 z * proj0 w + - conj (proj1 w) * proj1 z).
Apply F_add to the current goal.
An exact proof term for the current goal is ??.
An exact proof term for the current goal is ??.
We prove the intermediate
claim Lp1wp0z:
F (proj1 w * proj0 z).
Apply F_mul to the current goal.
An exact proof term for the current goal is ??.
An exact proof term for the current goal is ??.
We prove the intermediate
claim Lp1zcp0w:
F (proj1 z * conj (proj0 w)).
Apply F_mul to the current goal.
An exact proof term for the current goal is ??.
An exact proof term for the current goal is ??.
We prove the intermediate
claim LzwR:
F (proj1 w * proj0 z + proj1 z * conj (proj0 w)).
Apply F_add to the current goal.
An exact proof term for the current goal is ??.
An exact proof term for the current goal is ??.
Set w' to be the term
pa (conj (proj0 w)) (- proj1 w).
Set z' to be the term
pa (conj (proj0 z)) (- proj1 z).
We prove the intermediate claim Lp0w': F (proj0 w').
We prove the intermediate claim Lp1w': F (proj1 w').
We prove the intermediate claim Lp0z': F (proj0 z').
We prove the intermediate claim Lp1z': F (proj1 z').
We prove the intermediate claim Lcp0z': F (conj (proj0 z')).
Apply F_conj to the current goal.
An exact proof term for the current goal is ??.
We prove the intermediate claim Lcp1z': F (conj (proj1 z')).
Apply F_conj to the current goal.
An exact proof term for the current goal is ??.
We prove the intermediate
claim Lp0w'p0z':
F (proj0 w' * proj0 z').
Apply F_mul to the current goal.
An exact proof term for the current goal is ??.
An exact proof term for the current goal is ??.
We prove the intermediate
claim Lcp1z'p1w':
F (conj (proj1 z') * proj1 w').
Apply F_mul to the current goal.
An exact proof term for the current goal is ??.
An exact proof term for the current goal is ??.
We prove the intermediate
claim Lcp1z'p1w':
F (- conj (proj1 z') * proj1 w').
Apply F_minus to the current goal.
An exact proof term for the current goal is ??.
We prove the intermediate
claim Lw'z'L:
F (proj0 w' * proj0 z' + - conj (proj1 z') * proj1 w').
Apply F_add to the current goal.
An exact proof term for the current goal is ??.
An exact proof term for the current goal is ??.
We prove the intermediate
claim Lp1z'p0w':
F (proj1 z' * proj0 w').
Apply F_mul to the current goal.
An exact proof term for the current goal is ??.
An exact proof term for the current goal is ??.
We prove the intermediate
claim Lp1w'cp0z':
F (proj1 w' * conj (proj0 z')).
Apply F_mul to the current goal.
An exact proof term for the current goal is ??.
An exact proof term for the current goal is ??.
We prove the intermediate
claim Lw'z'R:
F (proj1 z' * proj0 w' + proj1 w' * conj (proj0 z')).
Apply F_add to the current goal.
An exact proof term for the current goal is ??.
An exact proof term for the current goal is ??.
We prove the intermediate
claim Lcp1zp1w:
F (conj (proj1 z) * proj1 w).
Apply F_mul to the current goal.
An exact proof term for the current goal is ??.
An exact proof term for the current goal is ??.
We prove the intermediate
claim Lmp1zcp0w:
F ((- proj1 z) * (conj (proj0 w))).
Apply F_mul to the current goal.
An exact proof term for the current goal is ??.
An exact proof term for the current goal is ??.
We prove the intermediate
claim Lmp1wp0z:
F ((- proj1 w) * proj0 z).
Apply F_mul to the current goal.
An exact proof term for the current goal is ??.
An exact proof term for the current goal is ??.
We will
prove pa (conj (proj0 (pa (proj0 z * proj0 w + - conj (proj1 w) * proj1 z) (proj1 w * proj0 z + proj1 z * conj (proj0 w))))) (- (proj1 (pa (proj0 z * proj0 w + - conj (proj1 w) * proj1 z) (proj1 w * proj0 z + proj1 z * conj (proj0 w))))) = pa (proj0 w' * proj0 z' + - conj (proj1 z') * proj1 w') (proj1 z' * proj0 w' + proj1 w' * conj (proj0 z')).
rewrite the current goal using
CD_proj0_2 (proj0 z * proj0 w + - conj (proj1 w) * proj1 z) (proj1 w * proj0 z + proj1 z * conj (proj0 w)) ?? ?? (from left to right).
rewrite the current goal using
CD_proj1_2 (proj0 z * proj0 w + - conj (proj1 w) * proj1 z) (proj1 w * proj0 z + proj1 z * conj (proj0 w)) ?? ?? (from left to right).
We will
prove pa (conj (proj0 z * proj0 w + - conj (proj1 w) * proj1 z)) (- (proj1 w * proj0 z + proj1 z * conj (proj0 w))) = pa (proj0 w' * proj0 z' + - conj (proj1 z') * proj1 w') (proj1 z' * proj0 w' + proj1 w' * conj (proj0 z')).
rewrite the current goal using
CD_proj0_2 (conj (proj0 w)) (- proj1 w) ?? ?? (from left to right).
rewrite the current goal using
CD_proj1_2 (conj (proj0 w)) (- proj1 w) ?? ?? (from left to right).
rewrite the current goal using
CD_proj0_2 (conj (proj0 z)) (- proj1 z) ?? ?? (from left to right).
rewrite the current goal using
CD_proj1_2 (conj (proj0 z)) (- proj1 z) ?? ?? (from left to right).
We will
prove pa (conj (proj0 z * proj0 w + - conj (proj1 w) * proj1 z)) (- (proj1 w * proj0 z + proj1 z * conj (proj0 w))) = pa (conj (proj0 w) * conj (proj0 z) + - conj (- proj1 z) * (- proj1 w)) ((- proj1 z) * (conj (proj0 w)) + (- proj1 w) * conj (conj (proj0 z))).
Use f_equal.
We will
prove conj (proj0 z * proj0 w + - conj (proj1 w) * proj1 z) = conj (proj0 w) * conj (proj0 z) + - conj (- proj1 z) * (- proj1 w).
rewrite the current goal using
F_conj_add (proj0 z * proj0 w) (- conj (proj1 w) * proj1 z) ?? ?? (from left to right).
We will
prove conj (proj0 z * proj0 w) + conj (- conj (proj1 w) * proj1 z) = conj (proj0 w) * conj (proj0 z) + - conj (- proj1 z) * (- proj1 w).
Use f_equal.
We will
prove conj (proj0 z * proj0 w) = conj (proj0 w) * conj (proj0 z).
An exact proof term for the current goal is F_conj_mul (proj0 z) (proj0 w) ?? ??.
We will
prove conj (- conj (proj1 w) * proj1 z) = - conj (- proj1 z) * (- proj1 w).
rewrite the current goal using
F_conj_minus (conj (proj1 w) * proj1 z) ?? (from left to right).
Use f_equal.
We will
prove conj (conj (proj1 w) * proj1 z) = conj (- proj1 z) * (- proj1 w).
rewrite the current goal using F_conj_mul (conj (proj1 w)) (proj1 z) ?? ?? (from left to right).
We will
prove conj (proj1 z) * (conj (conj (proj1 w))) = conj (- proj1 z) * (- proj1 w).
rewrite the current goal using F_conj_invol (proj1 w) ?? (from left to right).
We will
prove conj (proj1 z) * proj1 w = conj (- proj1 z) * (- proj1 w).
rewrite the current goal using F_conj_minus (proj1 z) ?? (from left to right).
We will
prove conj (proj1 z) * proj1 w = (- conj (proj1 z)) * (- proj1 w).
rewrite the current goal using
F_minus_mul_distrR (- conj (proj1 z)) (proj1 w) ?? ?? (from left to right).
rewrite the current goal using F_minus_mul_distrL (conj (proj1 z)) (proj1 w) ?? ?? (from left to right).
Use symmetry.
Apply F_minus_invol (conj (proj1 z) * proj1 w) ?? to the current goal.
We will
prove - (proj1 w * proj0 z + proj1 z * conj (proj0 w)) = (- proj1 z) * (conj (proj0 w)) + (- proj1 w) * conj (conj (proj0 z)).
rewrite the current goal using F_conj_invol (proj0 z) ?? (from left to right).
rewrite the current goal using
F_minus_add (proj1 w * proj0 z) (proj1 z * conj (proj0 w)) ?? ?? (from left to right).
rewrite the current goal using
F_add_com ((- proj1 z) * (conj (proj0 w))) ((- proj1 w) * proj0 z) ?? ?? (from left to right).
Use f_equal.
We will
prove - proj1 w * proj0 z = (- proj1 w) * proj0 z.
Use symmetry.
An exact proof term for the current goal is F_minus_mul_distrL (proj1 w) (proj0 z) ?? ??.
We will
prove - proj1 z * conj (proj0 w) = (- proj1 z) * (conj (proj0 w)).
Use symmetry.
An exact proof term for the current goal is F_minus_mul_distrL (proj1 z) (conj (proj0 w)) ?? ??.
∎