Hint Resolve perp_sym perp_left_comm perp_right_comm perp_comm per_perp_in per_perp
perp_in_per perp_in_left_comm perp_in_right_comm perp_in_comm perp_in_sym : perp.
Ltac double A B A' :=
assert (mp:= symmetric_point_construction A B);
elim mp; intros A' ; intro; clear mp.
Section T8_4.
Context `{TnEQD:Tarski_neutral_dimensionless_with_decidable_point_equality}.

Lemma Perp_in_cases :
forall X A B C D,
Perp_at X A B C D \/ Perp_at X B A C D \/ Perp_at X A B D C \/ Perp_at X B A D C \/
Perp_at X C D A B \/ Perp_at X C D B A \/ Perp_at X D C A B \/ Perp_at X D C B A ->
Perp_at X A B C D.