Require Export GeoCoq.Highschool.midpoint_thales.
Require Export GeoCoq.Highschool.exercises.
Section Circumcenter.
Context `{TE:Tarski_euclidean}.
Definition is_circumcenter G A B C := Cong A G B G /\ Cong B G C G /\ Coplanar G A B C.

(* Specifications: *)
Lemma circumcenter_cong : forall G A B C,
is_circumcenter G A B C ->
Cong A G B G /\ Cong B G C G /\ Cong C G A G.
Lemma is_circumcenter_perm : forall A B C G,
is_circumcenter G A B C ->
is_circumcenter G A B C /\ is_circumcenter G A C B /\
is_circumcenter G B A C /\ is_circumcenter G B C A /\
is_circumcenter G C A B /\ is_circumcenter G C B A.
Lemma is_circumcenter_cases :
forall A B C G,
is_circumcenter G A B C \/
is_circumcenter G A C B \/
is_circumcenter G B A C \/
is_circumcenter G B C A \/
is_circumcenter G C A B \/
is_circumcenter G C B A ->
is_circumcenter G A B C.
Lemma is_circumcenter_perm_1 : forall A B C G,
is_circumcenter G A B C -> is_circumcenter G A C B.
Lemma is_circumcenter_perm_2 : forall A B C G,
is_circumcenter G A B C -> is_circumcenter G B A C.
Lemma is_circumcenter_perm_3 : forall A B C G,
is_circumcenter G A B C -> is_circumcenter G B C A.
Lemma is_circumcenter_perm_4 : forall A B C G,
is_circumcenter G A B C -> is_circumcenter G C A B.
Lemma is_circumcenter_perm_5 : forall A B C G,
is_circumcenter G A B C -> is_circumcenter G C B A.
Lemma is_circumcenter_cop : forall A B C G,
is_circumcenter G A B C -> Coplanar G A B C.