intros u v w; try assumption.
cut
(R
(plus (plus (cons u v) (plus (cons w (opp u)) (cons (opp v) (opp w))))
(plus (cons v u) (plus (cons (opp u) w) (cons (opp w) (opp v)))))
(plus pi pi)).
intros.
apply
regulier
with
(a := plus (cons u v) (plus (cons w (opp u)) (cons (opp v) (opp w))))
(c := pi).
apply somme_pi.
try exact H.
apply
transitive
with
(plus (plus (cons u v) (cons v u))
(plus (plus (cons w (opp u)) (cons (opp u) w))
(plus (cons (opp v) (opp w)) (cons (opp w) (opp v))))).
apply calcul3.
apply transitive with (plus zero (plus zero zero)).
apply compatible.
apply permute.
apply compatible.
apply permute.
apply permute.
apply symetrique.
apply transitive with zero.
try exact pi_plus_pi.
apply symetrique.
apply transitive with (plus zero zero).
apply compatible.
apply reflexive.
apply zero_plus_a.
apply zero_plus_a.
Qed.

(* Specifications: *)
Lemma isocele_permute :
forall A B C : PO,
isocele A B C ->
R (plus (cons (vec A C) (vec A B)) (double (cons (vec B A) (vec B C)))) pi.