(*s A formula is proved when its negation cannot be satisfied *)

Definition CG_prove (f : CGForm) := negb (CG_solve (CGnot f)).

(* Specifications: *)
Theorem CG_prove_correct : forall f : CGForm, CG_prove f = true -> forall rho : ad -> D, CGeval rho f.
Theorem CG_prove_complete : forall f : CGForm, (forall rho : ad -> D, CGeval rho f) -> CG_prove f = true.
Theorem CG_prove_complete_anchored : forall (f : CGForm) (anchor : ad) (anchor_value : D), (forall rho : ad -> D, rho anchor = anchor_value -> CGeval rho f) -> CG_prove f = true.