Ltac intersection_medians G A B C I J H1 H2 H3 :=
 let T := fresh in assert(T:= intersection_two_medians_exist A B C I J H1 H2 H3);
 ex_and T G.

(* Specifications: *)
Lemma three_medians_intersect: forall A B C I J K, ~Col A B C -> Midpoint I B C -> Midpoint J A C -> Midpoint K A B -> exists G, Col G A I /\ Col G B J /\Col G C K.
Lemma is_gravity_center_col : forall A B C G I, is_gravity_center G A B C -> Midpoint I A B -> Col G I C.
Lemma is_gravity_center_diff_1 : forall A B C G, is_gravity_center G A B C -> G<>A.
Lemma is_gravity_center_diff_2 : forall A B C G, is_gravity_center G A B C -> G<>B.
Lemma is_gravity_center_diff_3 : forall A B C G, is_gravity_center G A B C -> G<>C.
Lemma is_gravity_center_third : forall A B C G G' A', is_gravity_center G A B C -> Midpoint G' A G -> Midpoint A' B C -> Midpoint G A' G'.
Lemma is_gravity_center_third_reci : forall A B C G A' A'', Midpoint A' B C -> Midpoint A'' A G -> Midpoint G A' A'' -> ~ Col A B C -> is_gravity_center G A B C.
Lemma is_gravity_center_perm : forall A B C G, is_gravity_center G A B C -> is_gravity_center G A B C /\ is_gravity_center G A C B /\ is_gravity_center G B A C /\ is_gravity_center G B C A /\ is_gravity_center G C A B /\ is_gravity_center G C B A.
Lemma is_gravity_center_perm_1 : forall A B C G, is_gravity_center G A B C -> is_gravity_center G A C B.
Lemma is_gravity_center_perm_2 : forall A B C G, is_gravity_center G A B C -> is_gravity_center G B A C.
Lemma is_gravity_center_perm_3 : forall A B C G, is_gravity_center G A B C -> is_gravity_center G B C A.
Lemma is_gravity_center_perm_4 : forall A B C G, is_gravity_center G A B C -> is_gravity_center G C A B.
Lemma is_gravity_center_perm_5 : forall A B C G, is_gravity_center G A B C -> is_gravity_center G C B A.
Lemma is_gravity_center_cases : forall A B C G, is_gravity_center G A B C \/ is_gravity_center G A C B \/ is_gravity_center G B A C \/ is_gravity_center G B C A \/ is_gravity_center G C A B \/ is_gravity_center G C B A -> is_gravity_center G A B C.