Micromega_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