unfold isocele, orthogonal, bissectrice in |- *; intros I A B C H H0.
apply
transitive
with
(double
(plus (cons (vec A I) (vec A C))
(plus (cons (vec A C) (vec C A)) (cons (vec C A) (vec B C)))));
auto.
apply
transitive
with
(plus (double (cons (vec A I) (vec A C)))
(double (plus (cons (vec A C) (vec C A)) (cons (vec C A) (vec B C)))));
auto.
apply
transitive
with
(plus (cons (vec A B) (vec A C))
(plus (double (cons (vec A C) (vec C A)))
(double (cons (vec C A) (vec B C))))); auto.
apply compatible; auto.
apply
transitive
with
(plus (cons (vec A B) (vec A C))
(plus (double pi) (double (cons (vec C A) (vec B C)))));
auto.
apply compatible; auto.
apply compatible; auto.
apply
transitive
with
(plus (cons (vec A B) (vec A C))
(plus zero (double (cons (vec C A) (vec B C)))));
auto.
apply compatible; auto.
apply compatible; auto.
apply
transitive
with (plus (cons (vec A B) (vec A C)) (double (cons (vec B C) (vec B A))));
auto.
apply compatible; auto.
apply transitive with (double (cons (vec C A) (vec C B))); auto.
apply transitive with (double (cons (vec C A) (vec B C))); auto.
apply
transitive
with (double (plus (cons (vec C A) (vec C B)) (cons (vec C B) (vec B C))));
auto.
apply
transitive
with
(plus (double (cons (vec C A) (vec C B)))
(double (cons (vec C B) (vec B C)))); auto.
apply transitive with (plus (double (cons (vec C A) (vec C B))) zero); auto.
apply compatible; auto.
apply transitive with (double pi); auto.
apply transitive with (plus zero (double (cons (vec C A) (vec C B)))); auto.
apply triangle_isocele; auto.
Qed.

(* Specifications: *)
Lemma orthogonal_bissectrice :
forall u v : V, orthogonal u v -> R (cons (opp v) u) (cons u v).