intros...
assert (T := A2a A B (1 / 2))...
elim T; intros; clear T...
exists x...
intuition...
assert (A ** x + x ** B = A ** B)...
unfold mid_point in |- *...
intuition...
RewriteVar (A ** x) H0...
RewriteVar (x ** B) H1...
Qed.

(* Specifications: *)
Theorem symmetric_point_ex :
forall A O : Point, {A' : Point | Col A O A' /\ A ** O = O ** A'}.