Module Micromega_plugin.MicromegaSource
Sourcetype ('a, 'b) sum = | Inl of 'a| Inr of 'b
Sourceval fst : ('a1 * 'a2) -> 'a1 Sourceval snd : ('a1 * 'a2) -> 'a2 Sourceval app : 'a1 list -> 'a1 list -> 'a1 list Sourcetype comparison = | Eq| Lt| Gt
Sourceval nth : nat -> 'a1 list -> 'a1 -> 'a1 Sourceval rev_append : 'a1 list -> 'a1 list -> 'a1 list Sourceval map : ('a1 -> 'a2) -> 'a1 list -> 'a2 list Sourceval fold_left : ('a1 -> 'a2 -> 'a1) -> 'a2 list -> 'a1 -> 'a1 Sourceval fold_right : ('a2 -> 'a1 -> 'a1) -> 'a1 -> 'a2 list -> 'a1 Sourceval peq : ('a1 -> 'a1 -> bool) -> 'a1 pol -> 'a1 pol -> bool Sourceval paddC : ('a1 -> 'a1 -> 'a1) -> 'a1 pol -> 'a1 -> 'a1 pol Sourceval psubC : ('a1 -> 'a1 -> 'a1) -> 'a1 pol -> 'a1 -> 'a1 pol Sourceval padd :
'a1 ->
('a1 -> 'a1 -> 'a1) ->
('a1 -> 'a1 -> bool) ->
'a1 pol ->
'a1 pol ->
'a1 pol Sourceval psub :
'a1 ->
('a1 -> 'a1 -> 'a1) ->
('a1 -> 'a1 -> 'a1) ->
('a1 -> 'a1) ->
('a1 -> 'a1 -> bool) ->
'a1 pol ->
'a1 pol ->
'a1 pol Sourceval pmulC_aux :
'a1 ->
('a1 -> 'a1 -> 'a1) ->
('a1 -> 'a1 -> bool) ->
'a1 pol ->
'a1 ->
'a1 pol Sourceval pmulC :
'a1 ->
'a1 ->
('a1 -> 'a1 -> 'a1) ->
('a1 -> 'a1 -> bool) ->
'a1 pol ->
'a1 ->
'a1 pol Sourceval pmul :
'a1 ->
'a1 ->
('a1 -> 'a1 -> 'a1) ->
('a1 -> 'a1 -> 'a1) ->
('a1 -> 'a1 -> bool) ->
'a1 pol ->
'a1 pol ->
'a1 pol Sourceval psquare :
'a1 ->
'a1 ->
('a1 -> 'a1 -> 'a1) ->
('a1 -> 'a1 -> 'a1) ->
('a1 -> 'a1 -> bool) ->
'a1 pol ->
'a1 pol Sourceval ppow_pos :
'a1 ->
'a1 ->
('a1 -> 'a1 -> 'a1) ->
('a1 -> 'a1 -> 'a1) ->
('a1 -> 'a1 -> bool) ->
('a1 pol -> 'a1 pol) ->
'a1 pol ->
'a1 pol ->
positive ->
'a1 pol Sourceval ppow_N :
'a1 ->
'a1 ->
('a1 -> 'a1 -> 'a1) ->
('a1 -> 'a1 -> 'a1) ->
('a1 -> 'a1 -> bool) ->
('a1 pol -> 'a1 pol) ->
'a1 pol ->
n ->
'a1 pol Sourceval norm_aux :
'a1 ->
'a1 ->
('a1 -> 'a1 -> 'a1) ->
('a1 -> 'a1 -> 'a1) ->
('a1 -> 'a1 -> 'a1) ->
('a1 -> 'a1) ->
('a1 -> 'a1 -> bool) ->
'a1 pExpr ->
'a1 pol Sourcetype kind = | IsProp| IsBool
Sourceval foldA :
('a5 -> 'a3 -> 'a5) ->
kind ->
('a1, 'a2, 'a3, 'a4) gFormula ->
'a5 ->
'a5 Sourceval cons_id : 'a1 option -> 'a1 list -> 'a1 list Sourcetype ('x, 'annot) clause = ('x * 'annot) list Sourceval add_term :
('a1 -> bool) ->
('a1 -> 'a1 -> 'a1 option) ->
('a1 * 'a2) ->
('a1, 'a2) clause ->
('a1, 'a2) clause option Sourceval or_clause :
('a1 -> bool) ->
('a1 -> 'a1 -> 'a1 option) ->
('a1, 'a2) clause ->
('a1, 'a2) clause ->
('a1, 'a2) clause option Sourceval xor_clause_cnf :
('a1 -> bool) ->
('a1 -> 'a1 -> 'a1 option) ->
('a1, 'a2) clause ->
('a1, 'a2) cnf ->
('a1, 'a2) cnf Sourceval or_clause_cnf :
('a1 -> bool) ->
('a1 -> 'a1 -> 'a1 option) ->
('a1, 'a2) clause ->
('a1, 'a2) cnf ->
('a1, 'a2) cnf Sourceval or_cnf :
('a1 -> bool) ->
('a1 -> 'a1 -> 'a1 option) ->
('a1, 'a2) cnf ->
('a1, 'a2) cnf ->
('a1, 'a2) cnf Sourceval or_cnf_opt :
('a1 -> bool) ->
('a1 -> 'a1 -> 'a1 option) ->
('a1, 'a2) cnf ->
('a1, 'a2) cnf ->
('a1, 'a2) cnf Sourceval mk_and :
('a2 -> bool) ->
('a2 -> 'a2 -> 'a2 option) ->
(bool -> kind -> ('a1, 'a3, 'a4, 'a5) tFormula -> ('a2, 'a3) cnf) ->
kind ->
bool ->
('a1, 'a3, 'a4, 'a5) tFormula ->
('a1, 'a3, 'a4, 'a5) tFormula ->
('a2, 'a3) cnf Sourceval mk_or :
('a2 -> bool) ->
('a2 -> 'a2 -> 'a2 option) ->
(bool -> kind -> ('a1, 'a3, 'a4, 'a5) tFormula -> ('a2, 'a3) cnf) ->
kind ->
bool ->
('a1, 'a3, 'a4, 'a5) tFormula ->
('a1, 'a3, 'a4, 'a5) tFormula ->
('a2, 'a3) cnf Sourceval mk_impl :
('a2 -> bool) ->
('a2 -> 'a2 -> 'a2 option) ->
(bool -> kind -> ('a1, 'a3, 'a4, 'a5) tFormula -> ('a2, 'a3) cnf) ->
kind ->
bool ->
('a1, 'a3, 'a4, 'a5) tFormula ->
('a1, 'a3, 'a4, 'a5) tFormula ->
('a2, 'a3) cnf Sourceval mk_iff :
('a2 -> bool) ->
('a2 -> 'a2 -> 'a2 option) ->
(bool -> kind -> ('a1, 'a3, 'a4, 'a5) tFormula -> ('a2, 'a3) cnf) ->
kind ->
bool ->
('a1, 'a3, 'a4, 'a5) tFormula ->
('a1, 'a3, 'a4, 'a5) tFormula ->
('a2, 'a3) cnf Sourceval xcnf :
('a2 -> bool) ->
('a2 -> 'a2 -> 'a2 option) ->
('a1 -> 'a3 -> ('a2, 'a3) cnf) ->
('a1 -> 'a3 -> ('a2, 'a3) cnf) ->
bool ->
kind ->
('a1, 'a3, 'a4, 'a5) tFormula ->
('a2, 'a3) cnf Sourceval radd_term :
('a1 -> bool) ->
('a1 -> 'a1 -> 'a1 option) ->
('a1 * 'a2) ->
('a1, 'a2) clause ->
(('a1, 'a2) clause, 'a2 trace) sum Sourceval ror_clause :
('a1 -> bool) ->
('a1 -> 'a1 -> 'a1 option) ->
('a1 * 'a2) list ->
('a1, 'a2) clause ->
(('a1, 'a2) clause, 'a2 trace) sum Sourceval xror_clause_cnf :
('a1 -> bool) ->
('a1 -> 'a1 -> 'a1 option) ->
('a1 * 'a2) list ->
('a1, 'a2) clause list ->
('a1, 'a2) clause list * 'a2 trace Sourceval ror_clause_cnf :
('a1 -> bool) ->
('a1 -> 'a1 -> 'a1 option) ->
('a1 * 'a2) list ->
('a1, 'a2) clause list ->
('a1, 'a2) clause list * 'a2 trace Sourceval ror_cnf :
('a1 -> bool) ->
('a1 -> 'a1 -> 'a1 option) ->
('a1, 'a2) clause list ->
('a1, 'a2) clause list ->
('a1, 'a2) cnf * 'a2 trace Sourceval ror_cnf_opt :
('a1 -> bool) ->
('a1 -> 'a1 -> 'a1 option) ->
('a1, 'a2) cnf ->
('a1, 'a2) cnf ->
('a1, 'a2) cnf * 'a2 trace Sourceval rxcnf_and :
('a2 -> bool) ->
('a2 -> 'a2 -> 'a2 option) ->
(bool -> kind -> ('a1, 'a3, 'a4, 'a5) tFormula -> ('a2, 'a3) cnf * 'a3 trace) ->
bool ->
kind ->
('a1, 'a3, 'a4, 'a5) tFormula ->
('a1, 'a3, 'a4, 'a5) tFormula ->
('a2, 'a3) cnf * 'a3 trace Sourceval rxcnf_or :
('a2 -> bool) ->
('a2 -> 'a2 -> 'a2 option) ->
(bool -> kind -> ('a1, 'a3, 'a4, 'a5) tFormula -> ('a2, 'a3) cnf * 'a3 trace) ->
bool ->
kind ->
('a1, 'a3, 'a4, 'a5) tFormula ->
('a1, 'a3, 'a4, 'a5) tFormula ->
('a2, 'a3) cnf * 'a3 trace Sourceval rxcnf_impl :
('a2 -> bool) ->
('a2 -> 'a2 -> 'a2 option) ->
(bool -> kind -> ('a1, 'a3, 'a4, 'a5) tFormula -> ('a2, 'a3) cnf * 'a3 trace) ->
bool ->
kind ->
('a1, 'a3, 'a4, 'a5) tFormula ->
('a1, 'a3, 'a4, 'a5) tFormula ->
('a2, 'a3) cnf * 'a3 trace Sourceval rxcnf_iff :
('a2 -> bool) ->
('a2 -> 'a2 -> 'a2 option) ->
(bool -> kind -> ('a1, 'a3, 'a4, 'a5) tFormula -> ('a2, 'a3) cnf * 'a3 trace) ->
bool ->
kind ->
('a1, 'a3, 'a4, 'a5) tFormula ->
('a1, 'a3, 'a4, 'a5) tFormula ->
('a2, 'a3) cnf * 'a3 trace Sourceval rxcnf :
('a2 -> bool) ->
('a2 -> 'a2 -> 'a2 option) ->
('a1 -> 'a3 -> ('a2, 'a3) cnf) ->
('a1 -> 'a3 -> ('a2, 'a3) cnf) ->
bool ->
kind ->
('a1, 'a3, 'a4, 'a5) tFormula ->
('a2, 'a3) cnf * 'a3 trace Sourcetype ('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;
} Sourceval abs_and :
('a1, 'a2, 'a3) to_constrT ->
kind ->
('a1, 'a2, 'a3, 'a4) tFormula ->
('a1, 'a2, 'a3, 'a4) tFormula ->
(kind ->
('a1, 'a2, 'a3, 'a4) tFormula ->
('a1, 'a2, 'a3, 'a4) tFormula ->
('a1, 'a2, 'a3, 'a4) tFormula) ->
('a1, 'a3, 'a2, 'a4) gFormula Sourceval abs_or :
('a1, 'a2, 'a3) to_constrT ->
kind ->
('a1, 'a2, 'a3, 'a4) tFormula ->
('a1, 'a2, 'a3, 'a4) tFormula ->
(kind ->
('a1, 'a2, 'a3, 'a4) tFormula ->
('a1, 'a2, 'a3, 'a4) tFormula ->
('a1, 'a2, 'a3, 'a4) tFormula) ->
('a1, 'a3, 'a2, 'a4) gFormula Sourceval abs_not :
('a1, 'a2, 'a3) to_constrT ->
kind ->
('a1, 'a2, 'a3, 'a4) tFormula ->
(kind -> ('a1, 'a2, 'a3, 'a4) tFormula -> ('a1, 'a2, 'a3, 'a4) tFormula) ->
('a1, 'a3, 'a2, 'a4) gFormula Sourceval abst_and :
('a1, 'a2, 'a3) to_constrT ->
(bool ->
kind ->
('a1, 'a2, 'a3, 'a4) tFormula ->
('a1, 'a2, 'a3, 'a4) tFormula) ->
bool ->
kind ->
('a1, 'a2, 'a3, 'a4) tFormula ->
('a1, 'a2, 'a3, 'a4) tFormula ->
('a1, 'a2, 'a3, 'a4) tFormula Sourceval abst_or :
('a1, 'a2, 'a3) to_constrT ->
(bool ->
kind ->
('a1, 'a2, 'a3, 'a4) tFormula ->
('a1, 'a2, 'a3, 'a4) tFormula) ->
bool ->
kind ->
('a1, 'a2, 'a3, 'a4) tFormula ->
('a1, 'a2, 'a3, 'a4) tFormula ->
('a1, 'a2, 'a3, 'a4) tFormula Sourceval abst_impl :
('a1, 'a2, 'a3) to_constrT ->
(bool ->
kind ->
('a1, 'a2, 'a3, 'a4) tFormula ->
('a1, 'a2, 'a3, 'a4) tFormula) ->
bool ->
'a4 option ->
kind ->
('a1, 'a2, 'a3, 'a4) tFormula ->
('a1, 'a2, 'a3, 'a4) tFormula ->
('a1, 'a2, 'a3, 'a4) tFormula Sourceval abs_iff :
('a1, 'a2, 'a3) to_constrT ->
kind ->
('a1, 'a2, 'a3, 'a4) tFormula ->
('a1, 'a2, 'a3, 'a4) tFormula ->
('a1, 'a2, 'a3, 'a4) tFormula ->
('a1, 'a2, 'a3, 'a4) tFormula ->
kind ->
('a1, 'a2, 'a3, 'a4) tFormula ->
('a1, 'a2, 'a3, 'a4) tFormula Sourceval abst_iff :
('a1, 'a2, 'a3) to_constrT ->
('a2 -> bool) ->
(bool ->
kind ->
('a1, 'a2, 'a3, 'a4) tFormula ->
('a1, 'a2, 'a3, 'a4) tFormula) ->
bool ->
kind ->
('a1, 'a2, 'a3, 'a4) tFormula ->
('a1, 'a2, 'a3, 'a4) tFormula ->
('a1, 'a2, 'a3, 'a4) tFormula Sourceval abst_eq :
('a1, 'a2, 'a3) to_constrT ->
('a2 -> bool) ->
(bool ->
kind ->
('a1, 'a2, 'a3, 'a4) tFormula ->
('a1, 'a2, 'a3, 'a4) tFormula) ->
bool ->
('a1, 'a2, 'a3, 'a4) tFormula ->
('a1, 'a2, 'a3, 'a4) tFormula ->
('a1, 'a2, 'a3, 'a4) tFormula Sourceval cnf_checker :
(('a1 * 'a2) list -> 'a3 -> bool) ->
('a1, 'a2) cnf ->
'a3 list ->
bool Sourceval tauto_checker :
('a2 -> bool) ->
('a2 -> 'a2 -> 'a2 option) ->
('a1 -> 'a3 -> ('a2, 'a3) cnf) ->
('a1 -> 'a3 -> ('a2, 'a3) cnf) ->
(('a2 * 'a3) list -> 'a4 -> bool) ->
('a1, rtyp, 'a3, unit0) gFormula ->
'a4 list ->
bool Sourceval cneqb : ('a1 -> 'a1 -> bool) -> 'a1 -> 'a1 -> bool Sourceval cltb : ('a1 -> 'a1 -> bool) -> ('a1 -> 'a1 -> bool) -> 'a1 -> 'a1 -> bool Sourcetype op1 = | Equal| NonEqual| Strict| NonStrict
Sourceval map_option : ('a1 -> 'a2 option) -> 'a1 option -> 'a2 option Sourceval map_option2 :
('a1 -> 'a2 -> 'a3 option) ->
'a1 option ->
'a2 option ->
'a3 option Sourceval eval_Psatz :
'a1 ->
'a1 ->
('a1 -> 'a1 -> 'a1) ->
('a1 -> 'a1 -> 'a1) ->
('a1 -> 'a1 -> bool) ->
('a1 -> 'a1 -> bool) ->
'a1 nFormula list ->
'a1 psatz ->
'a1 nFormula option Sourceval check_inconsistent :
'a1 ->
('a1 -> 'a1 -> bool) ->
('a1 -> 'a1 -> bool) ->
'a1 nFormula ->
bool Sourcetype op2 = | OpEq| OpNEq| OpLe| OpGe| OpLt| OpGt
Sourceval norm :
'a1 ->
'a1 ->
('a1 -> 'a1 -> 'a1) ->
('a1 -> 'a1 -> 'a1) ->
('a1 -> 'a1 -> 'a1) ->
('a1 -> 'a1) ->
('a1 -> 'a1 -> bool) ->
'a1 pExpr ->
'a1 pol Sourceval psub0 :
'a1 ->
('a1 -> 'a1 -> 'a1) ->
('a1 -> 'a1 -> 'a1) ->
('a1 -> 'a1) ->
('a1 -> 'a1 -> bool) ->
'a1 pol ->
'a1 pol ->
'a1 pol Sourceval padd0 :
'a1 ->
('a1 -> 'a1 -> 'a1) ->
('a1 -> 'a1 -> bool) ->
'a1 pol ->
'a1 pol ->
'a1 pol Sourceval normalise :
'a1 ->
'a1 ->
('a1 -> 'a1 -> 'a1) ->
('a1 -> 'a1 -> 'a1) ->
('a1 -> 'a1 -> 'a1) ->
('a1 -> 'a1) ->
('a1 -> 'a1 -> bool) ->
'a1 formula ->
'a1 nFormula Sourceval cnf_of_list :
'a1 ->
('a1 -> 'a1 -> bool) ->
('a1 -> 'a1 -> bool) ->
'a1 nFormula list ->
'a2 ->
('a1 nFormula, 'a2) cnf Sourceval cnf_normalise :
'a1 ->
'a1 ->
('a1 -> 'a1 -> 'a1) ->
('a1 -> 'a1 -> 'a1) ->
('a1 -> 'a1 -> 'a1) ->
('a1 -> 'a1) ->
('a1 -> 'a1 -> bool) ->
('a1 -> 'a1 -> bool) ->
'a1 formula ->
'a2 ->
('a1 nFormula, 'a2) cnf Sourceval cnf_negate :
'a1 ->
'a1 ->
('a1 -> 'a1 -> 'a1) ->
('a1 -> 'a1 -> 'a1) ->
('a1 -> 'a1 -> 'a1) ->
('a1 -> 'a1) ->
('a1 -> 'a1 -> bool) ->
('a1 -> 'a1 -> bool) ->
'a1 formula ->
'a2 ->
('a1 nFormula, 'a2) cnf Sourceval simpl_cone :
'a1 ->
'a1 ->
('a1 -> 'a1 -> 'a1) ->
('a1 -> 'a1 -> bool) ->
'a1 psatz ->
'a1 psatz Sourcetype 'a t = | Empty| Elt of 'a| Branch of 'a t * 'a * 'a t