summaryrefslogtreecommitdiff
path: root/plugins/micromega/certificate.mli
blob: 13d50d1eee27f4a15e1c832df394244454e0002e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
(************************************************************************)
(*         *   The Coq Proof Assistant / The Coq Development Team       *)
(*  v      *   INRIA, CNRS and contributors - Copyright 1999-2018       *)
(* <O___,, *       (see CREDITS file for the list of authors)           *)
(*   \VV/  **************************************************************)
(*    //   *    This file is distributed under the terms of the         *)
(*         *     GNU Lesser General Public License Version 2.1          *)
(*         *     (see LICENSE file for the text of the license)         *)
(************************************************************************)

module Mc = Micromega

type 'a number_spec

val q_cert_of_pos : Sos_types.positivstellensatz -> Mc.q Mc.psatz
val z_cert_of_pos : Sos_types.positivstellensatz -> Mc.z Mc.psatz
val lia : bool -> int -> (Mc.z Mc.pExpr * Mc.op1) list -> Mc.zArithProof option
val nlia : bool -> int -> (Mc.z Mc.pExpr * Mc.op1) list -> Mc.zArithProof option
val nlinear_prover : int -> (Mc.q Mc.pExpr * Mc.op1) list -> Mc.q Mc.psatz option
val linear_prover_with_cert : int -> 'a number_spec ->
  ('a Mc.pExpr * Mc.op1) list -> 'a Mc.psatz option
val q_spec : Mc.q number_spec