Library GeoCoq.Elements.OriginalProofs.lemma_doublereverse
Require Export GeoCoq.Elements.OriginalProofs.lemma_congruencetransitive.
Section Euclid.
Context `{Ax1:euclidean_neutral}.
Lemma lemma_doublereverse :
∀ A B C D,
Cong A B C D →
Cong D C B A ∧ Cong B A D C.
Proof.
intros.
assert (Cong C D D C) by (conclude cn_equalityreverse).
assert (Cong A B D C) by (conclude lemma_congruencetransitive).
assert (Cong B A A B) by (conclude cn_equalityreverse).
assert (Cong B A D C) by (conclude lemma_congruencetransitive).
assert (Cong D C B A) by (conclude lemma_congruencesymmetric).
close.
Qed.
End Euclid.
Section Euclid.
Context `{Ax1:euclidean_neutral}.
Lemma lemma_doublereverse :
∀ A B C D,
Cong A B C D →
Cong D C B A ∧ Cong B A D C.
Proof.
intros.
assert (Cong C D D C) by (conclude cn_equalityreverse).
assert (Cong A B D C) by (conclude lemma_congruencetransitive).
assert (Cong B A A B) by (conclude cn_equalityreverse).
assert (Cong B A D C) by (conclude lemma_congruencetransitive).
assert (Cong D C B A) by (conclude lemma_congruencesymmetric).
close.
Qed.
End Euclid.