Library GeoCoq.Elements.OriginalProofs.proposition_33B
Require Export GeoCoq.Elements.OriginalProofs.lemma_samenotopposite.
Require Export GeoCoq.Elements.OriginalProofs.lemma_crisscross.
Require Export GeoCoq.Elements.OriginalProofs.proposition_33.
Section Euclid.
Context `{Ax:euclidean_euclidean}.
Lemma proposition_33B :
∀ A B C D,
Par A B C D → Cong A B C D → OS A C B D →
Par A C B D ∧ Cong A C B D.
Proof.
intros.
assert (OS C A B D) by (forward_using lemma_samesidesymmetric).
assert (nCol A B C) by (forward_using lemma_parallelNC).
assert (neq A B) by (forward_using lemma_NCdistinct).
assert (¬ CR A C B D).
{
intro.
let Tf:=fresh in
assert (Tf:∃ M, (BetS A M C ∧ BetS B M D)) by (conclude_def CR );destruct Tf as [M];spliter.
assert (Col B M D) by (conclude_def Col ).
assert (Col B D M) by (forward_using lemma_collinearorder).
assert (nCol A B D) by (forward_using lemma_parallelNC).
assert (nCol B D A) by (forward_using lemma_NCorder).
assert (TS A B D C) by (conclude_def TS ).
assert (¬ TS A B D C) by (conclude lemma_samenotopposite).
contradict.
}
assert (CR A D C B) by (conclude lemma_crisscross).
let Tf:=fresh in
assert (Tf:∃ m, (BetS A m D ∧ BetS C m B)) by (conclude_def CR );destruct Tf as [m];spliter.
assert (BetS B m C) by (conclude axiom_betweennesssymmetry).
assert ((Par A C B D ∧ Cong A C B D)) by (conclude proposition_33).
close.
Qed.
End Euclid.
Require Export GeoCoq.Elements.OriginalProofs.lemma_crisscross.
Require Export GeoCoq.Elements.OriginalProofs.proposition_33.
Section Euclid.
Context `{Ax:euclidean_euclidean}.
Lemma proposition_33B :
∀ A B C D,
Par A B C D → Cong A B C D → OS A C B D →
Par A C B D ∧ Cong A C B D.
Proof.
intros.
assert (OS C A B D) by (forward_using lemma_samesidesymmetric).
assert (nCol A B C) by (forward_using lemma_parallelNC).
assert (neq A B) by (forward_using lemma_NCdistinct).
assert (¬ CR A C B D).
{
intro.
let Tf:=fresh in
assert (Tf:∃ M, (BetS A M C ∧ BetS B M D)) by (conclude_def CR );destruct Tf as [M];spliter.
assert (Col B M D) by (conclude_def Col ).
assert (Col B D M) by (forward_using lemma_collinearorder).
assert (nCol A B D) by (forward_using lemma_parallelNC).
assert (nCol B D A) by (forward_using lemma_NCorder).
assert (TS A B D C) by (conclude_def TS ).
assert (¬ TS A B D C) by (conclude lemma_samenotopposite).
contradict.
}
assert (CR A D C B) by (conclude lemma_crisscross).
let Tf:=fresh in
assert (Tf:∃ m, (BetS A m D ∧ BetS C m B)) by (conclude_def CR );destruct Tf as [m];spliter.
assert (BetS B m C) by (conclude axiom_betweennesssymmetry).
assert ((Par A C B D ∧ Cong A C B D)) by (conclude proposition_33).
close.
Qed.
End Euclid.