Section TarskiGe1.
Variable R : realFieldType.
Variable n : nat.
Implicit Types (a b c d : (@ Vector R n)).
Definition cong a b c d := (b - a) *m (b - a)^T == (d - c) *m (d - c)^T.
Definition bet a b c := betE a b c || betS a b c.
Definition extension a b k := k^-1 *: (b - a) + a.
Definition contraction a b k := k *: (b - a) + a.
Definition sqr_L2_norm_2D a b :=
(b 0 0 - a 0 0) ^+ 2 + (b 0 1 - a 0 1) ^+ 2.

Lemma col_2D_aux a b c :
((a 0 0 - b 0 0) * (b 0 1 - c 0 1) == (a 0 1 - b 0 1) * (b 0 0 - c 0 0)) ->
c 0 0 != a 0 0 \/ c 0 1 != a 0 1 ->
a 0 0 != b 0 0 \/ a 0 1 != b 0 1 ->
b 0 0 != c 0 0 \/ b 0 1 != c 0 1 ->
[ \/ [ /\ b 0 0 = a 0 0, c 0 0 = a 0 0,
a 0 1 - b 0 1 != 0, b 0 1 - c 0 1 != 0 & c 0 1 - a 0 1 != 0],
[ /\ b 0 1 = a 0 1, c 0 1 = a 0 1,
a 0 0 - b 0 0 != 0, b 0 0 - c 0 0 != 0 & c 0 0 - a 0 0 != 0] |
[ /\ [ /\ a 0 0 - b 0 0 != 0, b 0 0 - c 0 0 != 0 & c 0 0 - a 0 0 != 0] &
[ /\ a 0 1 - b 0 1 != 0, b 0 1 - c 0 1 != 0 & c 0 1 - a 0 1 != 0]]].