(* Gabriel Braun February 2013 *)
Require Export GeoCoq.Tarski_dev.Annexes.quadrilaterals_inter_dec.
Section Vectors.
Context `{T2D:Tarski_2D}.
Context `{TE:@Tarski_euclidean Tn TnEQD}.

(* Specifications: *)
Lemma eqv_refl : forall A B, EqV A B A B.
Lemma eqv_sym : forall A B C D, EqV A B C D -> EqV C D A B.
Lemma eqv_trans : forall A B C D E F, EqV A B C D -> EqV C D E F -> EqV A B E F.
Lemma eqv_comm : forall A B C D, EqV A B C D -> EqV B A D C.
Lemma vector_construction : forall A B C, exists D, EqV A B C D.
Lemma vector_construction_uniqueness :
forall A B C D D',
EqV A B C D ->
EqV A B C D' ->
D = D'.
Lemma null_vector : forall A B C, EqV A A B C -> B = C.
Lemma vector_uniqueness : forall A B C, EqV A B A C -> B = C.
Lemma eqv_trivial : forall A B , EqV A A B B.
Lemma eqv_permut :
forall A B C D,
EqV A B C D ->
EqV A C B D.
Lemma eqv_par :
forall A B C D,
A <> B ->
EqV A B C D ->
Par A B C D.
Lemma eqv_opp_null :
forall A B,
EqV A B B A ->
A = B.
Lemma eqv_sum :
forall A B C A' B' C',
EqV A B A' B' ->
EqV B C B' C' ->
EqV A C A' C'.
Lemma null_sum :
forall A B C,
SumV A B B A C C.
Lemma chasles :
forall A B C,
SumV A B B C A C.
Lemma eqv_mid :
forall A B C,
EqV A B B C ->
Midpoint B A C.
Lemma mid_eqv :
forall A B C, Midpoint A B C ->
EqV B A A C.
Lemma sum_sym :
forall A B C D E F,
SumV A B C D E F ->
SumV C D A B E F.
Lemma opposite_sum :
forall A B C D E F,
SumV A B C D E F ->
SumV B A D C F E.
Lemma null_sum_eq :
forall A B C D,
SumV A B B C D D ->
A = C.
Lemma is_to_ise :
forall A B C D E F,
SumV A B C D E F ->
SumV_exists A B C D E F.
Lemma ise_to_is :
forall A B C D E F,
SumV_exists A B C D E F ->
SumV A B C D E F.
Lemma sum_exists :
forall A B C D, exists E, exists F, SumV A B C D E F.