type prf_rule
=
type proof
=
val pr_size : prf_rule -> Num.num
val pr_rule_max_id : prf_rule -> int
val proof_max_id : proof -> int
val normalise_proof : int -> proof -> int * proof
val output_prf_rule : Stdlib.out_channel -> prf_rule -> unit
val output_proof : Stdlib.out_channel -> proof -> unit
val add_proof : prf_rule -> prf_rule -> prf_rule
val mul_cst_proof : Num.num -> prf_rule -> prf_rule
val mul_proof : prf_rule -> prf_rule -> prf_rule
val compile_proof : int list -> proof -> Micromega.zArithProof
val cmpl_prf_rule : ('a Micromega.pExpr -> 'a Micromega.pol) -> (Num.num -> 'a) -> int list -> prf_rule -> 'a Micromega.psatz
val proof_of_farkas : prf_rule Micromega_plugin.Mutils.IMap.t -> Vect.t -> prf_rule
val eval_prf_rule : (int -> LinPoly.t * op) -> prf_rule -> LinPoly.t * op
val eval_proof : (LinPoly.t * op) Micromega_plugin.Mutils.IMap.t -> proof -> bool