intros A B a; try assumption.
elim exists_opp_angle with (a := a); intros a' H; try exact H.
elim angle_cons with (a := plus pisurdeux a') (u := vec A B); intros u H2;
try exact H2.
elim angle_cons with (a := cons u (vec A B)) (u := vec B A); intros v H3;
try exact H3.
exists u.
exists v.
split; [ try assumption | idtac ].
auto.
apply
transitive
with
(plus (cons u (vec A B))
(plus (cons (vec A B) (vec B A)) (cons (vec B A) v)));
auto.
apply transitive with (plus (cons u (vec A B)) (plus pi (cons (vec B A) v)));
auto.
apply compatible; auto.
apply compatible; auto.
apply transitive with (cons (vec A B) (opp (vec A B))); auto.
apply vR_R_compatible; auto.
apply v_sym; apply opp_vect.
apply transitive with (plus (cons u (vec A B)) (plus (cons (vec B A) v) pi));
auto.
apply compatible; auto.
apply transitive with (plus (cons u (vec A B)) (plus (cons u (vec A B)) pi));
auto.
apply compatible; auto.
apply compatible; auto.
apply
regulier
with
(a := plus (plus pisurdeux a') (plus pisurdeux a'))
(c := plus (plus pisurdeux a') (plus pisurdeux a'));
auto.
apply
transitive
with
(plus (plus (cons (vec A B) u) (cons (vec A B) u))
(plus (cons u (vec A B)) (plus (cons u (vec A B)) pi)));
auto.
apply compatible; auto.
apply compatible; auto.
apply
transitive
with
(plus (plus (cons (vec A B) u) (cons (vec A B) u))
(plus (plus (cons u (vec A B)) (cons u (vec A B))) pi));
auto.
apply compatible; auto.
apply
transitive
with
(plus
(plus (plus (cons (vec A B) u) (cons (vec A B) u))
(plus (cons u (vec A B)) (cons u (vec A B)))) pi);
auto.
apply
transitive
with
(plus
(plus (plus (cons (vec A B) u) (cons u (vec A B)))
(plus (cons (vec A B) u) (cons u (vec A B)))) pi);
auto.
apply compatible; auto.
apply calcul4.
apply
transitive
with (plus (plus (cons (vec A B) (vec A B)) (cons (vec A B) (vec A B))) pi);
auto.
apply compatible; auto.
apply compatible; auto.
apply transitive with (plus (plus zero zero) pi); auto.
apply compatible; auto.
apply compatible; auto.
apply transitive with (plus (plus (plus a a') (plus a a')) pi); auto.
apply compatible; auto.
apply compatible; auto.
apply transitive with (plus (plus (plus a a) (plus a' a')) pi); auto.
apply compatible; auto.
apply calcul4.
apply transitive with (plus (plus (double a) (plus a' a')) pi); auto.
apply transitive with (plus (double a) (plus (plus a' a') pi)); auto.
apply transitive with (plus (plus (plus a' a') pi) (double a)); auto.
apply compatible; auto.
apply transitive with (plus (plus a' a') (plus pisurdeux pisurdeux)); auto.
apply compatible; auto.
apply transitive with (plus (plus pisurdeux pisurdeux) (plus a' a')); auto.
apply calcul4.
Qed.

(* Specifications: *)
Lemma abba : forall A B : PO, R (cons (vec A B) (vec B A)) pi.
intros A B; try assumption.
Lemma abba : forall A B : PO, R (cons (vec A B) (vec B A)) pi.
intros A B; try assumption.