Micromega_core_plugin.Micromegaval compOpp : comparison -> comparisonval nth : nat -> 'a1 list -> 'a1 -> 'a1module Pos : sig ... endmodule Coq_Pos : sig ... endmodule N : sig ... endval pow_pos : ('a1 -> 'a1 -> 'a1) -> 'a1 -> positive -> 'a1module Z : sig ... endval p0 : 'a1 -> 'a1 polval p1 : 'a1 -> 'a1 polval mkX : 'a1 -> 'a1 -> 'a1 poltype ('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 listval cnf_tt : ('a1, 'a2) cnfval cnf_ff : ('a1, 'a2) cnftype ('term, 'annot, 'tX, 'aF) tFormula = ('term, 'tX, 'annot, 'aF) gFormulaval is_cnf_tt : ('a1, 'a2) cnf -> boolval is_cnf_ff : ('a1, 'a2) cnf -> booltype ('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 -> 'a3val abst_simpl : ('a1, 'a2, 'a3) to_constrT -> ('a2 -> bool) -> kind -> ('a1, 'a2, 'a3, 'a4) tFormula -> ('a1, 'a2, 'a3, 'a4) tFormulaval abst_form : ('a1, 'a2, 'a3) to_constrT -> ('a2 -> bool) -> bool -> kind -> ('a1, 'a2, 'a3, 'a4) tFormula -> ('a1, 'a2, 'a3, 'a4) tFormulaval cnf_checker : (('a1 * 'a2) list -> 'a3 -> bool) -> ('a1, 'a2) cnf -> 'a3 list -> booltype 'c polC = 'c polval check_inconsistent : 'a1 -> ('a1 -> 'a1 -> bool) -> ('a1 -> 'a1 -> bool) -> 'a1 nFormula -> booltype 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 -> boolval zChecker : z nFormula list -> zArithProof -> boolval zTautoChecker : z formula bFormula -> zArithProof list -> bool