End Bisector.
Ltac col_with_conga :=
match goal with
| H: (CongA ?A ?B ?I ?I ?B ?C) |- Col ?A ?B ?C =>
assert (Col A B I) by (assert_diffs;ColR); assert (HH : Col I B C) by (apply (col_conga_col A B I I B C);assumption);
assert_diffs;ColR
| H :(CongA ?A ?B ?I ?C ?B ?I) |- Col ?A ?B ?C =>
assert (CongA A B I I B C) by (apply (conga_right_comm A B I C B I);assumption); col_with_conga
| H :(CongA ?I ?B ?A ?I ?B ?C) |- Col ?A ?B ?C =>
assert (CongA A B I I B C) by (apply (conga_left_comm I B A I B C);assumption); col_with_conga
| H :(CongA ?I ?B ?A ?C ?B ?I) |- Col ?A ?B ?C =>
assert (CongA A B I C B I) by (apply (conga_left_comm I B A C B I);assumption); col_with_conga
| H :(CongA ?I ?B ?C ?A ?B ?I) |- Col ?A ?B ?C =>
assert (CongA A B I I B C) by (apply (conga_sym I B C A B I);assumption); col_with_conga
| H :(CongA ?C ?B ?I ?A ?B ?I) |- Col ?A ?B ?C =>
assert (CongA A B I C B I) by (apply (conga_sym C B I A B I);assumption); col_with_conga
| H :(CongA ?I ?B ?C ?I ?B ?A) |- Col ?A ?B ?C =>
assert (CongA I B A I B C) by (apply (conga_sym I B C I B A);assumption); col_with_conga
| H: (CongA ?C ?B ?I ?I ?B ?A) |- Col ?A ?B ?C =>
assert (CongA I B A C B I) by (apply (conga_sym C B I I B A);assumption); col_with_conga
| H: (CongA ?A ?B ?I ?I ?B ?C) |- Col ?C ?B ?A =>
apply (col_permutation_3 A B C);auto;col_with_conga
| H :(CongA ?A ?B ?I ?C ?B ?I) |- Col ?C ?B ?A =>
apply (col_permutation_3 A B C);auto;col_with_conga
| H :(CongA ?I ?B ?A ?I ?B ?C) |- Col ?C ?B ?A =>
apply (col_permutation_3 A B C);auto;col_with_conga
| H :(CongA ?I ?B ?A ?C ?B ?I) |- Col ?C ?B ?A =>
apply (col_permutation_3 A B C);auto;col_with_conga
| H :(CongA ?I ?B ?C ?A ?B ?I) |- Col ?C ?B ?A =>
apply (col_permutation_3 A B C);auto;col_with_conga
| H :(CongA ?C ?B ?I ?A ?B ?I) |- Col ?C ?B ?A =>
apply (col_permutation_3 A B C);auto;col_with_conga
| H :(CongA ?I ?B ?C ?I ?B ?A) |- Col ?C ?B ?A =>
apply (col_permutation_3 A B C);auto;col_with_conga
| H: (CongA ?C ?B ?I ?I ?B ?A) |- Col ?C ?B ?A =>
apply (col_permutation_3 A B C);auto;col_with_conga
end.
Section Bisector_2.
Context `{TE:Tarski_euclidean}.

(* Specifications: *)
Lemma equality_foot_out_out : forall A B C I H1 H2,
~ Col A B C -> InAngle I A B C ->
Col A B H1 -> Col B C H2-> Cong I H1 I H2->
Perp A B I H1 -> Perp B C I H2 ->
(Out B H1 A -> Out B H2 C).