We prove the intermediate claimLcp0z: F(conj(proj0z)).
ApplyF_conj to the current goal.
An exact proof term for the current goal is Lp0z.
We prove the intermediate claimLcmp0z: F(conj(-proj0z)).
ApplyF_conj to the current goal.
An exact proof term for the current goal is Lmp0z.
We will provepa(conj(proj0(pa(-(proj0z))(-(proj1z)))))(-proj1(pa(-(proj0z))(-(proj1z)))) = pa(-proj0(pa(conj(proj0z))(-proj1z)))(-proj1(pa(conj(proj0z))(-proj1z))).
Use f_equal.
We will proveconj(proj0(pa(-(proj0z))(-(proj1z)))) = -proj0(pa(conj(proj0z))(-proj1z)).
rewrite the current goal using CD_proj0_2(-proj0z)(-proj1z)???? (from left to right).
rewrite the current goal using CD_proj0_2(conj(proj0z))(-proj1z)???? (from left to right).
We prove the intermediate claimLp0zw: F(proj0z+proj0w).
ApplyF_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 claimLp1zw: F(proj1z+proj1w).
ApplyF_add to the current goal.
An exact proof term for the current goal is ??.
An exact proof term for the current goal is ??.
We will provepa(-proj0(pa(proj0z+proj0w)(proj1z+proj1w)))(-proj1(pa(proj0z+proj0w)(proj1z+proj1w))) = pa(proj0(pa(-proj0z)(-proj1z))+proj0(pa(-proj0w)(-proj1w)))(proj1(pa(-proj0z)(-proj1z))+proj1(pa(-proj0w)(-proj1w))).
rewrite the current goal using CD_proj0_2(proj0z+proj0w)(proj1z+proj1w)???? (from left to right).
rewrite the current goal using CD_proj1_2(proj0z+proj0w)(proj1z+proj1w)???? (from left to right).
rewrite the current goal using CD_proj0_2(-proj0z)(-proj1z)Lmp0zLmp1z (from left to right).
rewrite the current goal using CD_proj1_2(-proj0z)(-proj1z)Lmp0zLmp1z (from left to right).
rewrite the current goal using CD_proj0_2(-proj0w)(-proj1w)Lmp0wLmp1w (from left to right).
rewrite the current goal using CD_proj1_2(-proj0w)(-proj1w)Lmp0wLmp1w (from left to right).
Use f_equal.
ApplyF_minus_add to the current goal.
An exact proof term for the current goal is ??.
An exact proof term for the current goal is ??.
ApplyF_minus_add to the current goal.
An exact proof term for the current goal is ??.
An exact proof term for the current goal is ??.
∎
End of Section CD_minus_add
Beginning of Section CD_conj_add
Variable minus : set → set
Variable conj : set → set
Variable add : set → set → set
Notation. We use - as a prefix operator with priority 358 corresponding to applying term minus.
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term add.
Notation. We use :-: as a prefix operator with priority 358 corresponding to applying term CD_minusminus.
Notation. We use ' as a postfix operator with priority 100 corresponding to applying term CD_conjminusconj.
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term CD_addadd.
We prove the intermediate claimLp0zw: F(proj0z+proj0w).
ApplyF_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 claimLp1zw: F(proj1z+proj1w).
ApplyF_add to the current goal.
An exact proof term for the current goal is ??.
An exact proof term for the current goal is ??.
We will provepa(conj(proj0(pa(proj0z+proj0w)(proj1z+proj1w))))(-proj1(pa(proj0z+proj0w)(proj1z+proj1w))) = pa(proj0(pa(conj(proj0z))(-proj1z))+proj0(pa(conj(proj0w))(-proj1w)))(proj1(pa(conj(proj0z))(-proj1z))+proj1(pa(conj(proj0w))(-proj1w))).
rewrite the current goal using CD_proj0_2(proj0z+proj0w)(proj1z+proj1w)???? (from left to right).
rewrite the current goal using CD_proj1_2(proj0z+proj0w)(proj1z+proj1w)???? (from left to right).
rewrite the current goal using CD_proj0_2(conj(proj0z))(-proj1z)Lcp0zLmp1z (from left to right).
rewrite the current goal using CD_proj1_2(conj(proj0z))(-proj1z)Lcp0zLmp1z (from left to right).
rewrite the current goal using CD_proj0_2(conj(proj0w))(-proj1w)Lcp0wLmp1w (from left to right).
rewrite the current goal using CD_proj1_2(conj(proj0w))(-proj1w)Lcp0wLmp1w (from left to right).
Use f_equal.
ApplyF_conj_add to the current goal.
An exact proof term for the current goal is ??.
An exact proof term for the current goal is ??.
ApplyF_minus_add to the current goal.
An exact proof term for the current goal is ??.
An exact proof term for the current goal is ??.
∎
End of Section CD_conj_add
Beginning of Section CD_add_com
Variable add : set → set → set
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term add.
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term CD_addadd.
An exact proof term for the current goal is CD_proj0R(CD_conjminusconjw)(CD_conj_CDminusF_minusconjF_conjwHw).
We prove the intermediate claimLp1w': F(proj1w').
An exact proof term for the current goal is CD_proj1R(CD_conjminusconjw)(CD_conj_CDminusF_minusconjF_conjwHw).
We prove the intermediate claimLp0z': F(proj0z').
An exact proof term for the current goal is CD_proj0R(CD_conjminusconjz)(CD_conj_CDminusF_minusconjF_conjzHz).
We prove the intermediate claimLp1z': F(proj1z').
An exact proof term for the current goal is CD_proj1R(CD_conjminusconjz)(CD_conj_CDminusF_minusconjF_conjzHz).
We prove the intermediate claimLcp0z': F(conj(proj0z')).
ApplyF_conj to the current goal.
An exact proof term for the current goal is ??.
We prove the intermediate claimLcp1z': F(conj(proj1z')).
ApplyF_conj to the current goal.
An exact proof term for the current goal is ??.
We prove the intermediate claimLp0w'p0z': F(proj0w'*proj0z').
ApplyF_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 claimLcp1z'p1w': F(conj(proj1z')*proj1w').
ApplyF_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 claimLcp1z'p1w': F(-conj(proj1z')*proj1w').
ApplyF_minus to the current goal.
An exact proof term for the current goal is ??.
We prove the intermediate claimLw'z'L: F(proj0w'*proj0z'+-conj(proj1z')*proj1w').
ApplyF_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 claimLp1z'p0w': F(proj1z'*proj0w').
ApplyF_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 claimLp1w'cp0z': F(proj1w'*conj(proj0z')).
ApplyF_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 claimLw'z'R: F(proj1z'*proj0w'+proj1w'*conj(proj0z')).
ApplyF_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 claimLcp1zp1w: F(conj(proj1z)*proj1w).
ApplyF_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 claimLmp1zcp0w: F((-proj1z)*(conj(proj0w))).
ApplyF_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 claimLmp1wp0z: F((-proj1w)*proj0z).
ApplyF_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 provepa(conj(proj0(pa(proj0z*proj0w+-conj(proj1w)*proj1z)(proj1w*proj0z+proj1z*conj(proj0w)))))(-(proj1(pa(proj0z*proj0w+-conj(proj1w)*proj1z)(proj1w*proj0z+proj1z*conj(proj0w))))) = pa(proj0w'*proj0z'+-conj(proj1z')*proj1w')(proj1z'*proj0w'+proj1w'*conj(proj0z')).
rewrite the current goal using CD_proj0_2(proj0z*proj0w+-conj(proj1w)*proj1z)(proj1w*proj0z+proj1z*conj(proj0w))???? (from left to right).
rewrite the current goal using CD_proj1_2(proj0z*proj0w+-conj(proj1w)*proj1z)(proj1w*proj0z+proj1z*conj(proj0w))???? (from left to right).
We will provepa(conj(proj0z*proj0w+-conj(proj1w)*proj1z))(-(proj1w*proj0z+proj1z*conj(proj0w))) = pa(proj0w'*proj0z'+-conj(proj1z')*proj1w')(proj1z'*proj0w'+proj1w'*conj(proj0z')).
rewrite the current goal using CD_proj0_2(conj(proj0w))(-proj1w)???? (from left to right).
rewrite the current goal using CD_proj1_2(conj(proj0w))(-proj1w)???? (from left to right).
rewrite the current goal using CD_proj0_2(conj(proj0z))(-proj1z)???? (from left to right).
rewrite the current goal using CD_proj1_2(conj(proj0z))(-proj1z)???? (from left to right).
We will provepa(conj(proj0z*proj0w+-conj(proj1w)*proj1z))(-(proj1w*proj0z+proj1z*conj(proj0w))) = pa(conj(proj0w)*conj(proj0z)+-conj(-proj1z)*(-proj1w))((-proj1z)*(conj(proj0w))+(-proj1w)*conj(conj(proj0z))).
Use f_equal.
We will proveconj(proj0z*proj0w+-conj(proj1w)*proj1z) = conj(proj0w)*conj(proj0z)+-conj(-proj1z)*(-proj1w).
rewrite the current goal using F_conj_add(proj0z*proj0w)(-conj(proj1w)*proj1z)???? (from left to right).
We will proveconj(proj0z*proj0w)+conj(-conj(proj1w)*proj1z) = conj(proj0w)*conj(proj0z)+-conj(-proj1z)*(-proj1w).
Use f_equal.
We will proveconj(proj0z*proj0w) = conj(proj0w)*conj(proj0z).
An exact proof term for the current goal is F_conj_mul(proj0z)(proj0w)????.
We will proveconj(-conj(proj1w)*proj1z) = -conj(-proj1z)*(-proj1w).
rewrite the current goal using F_conj_minus(conj(proj1w)*proj1z)?? (from left to right).
Use f_equal.
We will proveconj(conj(proj1w)*proj1z) = conj(-proj1z)*(-proj1w).
rewrite the current goal using F_conj_mul(conj(proj1w))(proj1z)???? (from left to right).
We will proveconj(proj1z)*(conj(conj(proj1w))) = conj(-proj1z)*(-proj1w).
rewrite the current goal using F_conj_invol(proj1w)?? (from left to right).
We will proveconj(proj1z)*proj1w = conj(-proj1z)*(-proj1w).
rewrite the current goal using F_conj_minus(proj1z)?? (from left to right).
We will proveconj(proj1z)*proj1w = (-conj(proj1z))*(-proj1w).
rewrite the current goal using F_minus_mul_distrR(-conj(proj1z))(proj1w)???? (from left to right).
rewrite the current goal using F_minus_mul_distrL(conj(proj1z))(proj1w)???? (from left to right).
Use symmetry.
ApplyF_minus_invol(conj(proj1z)*proj1w)?? to the current goal.
We will prove-(proj1w*proj0z+proj1z*conj(proj0w)) = (-proj1z)*(conj(proj0w))+(-proj1w)*conj(conj(proj0z)).
rewrite the current goal using F_conj_invol(proj0z)?? (from left to right).
rewrite the current goal using F_minus_add(proj1w*proj0z)(proj1z*conj(proj0w))???? (from left to right).
rewrite the current goal using F_add_com((-proj1z)*(conj(proj0w)))((-proj1w)*proj0z)???? (from left to right).
An exact proof term for the current goal is F_add_assoc(x+z)yw(F_addxzHxHz)HyHw.
Letz, w and u be given.
AssumeHz Hw Hu.
We prove the intermediate claimLp0z: F(proj0z).
An exact proof term for the current goal is CD_proj0RzHz.
We prove the intermediate claimLp1z: F(proj1z).
An exact proof term for the current goal is CD_proj1RzHz.
We prove the intermediate claimLp0w: F(proj0w).
An exact proof term for the current goal is CD_proj0RwHw.
We prove the intermediate claimLp1w: F(proj1w).
An exact proof term for the current goal is CD_proj1RwHw.
We prove the intermediate claimLp0u: F(proj0u).
An exact proof term for the current goal is CD_proj0RuHu.
We prove the intermediate claimLp1u: F(proj1u).
An exact proof term for the current goal is CD_proj1RuHu.
We prove the intermediate claimLp0zw: F(proj0z+proj0w).
ApplyF_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 claimLp1zw: F(proj1z+proj1w).
ApplyF_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 claimLcp0u: F(conj(proj0u)).
ApplyF_conj to the current goal.
An exact proof term for the current goal is ??.
We prove the intermediate claimLcp1u: F(conj(proj1u)).
ApplyF_conj to the current goal.
An exact proof term for the current goal is ??.
We prove the intermediate claimLp0zp0u: F(proj0z*proj0u).
ApplyF_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 claimLcp1up1z: F(conj(proj1u)*proj1z).
ApplyF_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 claimLcp1up1z: F(-conj(proj1u)*proj1z).
ApplyF_minus to the current goal.
An exact proof term for the current goal is ??.
We prove the intermediate claimLzuL: F(proj0z*proj0u+-conj(proj1u)*proj1z).
ApplyF_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 claimLp1up0z: F(proj1u*proj0z).
ApplyF_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 claimLp1zcp0u: F(proj1z*conj(proj0u)).
ApplyF_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 claimLzuR: F(proj1u*proj0z+proj1z*conj(proj0u)).
ApplyF_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 claimLp0wp0u: F(proj0w*proj0u).
ApplyF_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 claimLcp1up1w: F(conj(proj1u)*proj1w).
ApplyF_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 claimLcp1up1w: F(-conj(proj1u)*proj1w).
ApplyF_minus to the current goal.
An exact proof term for the current goal is ??.
We prove the intermediate claimLwuL: F(proj0w*proj0u+-conj(proj1u)*proj1w).
ApplyF_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 claimLp1up0w: F(proj1u*proj0w).
ApplyF_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 claimLp1wcp0u: F(proj1w*conj(proj0u)).
ApplyF_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 claimLwuR: F(proj1u*proj0w+proj1w*conj(proj0u)).
ApplyF_add to the current goal.
An exact proof term for the current goal is ??.
An exact proof term for the current goal is ??.
Setzw to be the term pa(proj0z+proj0w)(proj1z+proj1w).
Setzu to be the term pa(proj0z*proj0u+-conj(proj1u)*proj1z)(proj1u*proj0z+proj1z*conj(proj0u)).
Setwu to be the term pa(proj0w*proj0u+-conj(proj1u)*proj1w)(proj1u*proj0w+proj1w*conj(proj0u)).
We will provepa(proj0zw*proj0u+-conj(proj1u)*proj1zw)(proj1u*proj0zw+proj1zw*conj(proj0u)) = pa(proj0zu+proj0wu)(proj1zu+proj1wu).
rewrite the current goal using CD_proj0_2(proj0z+proj0w)(proj1z+proj1w)???? (from left to right).
rewrite the current goal using CD_proj1_2(proj0z+proj0w)(proj1z+proj1w)???? (from left to right).
We will provepa((proj0z+proj0w)*proj0u+-conj(proj1u)*(proj1z+proj1w))(proj1u*(proj0z+proj0w)+(proj1z+proj1w)*conj(proj0u)) = pa(proj0zu+proj0wu)(proj1zu+proj1wu).
rewrite the current goal using CD_proj0_2(proj0z*proj0u+-conj(proj1u)*proj1z)(proj1u*proj0z+proj1z*conj(proj0u))???? (from left to right).
rewrite the current goal using CD_proj1_2(proj0z*proj0u+-conj(proj1u)*proj1z)(proj1u*proj0z+proj1z*conj(proj0u))???? (from left to right).
rewrite the current goal using CD_proj0_2(proj0w*proj0u+-conj(proj1u)*proj1w)(proj1u*proj0w+proj1w*conj(proj0u))???? (from left to right).
rewrite the current goal using CD_proj1_2(proj0w*proj0u+-conj(proj1u)*proj1w)(proj1u*proj0w+proj1w*conj(proj0u))???? (from left to right).
Use f_equal.
We will prove(proj0z+proj0w)*proj0u+-conj(proj1u)*(proj1z+proj1w) = (proj0z*proj0u+-conj(proj1u)*proj1z)+(proj0w*proj0u+-conj(proj1u)*proj1w).
rewrite the current goal using L_add_4_inner_mid(proj0z*proj0u)(-conj(proj1u)*proj1z)(proj0w*proj0u)(-conj(proj1u)*proj1w)???????? (from left to right).
Use f_equal.
We will prove(proj0z+proj0w)*proj0u = proj0z*proj0u+proj0w*proj0u.
ApplyF_add_mul_distrR to the current goal.
An exact proof term for the current goal is ??.
An exact proof term for the current goal is ??.
An exact proof term for the current goal is ??.
We will prove-conj(proj1u)*(proj1z+proj1w) = (-conj(proj1u)*proj1z)+(-conj(proj1u)*proj1w).
rewrite the current goal using F_minus_add(conj(proj1u)*proj1z)(conj(proj1u)*proj1w)???? (from right to left).
Use f_equal.
We will proveconj(proj1u)*(proj1z+proj1w) = (conj(proj1u)*proj1z)+(conj(proj1u)*proj1w).
ApplyF_add_mul_distrL to the current goal.
An exact proof term for the current goal is ??.
An exact proof term for the current goal is ??.
An exact proof term for the current goal is ??.
We will prove(proj1u*(proj0z+proj0w)+(proj1z+proj1w)*conj(proj0u)) = (proj1u*proj0z+proj1z*conj(proj0u))+(proj1u*proj0w+proj1w*conj(proj0u)).
rewrite the current goal using L_add_4_inner_mid(proj1u*proj0z)(proj1z*conj(proj0u))(proj1u*proj0w)(proj1w*conj(proj0u))???????? (from left to right).
Use f_equal.
ApplyF_add_mul_distrL to the current goal.
An exact proof term for the current goal is ??.
An exact proof term for the current goal is ??.
An exact proof term for the current goal is ??.
ApplyF_add_mul_distrR to the current goal.
An exact proof term for the current goal is ??.
An exact proof term for the current goal is ??.
An exact proof term for the current goal is ??.
∎
End of Section CD_add_mul_distrR
Beginning of Section CD_add_mul_distrL
Variable minus : set → set
Variable conj : set → set
Variable add : set → set → set
Variable mul : set → set → set
Notation. We use - as a prefix operator with priority 358 corresponding to applying term minus.
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term add.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term mul.
Notation. We use :-: as a prefix operator with priority 358 corresponding to applying term CD_minusminus.
Notation. We use ' as a postfix operator with priority 100 corresponding to applying term CD_conjminusconj.
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term CD_addadd.
Notation. We use ⨯ as an infix operator with priority 355 and which associates to the right corresponding to applying term CD_mulminusconjaddmul.
An exact proof term for the current goal is F_add_assoc(x+z)yw(F_addxzHxHz)HyHw.
Letz, w and u be given.
AssumeHz Hw Hu.
We prove the intermediate claimLp0z: F(proj0z).
An exact proof term for the current goal is CD_proj0RzHz.
We prove the intermediate claimLp1z: F(proj1z).
An exact proof term for the current goal is CD_proj1RzHz.
We prove the intermediate claimLp0w: F(proj0w).
An exact proof term for the current goal is CD_proj0RwHw.
We prove the intermediate claimLp1w: F(proj1w).
An exact proof term for the current goal is CD_proj1RwHw.
We prove the intermediate claimLp0u: F(proj0u).
An exact proof term for the current goal is CD_proj0RuHu.
We prove the intermediate claimLp1u: F(proj1u).
An exact proof term for the current goal is CD_proj1RuHu.
We prove the intermediate claimLp0wu: F(proj0w+proj0u).
ApplyF_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 claimLp1wu: F(proj1w+proj1u).
ApplyF_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 claimLcp0w: F(conj(proj0w)).
ApplyF_conj to the current goal.
An exact proof term for the current goal is ??.
We prove the intermediate claimLcp1w: F(conj(proj1w)).
ApplyF_conj to the current goal.
An exact proof term for the current goal is ??.
We prove the intermediate claimLcp0u: F(conj(proj0u)).
ApplyF_conj to the current goal.
An exact proof term for the current goal is ??.
We prove the intermediate claimLcp1u: F(conj(proj1u)).
ApplyF_conj to the current goal.
An exact proof term for the current goal is ??.
We prove the intermediate claimLp0zp0w: F(proj0z*proj0w).
ApplyF_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 claimLcp1wp1z: F(conj(proj1w)*proj1z).
ApplyF_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 claimLcp1wp1z: F(-conj(proj1w)*proj1z).
ApplyF_minus to the current goal.
An exact proof term for the current goal is ??.
We prove the intermediate claimLzwL: F(proj0z*proj0w+-conj(proj1w)*proj1z).
ApplyF_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 claimLp1wp0z: F(proj1w*proj0z).
ApplyF_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 claimLp1zcp0w: F(proj1z*conj(proj0w)).
ApplyF_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 claimLzwR: F(proj1w*proj0z+proj1z*conj(proj0w)).
ApplyF_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 claimLp0zp0u: F(proj0z*proj0u).
ApplyF_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 claimLcp1up1z: F(conj(proj1u)*proj1z).
ApplyF_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 claimLcp1up1z: F(-conj(proj1u)*proj1z).
ApplyF_minus to the current goal.
An exact proof term for the current goal is ??.
We prove the intermediate claimLzuL: F(proj0z*proj0u+-conj(proj1u)*proj1z).
ApplyF_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 claimLp1up0z: F(proj1u*proj0z).
ApplyF_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 claimLp1zcp0u: F(proj1z*conj(proj0u)).
ApplyF_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 claimLzuR: F(proj1u*proj0z+proj1z*conj(proj0u)).
ApplyF_add to the current goal.
An exact proof term for the current goal is ??.
An exact proof term for the current goal is ??.
Setwu to be the term pa(proj0w+proj0u)(proj1w+proj1u).
Setzw to be the term pa(proj0z*proj0w+-conj(proj1w)*proj1z)(proj1w*proj0z+proj1z*conj(proj0w)).
Setzu to be the term pa(proj0z*proj0u+-conj(proj1u)*proj1z)(proj1u*proj0z+proj1z*conj(proj0u)).
We will provepa(proj0z*proj0wu+-conj(proj1wu)*proj1z)(proj1wu*proj0z+proj1z*conj(proj0wu)) = pa(proj0zw+proj0zu)(proj1zw+proj1zu).
rewrite the current goal using CD_proj0_2(proj0w+proj0u)(proj1w+proj1u)???? (from left to right).
rewrite the current goal using CD_proj1_2(proj0w+proj0u)(proj1w+proj1u)???? (from left to right).
rewrite the current goal using CD_proj0_2(proj0z*proj0w+-conj(proj1w)*proj1z)(proj1w*proj0z+proj1z*conj(proj0w))???? (from left to right).
rewrite the current goal using CD_proj1_2(proj0z*proj0w+-conj(proj1w)*proj1z)(proj1w*proj0z+proj1z*conj(proj0w))???? (from left to right).
rewrite the current goal using CD_proj0_2(proj0z*proj0u+-conj(proj1u)*proj1z)(proj1u*proj0z+proj1z*conj(proj0u))???? (from left to right).
rewrite the current goal using CD_proj1_2(proj0z*proj0u+-conj(proj1u)*proj1z)(proj1u*proj0z+proj1z*conj(proj0u))???? (from left to right).
Use f_equal.
rewrite the current goal using L_add_4_inner_mid(proj0z*proj0w)(-conj(proj1w)*proj1z)(proj0z*proj0u)(-conj(proj1u)*proj1z)???????? (from left to right).
Use f_equal.
ApplyF_add_mul_distrL to the current goal.
An exact proof term for the current goal is ??.
An exact proof term for the current goal is ??.
An exact proof term for the current goal is ??.
We will prove-conj(proj1w+proj1u)*proj1z = (-conj(proj1w)*proj1z)+(-conj(proj1u)*proj1z).
rewrite the current goal using F_conj_add(proj1w)(proj1u)???? (from left to right).
We will prove-(conj(proj1w)+conj(proj1u))*proj1z = (-conj(proj1w)*proj1z)+(-conj(proj1u)*proj1z).
rewrite the current goal using F_add_mul_distrR(conj(proj1w))(conj(proj1u))(proj1z)?????? (from left to right).
We will prove-(conj(proj1w)*proj1z+conj(proj1u)*proj1z) = (-conj(proj1w)*proj1z)+(-conj(proj1u)*proj1z).
ApplyF_minus_add to the current goal.
An exact proof term for the current goal is ??.
An exact proof term for the current goal is ??.
rewrite the current goal using L_add_4_inner_mid(proj1w*proj0z)(proj1z*conj(proj0w))(proj1u*proj0z)(proj1z*conj(proj0u))???????? (from left to right).
Use f_equal.
ApplyF_add_mul_distrR to the current goal.
An exact proof term for the current goal is ??.
An exact proof term for the current goal is ??.
An exact proof term for the current goal is ??.
We will proveproj1z*conj(proj0w+proj0u) = proj1z*conj(proj0w)+proj1z*conj(proj0u).
rewrite the current goal using F_conj_add(proj0w)(proj0u)???? (from left to right).
ApplyF_add_mul_distrL to the current goal.
An exact proof term for the current goal is ??.
An exact proof term for the current goal is ??.
An exact proof term for the current goal is ??.
∎
End of Section CD_add_mul_distrL
Beginning of Section CD_minus_mul_distrR
Variable minus : set → set
Variable conj : set → set
Variable add : set → set → set
Variable mul : set → set → set
Notation. We use - as a prefix operator with priority 358 corresponding to applying term minus.
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term add.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term mul.
Notation. We use :-: as a prefix operator with priority 358 corresponding to applying term CD_minusminus.
Notation. We use ' as a postfix operator with priority 100 corresponding to applying term CD_conjminusconj.
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term CD_addadd.
Notation. We use ⨯ as an infix operator with priority 355 and which associates to the right corresponding to applying term CD_mulminusconjaddmul.
We prove the intermediate claimLcp0w: F(conj(proj0w)).
ApplyF_conj to the current goal.
An exact proof term for the current goal is ??.
We prove the intermediate claimLcp1w: F(conj(proj1w)).
ApplyF_conj to the current goal.
An exact proof term for the current goal is ??.
We prove the intermediate claimLcp1wp1z: F(conj(proj1w)*proj1z).
ApplyF_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 claimLmcp1wp1z: F(-conj(proj1w)*proj1z).
ApplyF_minus to the current goal.
An exact proof term for the current goal is ??.
We prove the intermediate claimLp0zp0w: F(proj0z*proj0w).
ApplyF_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 claimLmulL: F(proj0z*proj0w+-conj(proj1w)*proj1z).
ApplyF_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 claimLp1wp0z: F(proj1w*proj0z).
ApplyF_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 claimLp1zcp0w: F(proj1z*conj(proj0w)).
ApplyF_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 claimLmulR: F(proj1w*proj0z+proj1z*conj(proj0w)).
ApplyF_add to the current goal.
An exact proof term for the current goal is ??.
An exact proof term for the current goal is ??.
We will provepa(proj0z*proj0(pa(-proj0w)(-proj1w))+-conj(proj1(pa(-proj0w)(-proj1w)))*proj1z)(proj1(pa(-proj0w)(-proj1w))*proj0z+proj1z*conj(proj0(pa(-proj0w)(-proj1w)))) = pa(-proj0(pa(proj0z*proj0w+-conj(proj1w)*proj1z)(proj1w*proj0z+proj1z*conj(proj0w))))(-proj1(pa(proj0z*proj0w+-conj(proj1w)*proj1z)(proj1w*proj0z+proj1z*conj(proj0w)))).
rewrite the current goal using CD_proj0_2(-proj0w)(-proj1w)(F_minus(proj0w)(CD_proj0RwHw))?? (from left to right).
rewrite the current goal using CD_proj1_2(-proj0w)(-proj1w)(F_minus(proj0w)(CD_proj0RwHw))?? (from left to right).
rewrite the current goal using CD_proj0_2(proj0z*proj0w+-conj(proj1w)*proj1z)(proj1w*proj0z+proj1z*conj(proj0w))???? (from left to right).
rewrite the current goal using CD_proj1_2(proj0z*proj0w+-conj(proj1w)*proj1z)(proj1w*proj0z+proj1z*conj(proj0w))???? (from left to right).
We will provepa(proj0z*(-proj0w)+-conj(-proj1w)*proj1z)((-proj1w)*proj0z+proj1z*conj(-proj0w)) = pa(-(proj0z*proj0w+-conj(proj1w)*proj1z))(-(proj1w*proj0z+proj1z*conj(proj0w))).
Use f_equal.
We will proveproj0z*(-proj0w)+-conj(-proj1w)*proj1z = -(proj0z*proj0w+-conj(proj1w)*proj1z).
rewrite the current goal using F_minus_add(proj0z*proj0w)(-conj(proj1w)*proj1z)???? (from left to right).
We prove the intermediate claimLcp0w: F(conj(proj0w)).
ApplyF_conj to the current goal.
An exact proof term for the current goal is ??.
We prove the intermediate claimLcp1w: F(conj(proj1w)).
ApplyF_conj to the current goal.
An exact proof term for the current goal is ??.
We prove the intermediate claimLcp1wp1z: F(conj(proj1w)*proj1z).
ApplyF_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 claimLmcp1wp1z: F(-conj(proj1w)*proj1z).
ApplyF_minus to the current goal.
An exact proof term for the current goal is ??.
We prove the intermediate claimLp0zp0w: F(proj0z*proj0w).
ApplyF_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 claimLmulL: F(proj0z*proj0w+-conj(proj1w)*proj1z).
ApplyF_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 claimLp1wp0z: F(proj1w*proj0z).
ApplyF_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 claimLp1zcp0w: F(proj1z*conj(proj0w)).
ApplyF_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 claimLmulR: F(proj1w*proj0z+proj1z*conj(proj0w)).
ApplyF_add to the current goal.
An exact proof term for the current goal is ??.
An exact proof term for the current goal is ??.
We will provepa(proj0(pa(-proj0z)(-proj1z))*proj0w+-conj(proj1w)*proj1(pa(-proj0z)(-proj1z)))(proj1w*proj0(pa(-proj0z)(-proj1z))+proj1(pa(-proj0z)(-proj1z))*conj(proj0w)) = pa(-proj0(pa(proj0z*proj0w+-conj(proj1w)*proj1z)(proj1w*proj0z+proj1z*conj(proj0w))))(-proj1(pa(proj0z*proj0w+-conj(proj1w)*proj1z)(proj1w*proj0z+proj1z*conj(proj0w)))).
rewrite the current goal using CD_proj0_2(-proj0z)(-proj1z)???? (from left to right).
rewrite the current goal using CD_proj1_2(-proj0z)(-proj1z)???? (from left to right).
rewrite the current goal using CD_proj0_2(proj0z*proj0w+-conj(proj1w)*proj1z)(proj1w*proj0z+proj1z*conj(proj0w))???? (from left to right).
rewrite the current goal using CD_proj1_2(proj0z*proj0w+-conj(proj1w)*proj1z)(proj1w*proj0z+proj1z*conj(proj0w))???? (from left to right).
We will provepa((-proj0z)*proj0w+-conj(proj1w)*(-proj1z))(proj1w*(-proj0z)+(-proj1z)*conj(proj0w)) = pa(-(proj0z*proj0w+-conj(proj1w)*proj1z))(-(proj1w*proj0z+proj1z*conj(proj0w))).
Use f_equal.
We will prove(-proj0z)*proj0w+-conj(proj1w)*(-proj1z) = -(proj0z*proj0w+-conj(proj1w)*proj1z).
rewrite the current goal using F_minus_add(proj0z*proj0w)(-conj(proj1w)*proj1z)???? (from left to right).