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.

Lemma euclid a b c d t (k1 := betR a d t) (k2 := betR b d c) :
bet a d t -> bet b d c -> b <> d -> d <> c ->
~ (bet a b c \/ bet b c a \/ bet c a b) ->
exists x y, bet a b x /\ bet a c y /\ bet x t y.