proposition: Lemma betH_congH3_outH_betH : forall A B C A' B' C', BetH A B C -> outH A' B' C' -> CongH A C A' C' -> CongH A B A' B' -> BetH A' B' C'.
proof: Proof. intros. apply betH_expand in H. spliter. unfold outH in *. induction H0. assumption. induction H0. assert(HH:=segment_constructionH A' B' B C). ex_and HH C''. apply betH_expand in H7. spliter. exfalso. assert(CongH A' C'' A C). eapply(addition A' B' C'' A B C); auto. apply bet_disjoint; auto. apply bet_disjoint; auto. apply congH_sym; auto. assert(BetH C' B' C'' /\ BetH A' C' C''). { apply(betH_trans0 A' C' B' C''); auto. } spliter. assert(HH:= betH_not_congH A' C' C'' H15). apply HH. apply(cong_pseudo_transitivity A C); auto using congH_sym. apply betH_expand in H0. tauto. apply betH_expand in H0. tauto. spliter. subst C'. assert(HH:=betH_not_congH A B C H). exfalso. apply HH. apply (cong_pseudo_transitivity A' B'); apply congH_sym; auto. Qed.
imports: Setoid Coq.Classes.Morphisms Coq.Classes.Morphisms_Prop GeoCoq.Axioms.gupta_inspired_variant_axioms GeoCoq.Meta_theory.Models.gupta_inspired_to_tarski GeoCoq.Tactics.Coinc.tactics_axioms GeoCoq.Tactics.Coinc.ColR GeoCoq.Meta_theory.Dimension_axioms.upper_dim_3 GeoCoq.Meta_theory.Parallel_postulates.parallel_postulates GeoCoq.Axioms.hilbert_axioms