proposition: Lemma segment_construction : segment_constructionP Point bet' cong'.
proof: Proof. rewrite /bet'/cong'=> a b c d. apply E_in_disk. case: (c =P d). move->. exists (#b). by rewrite bet_axx /cong_v -!expr2 -!/(omd _ _) !divff ?expr2 ?mulf_neq0 ?omd_eq0 . move=> /eqP cd_neq. case: (a =P b). case: (c =P b). move=> <- ->. exists (#d). by rewrite bet_xxa /cong_v. move => /eqP cb_neq ->. move: (@segment_construction_aux c b c d). rewrite cd_neq cb_neq. move => H. destruct H => //. destruct H as [_ H2]. exists x. by rewrite bet_xxa H2. move=> /eqP ab_neq. apply segment_construction_aux => //. Qed.
imports: mathcomp.ssreflect.ssreflect mathcomp(ssrbool ssrfun ssrnat eqtype choice seq) mathcomp(fintype finset finfun bigop order) mathcomp(ssralg ssrnum path generic_quotient matrix mxalgebra algC) mathcomp(zmodp) GeoCoq.Meta_theory.Models.POF_to_Tarski GeoCoq.Axioms.gupta_inspired_variant_axioms GeoCoq.Meta_theory.Models.tarski_to_gupta_inspired GeoCoq.Tarski_dev.Ch06_out_lines GeoCoq.Tarski_dev.Ch11_angles GeoCoq.Meta_theory.Parallel_postulates.parallel_postulates GeoCoq.Meta_theory.Counter_models.Planar.independence