proposition: Lemma invf_eq (a b : R) : b!=0 -> a==b = (a^-1 == b^-1).
proof: Proof. move=> /negPf b_neq0. have: (a==b = (a/b == b/b)). by rewrite -[X in _ = X]subr_eq0 -mulrBl mulf_eq0 invr_eq0 b_neq0 orbF subr_eq0. move->. rewrite divff ?b_neq0// -invr_eq1 invf_div. have: (b/a == 1 = (b/a * b^-1 == b^-1)). by rewrite -[X in _ = X]subr_eq0 -{2}[b^-1]mul1r -mulrBl mulf_eq0 invr_eq0 b_neq0 orbF subr_eq0. move->. by rewrite mulrAC divff ?b_neq0// mul1r. 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