proposition: Lemma upper_dim_dgc_aux0 (p q : 'rV[R]_2) (m := (1 / (1 + 1)) *: (p + q)) : p 0 0 - m 0 0 == 0 -> p <> q -> (m 0 0 - p 0 0 == 0) && (m 0 1 - p 0 1 != 0).
proof: Proof. move=> /eqP E; move/eqP: (cong_perp_aux2 p p q 0); rewrite -[X in _ + X]opprB. rewrite -/m E subr0 subr_eq addrAC -addrA subrr addr0; move/eqP: E. rewrite subr_eq0=> /eqP E1 /eqP E2 HF; rewrite E1 subrr eqxx /= subr_eq0. apply /eqP => NE; move/eqP: HF; rewrite -subr_eq0 vector2_neq0 !mxE. rewrite E1 E2 subrr eqxx /= -NE -opprB -(cong_perp_aux2 _ p) -/m NE subrr addr0. by rewrite oppr_eq0 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