(** Lemma 14.28 is something like exists f, prod O E X A B C -> prod O' E' f(X) f(A') f(B') f(C') ? *)
(** Lemma 14.29 *)
(** From Pappus-Pascal we can derive that the product is symmetric, hence we have a field. *)
(* already done : prod_comm *)

(* Specifications: *)
Lemma prod_sym : forall O E E' A B C,
Prod O E E' A B C -> Prod O E E' B A C.
(** Lemma 14.31 *)
Lemma l14_31_1 : forall O E E' A B C D,
Ar2_4 O E E' A B C D -> C <> O ->
(exists X, Prod O E E' A B X /\ Prod O E E' C D X) -> Prod O C E' A B D.
Lemma l14_31_2 : forall O E E' A B C D ,
Ar2_4 O E E' A B C D -> C <> O -> Prod O C E' A B D ->
(exists X, Prod O E E' A B X /\ Prod O E E' C D X).
Lemma prod_x_axis_unit_change : forall O E E' A B C D U,
Ar2_4 O E E' A B C D -> Col O E U -> U <> O ->
( exists X, Prod O E E' A B X /\ Prod O E E' C D X) ->
( exists Y, Prod O U E' A B Y /\ Prod O U E' C D Y).
Lemma opp_prod : forall O E E' ME X MX,
Opp O E E' E ME -> Opp O E E' X MX -> Prod O E E' X ME MX.
Lemma distr_l_diff : forall O E E' A B C BMC AB AC ABMC,
Diff O E E' B C BMC -> Prod O E E' A B AB ->
Prod O E E' A C AC -> Prod O E E' A BMC ABMC ->
Diff O E E' AB AC ABMC.
Lemma diff_of_squares : forall O E E' A B A2 B2 A2MB2 APB AMB F,
Prod O E E' A A A2 -> Prod O E E' B B B2 -> Diff O E E' A2 B2 A2MB2 ->
Sum O E E' A B APB -> Diff O E E' A B AMB -> Prod O E E' APB AMB F ->
A2MB2 = F.
Lemma eq_squares_eq_or_opp : forall O E E' A B A2,
Prod O E E' A A A2 -> Prod O E E' B B A2 -> A = B \/ Opp O E E' A B.
Lemma diff_2_prod : forall O E E' A B AMB BMA ME,
Opp O E E' E ME -> Diff O E E' A B AMB -> Diff O E E' B A BMA ->
Prod O E E' AMB ME BMA.