Proof with Geometry.
intros...
cases_equality A B...
assert (A ** B = 0)...
rewrite H4 in H2...
rewrite H4 in H0...
NormalizeRing H2...
NormalizeRing H0...
assert (A = P')...
assert (A = P)...
congruence...
(* exemple de conflis proof with et metavariable ici *)
apply (A2b A B P P' r H3 H H0 H1 H2)...
Qed.
Definition mid_point (I A B : Point) : Prop :=
Col A B I /\ A ** I = I ** B.
Definition symmetric_point (I A B : Point) : Prop :=
Col A B I /\ A ** B = B ** I.

Theorem mid_point_ex : forall A B : Point, {O : Point | mid_point O A B}.
Proof with try solve [ Geometry | field; Geometry | congruence ].