proposition: Lemma cong_preserves_col_stronger : forall A B C A' B' C', A <> B -> A <> C -> B <> C -> ColH A B C -> CongH A B A' B' -> CongH B C B' C' -> CongH A C A' C' -> ColH A' B' C'.
proof: Proof. intros A B C A' B' C' HD1 HD2 HD3 HCol HCong1 HCong2 HCong3. elim (eq_dec_pointsH A' B'); intro HD4; subst; Col. elim (eq_dec_pointsH A' C'); intro HD5; subst; Col. elim (eq_dec_pointsH B' C'); intro HD6; subst; Col. apply between_one in HCol; auto; elim HCol; clear HCol; intro HColH; try (elim HColH; clear HColH; intro HBet); try (rename HCol into HBet); [|apply colH_permut_312|apply colH_permut_231]; [apply cong_preserves_col with A B C|apply cong_preserves_col with B C A| apply cong_preserves_col with C A B]; Bet; apply cong_permr, congH_perml; 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