Axiom
  point_aligne :
    forall A B C : PO,
    colineaire (vec A B) (vec C B) -> colineaire (vec A B) (vec A C).

Theorem general_Napoleon : forall A B C P0 Q T O1 O2 I : PO, circonscrit T A B O1 -> circonscrit I A B O1 -> circonscrit Q A C O2 -> circonscrit I A C O2 -> ~ colineaire (vec P0 B) (vec P0 C) -> R (plus (cons (vec P0 C) (vec P0 B)) (plus (cons (vec T B) (vec T A)) (cons (vec Q A) (vec Q C)))) pi -> exists O3 : PO, R (double (cons (vec O1 O2) (vec O1 O3))) (double (cons (vec T A) (vec T B))) /\ R (double (cons (vec O1 O3) (vec O2 O3))) (double (cons (vec P0 B) (vec P0 C))) /\ R (double (cons (vec O1 O2) (vec O2 O3))) (double (cons (vec Q A) (vec Q C))).