Micromega_plugin.Micromega
val compOpp : comparison -> comparison
val nth : nat -> 'a1 list -> 'a1 -> 'a1
module Pos : sig ... end
module Coq_Pos : sig ... end
module N : sig ... end
val pow_pos : ('a1 -> 'a1 -> 'a1) -> 'a1 -> positive -> 'a1
module Z : sig ... end
val p0 : 'a1 -> 'a1 pol
val p1 : 'a1 -> 'a1 pol
val mkX : 'a1 -> 'a1 -> 'a1 pol
type ('tA, 'tX, 'aA, 'aF) gFormula =
| TT of kind |
| FF of kind |
| X of kind * 'tX |
| A of kind * 'tA * 'aA |
| AND of kind * ('tA, 'tX, 'aA, 'aF) gFormula * ('tA, 'tX, 'aA, 'aF) gFormula |
| OR of kind * ('tA, 'tX, 'aA, 'aF) gFormula * ('tA, 'tX, 'aA, 'aF) gFormula |
| NOT of kind * ('tA, 'tX, 'aA, 'aF) gFormula |
| IMPL of kind * ('tA, 'tX, 'aA, 'aF) gFormula * 'aF option * ('tA, 'tX, 'aA, 'aF) gFormula |
| IFF of kind * ('tA, 'tX, 'aA, 'aF) gFormula * ('tA, 'tX, 'aA, 'aF) gFormula |
| EQ of ('tA, 'tX, 'aA, 'aF) gFormula * ('tA, 'tX, 'aA, 'aF) gFormula |
type rtyp = __
type eKind = __
type ('x, 'annot) cnf = ('x, 'annot) clause list
val cnf_tt : ('a1, 'a2) cnf
val cnf_ff : ('a1, 'a2) cnf
type ('term, 'annot, 'tX, 'aF) tFormula = ('term, 'tX, 'annot, 'aF) gFormula
val is_cnf_tt : ('a1, 'a2) cnf -> bool
val is_cnf_ff : ('a1, 'a2) cnf -> bool
type ('term, 'annot, 'tX) to_constrT = {
mkTT : kind -> 'tX; |
mkFF : kind -> 'tX; |
mkA : kind -> 'term -> 'annot -> 'tX; |
mkAND : kind -> 'tX -> 'tX -> 'tX; |
mkOR : kind -> 'tX -> 'tX -> 'tX; |
mkIMPL : kind -> 'tX -> 'tX -> 'tX; |
mkIFF : kind -> 'tX -> 'tX -> 'tX; |
mkNOT : kind -> 'tX -> 'tX; |
mkEQ : 'tX -> 'tX -> 'tX; |
}
val aformula : ('a1, 'a2, 'a3) to_constrT -> kind -> ('a1, 'a2, 'a3, 'a4) tFormula -> 'a3
val abst_simpl : ('a1, 'a2, 'a3) to_constrT -> ('a2 -> bool) -> kind -> ('a1, 'a2, 'a3, 'a4) tFormula -> ('a1, 'a2, 'a3, 'a4) tFormula
val abst_form : ('a1, 'a2, 'a3) to_constrT -> ('a2 -> bool) -> bool -> kind -> ('a1, 'a2, 'a3, 'a4) tFormula -> ('a1, 'a2, 'a3, 'a4) tFormula
val cnf_checker : (('a1 * 'a2) list -> 'a3 -> bool) -> ('a1, 'a2) cnf -> 'a3 list -> bool
type 'c polC = 'c pol
val check_inconsistent : 'a1 -> ('a1 -> 'a1 -> bool) -> ('a1 -> 'a1 -> bool) -> 'a1 nFormula -> bool
type zArithProof =
| DoneProof |
| RatProof of zWitness * zArithProof |
| CutProof of zWitness * zArithProof |
| SplitProof of z polC * zArithProof * zArithProof |
| EnumProof of zWitness * zWitness * zArithProof list |
| ExProof of positive * zArithProof |
val valid_cut_sign : op1 -> bool
val zChecker : z nFormula list -> zArithProof -> bool
val zTautoChecker : z formula bFormula -> zArithProof list -> bool