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.

(* Specifications: *)
Lemma cong_pseudo_reflexivity a b : cong a b b a.
Lemma betE_sym a b c : betE a b c = betE c b a.
Lemma betS_sym a b c : betS a b c = betS c b a.
Definition bet a b c := betE a b c || betS a b c.
Lemma bet_sym a b c : bet a b c = bet c b a.
Lemma betS_neq23 a b c : betS a b c = betS a b c && (b != c).
Lemma betS_id a b : betS a b a = false.
Lemma bet_trans a b c d : bet a b c = bet (a+d) (b+d) (c+d).
Lemma bet_xax x a : bet x a x = (x == a).
Lemma bet_ratio a b k1 : 0 < k1 -> k1 < 1 -> bet a b (k1^-1 *: (b - a) + a).
Definition extension a b k := k^-1 *: (b - a) + a.