Section T17.
Context `{T2D:Tarski_2D}.
Context `{TE:@Tarski_euclidean Tn TnEQD}.
Definition O := PA.
Definition E := PB.
Definition E' := PC.
intros.
unfold PythRel in H0.
spliter.
unfold Ar2 in H0; spliter.
induction H1.
spliter.
left.
intro.
subst A.
induction H5.
subst C.
tauto.
subst B.
apply opp_midpoint in H5.
unfold Midpoint in H5.
spliter.
apply cong_symmetry in H5.
apply cong_identity in H5.
subst C.
tauto.
ex_and H1 B'.
right.
intro.
subst B.
apply perp_distinct in H1.
tauto.
Qed.
intros.
unfold PythRel in H.
spliter.
induction H0.
spliter.
induction H1.
auto.
apply opp_midpoint in H1.
unfold Midpoint in H1.
spliter.
apply cong_symmetry in H2.
apply cong_identity in H2.
auto.
ex_and H0 B'.
apply perp_distinct in H0.
tauto.
Qed.
(** One needs to define a predicate for which MA is uniquely defined. *)
Definition inv O E E' A MA :=
(A <> O /\ Prod O E E' MA A E) \/ (A = O /\ MA = O).
Definition div O E E' A B C :=
exists IB : Tpoint, inv O E E' B IB /\ Prod O E E' A IB C.

Lemma div_f : forall A B, Col O E A -> Col O E B -> {C | div O E E' A B C}.