unfold Projp in *.
spliter.
induction H1; induction H2.
spliter.
apply (l8_18_uniqueness A B P); Col.
apply perp_not_col2 in H4.
induction H4.
assumption.
contradiction.
spliter.
subst P'.
apply perp_not_col2 in H3.
induction H3; contradiction.
spliter.
subst Q'.
apply perp_not_col2 in H4.
induction H4; contradiction.
spliter.
subst P'.
subst Q'.
auto.
Qed.

(* Specifications: *)
Lemma projp_preserves_bet :
forall A B C A' B' C' X Y,
Bet A B C ->
Projp A A' X Y ->
Projp B B' X Y ->
Projp C C' X Y ->
Bet A' B' C'.
Lemma projp_preserves_eqv :
forall A B C A' B' C' D D' X Y,
EqV A B C D ->
Projp A A' X Y ->
Projp B B' X Y ->
Projp C C' X Y ->
Projp D D' X Y ->
EqV A' B' C' D'.
Lemma projp_idem : forall P P' A B,
Projp P P' A B ->
Projp P' P' A B.
Lemma projp2_col : forall A B C P Q,
Projp P A B C -> Projp Q A B C -> Col A P Q.
Lemma projp_projp_perp : forall P P1 P2 Q1 Q2,
P1 <> P2 -> Projp P1 P Q1 Q2 -> Projp P2 P Q1 Q2 -> Perp P1 P2 Q1 Q2.
Lemma col_projp_eq : forall A B P P', Col A B P -> Projp P P' A B -> P = P'.
Lemma projp_col : forall A B P P', Projp P P' A B -> Col A B P'.
Lemma perp_projp2_eq : forall A A' B B' C D,
Projp A A' C D ->
Projp B B' C D ->
Perp A B C D ->
A' = B'.
Lemma col_par_projp2_eq : forall L11 L12 L21 L22 P P' P'',
Col L11 L12 P ->
Par L11 L12 L21 L22 ->
Projp P P' L21 L22 -> Projp P' P'' L11 L12 ->
P = P''.
Lemma col_2_par_projp2_cong : forall A A' B B' L11 L12 L21 L22,
Col L11 L12 A' -> Col L11 L12 B' ->
Par L11 L12 L21 L22 ->
Projp A' A L21 L22 -> Projp B' B L21 L22 ->
Cong A B A' B'.