proposition: Lemma five_segment_aux a c d : dist c d = dist a d * (omd c c / omd a a) * (omd a d/ omd c d)^+2.
proof: Proof. apply /eqP. rewrite eq_sym /dist /dist_v -!/(omd _ _) exprMn exprVn. rewrite mulrACA mulrC -[omd a a * omd d d / omd a d ^+ 2 * omd a d ^+ 2]mulrA. rewrite [omd a d ^- 2 * omd a d ^+ 2]mulrC divff; last by rewrite expr2 mulf_eq0 omd_eq0. rewrite mulr1 mulrACA mulrC -[omd c c / omd a a * omd a a]mulrA. rewrite [(omd a a)^-1 * omd a a]mulrC divff ?omd_eq0 //. by rewrite mulr1 mulrAC -mulrA mulrC eqxx. 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