proposition: Lemma euclid'' a b c d k1 (k2 := betR b d c) : 0 < k1 -> k1 < 1 -> bet b d c -> b != c -> bet (extension a b k1) (extension a d k1) (extension a c k1).
proof: Proof. set x:= extension a b k1; set t:= extension a d k1; set y:= extension a c k1. move=> k1_gt0 k1_lt1 bet_bdc bc_neq; have: (k1 != 0) by rewrite lt0r_neq0. move=> k1_neq0; move: bet_bdc; rewrite /bet /betE !extension_eq ?k1_neq0 //. case (b =P d); [rewrite orbT //|]; case (d =P c) ; [rewrite orbT //|rewrite /=]. move=> _ _ /betSP[P1 k2_gt0 k2_lt1]; rewrite /betS. suff: (t - x == k2 *: (y - x))=> [/eqP P2|]; [suff: (betR x t y = k2)=> [->|]|]. by rewrite P2 k2_gt0 k2_lt1 eqxx. by apply ratio_eq; rewrite ?P2 ?eqxx // subr_eq0 extension_eq // eq_sym. rewrite /x /t /y /extension addrDBD -scalerBr opprB addrBDB addrDBD -scalerBr. by rewrite opprB addrBDB scalerA mulrC -scalerA P1 eqxx. Qed.
imports: mathcomp.ssreflect.ssreflect mathcomp(ssrbool ssrfun ssrnat eqtype seq order) mathcomp(fintype bigop) mathcomp(ssralg ssrnum matrix) mathcomp(zmodp) GeoCoq.Axioms.tarski_axioms GeoCoq.Axioms.gupta_inspired_variant_axioms GeoCoq.Meta_theory.Models.gupta_inspired_to_tarski GeoCoq.Meta_theory.Counter_models.coplanarity GeoCoq.Meta_theory.Parallel_postulates.parallel_postulates GeoCoq.Tarski_dev.Ch12_parallel_inter_dec