type prf_rule
=
type proof
=
val pr_size : prf_rule -> NumCompat.Q.t
val pr_rule_max_def : prf_rule -> int
val pr_rule_max_hyp : prf_rule -> int
val proof_max_def : 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 : NumCompat.Q.t -> 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) -> (NumCompat.Q.t -> 'a) -> Env.t -> 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
val simplify_proof : proof -> proof * Micromega_plugin.Mutils.ISet.t