Module Micromega_plugin.Certificate
module Mc = Micromegaval use_simplex : bool Stdlib.refuse_simplexis bound to the Coq option Simplex. If set, use the Simplex method, otherwise use Fourier
type ('prf, 'model) res=|Prf of 'prf|Model of 'model|Unknowntype zres= (Mc.zArithProof, int * Mc.z list) restype qres= (Mc.q Mc.psatz, int * Mc.q list) res
val dump_file : string option Stdlib.refdump_fileis bound to the Coq option Dump Arith. If set to somefile, arithmetic goals are dumped in filexxx.v
val q_cert_of_pos : Sos_types.positivstellensatz -> Mc.q Mc.psatzq_cert_of_pos prfconverts a Sos proof into a rational Coq proof
val z_cert_of_pos : Sos_types.positivstellensatz -> Mc.z Mc.psatzz_cert_of_pos prfconverts a Sos proof into an integer Coq proof
val lia : bool -> int -> (Mc.z Mc.pExpr * Mc.op1) list -> zreslia enum depth sysgenerates an unsat proof for the linear constraints insys. If the Simplex option is set, any failure to find a proof should be considered as a bug.
val nlia : bool -> int -> (Mc.z Mc.pExpr * Mc.op1) list -> zresnlia enum depth sysgenerates an unsat proof for the non-linear constraints insys. The solver is incomplete -- the problem is undecidable