Module ElimIndPreds

module ElimIndPreds: sig .. end

Eliminate Inductive Predicates

Encode them as recursive functions, see https://github.com/nunchaku-inria/nunchaku/issues/4


val name : string
type term = Nunchaku_core.TermInner.Default.t 
type decode_state 
val elim_ind_preds : (term, term) Nunchaku_core.Problem.t ->
(term, term) Nunchaku_core.Problem.t *
decode_state
val decode_model : state:decode_state ->
(term, term) Nunchaku_core.Model.t ->
(term, term) Nunchaku_core.Model.t
val pipe : print:bool ->
check:bool ->
((term, term) Nunchaku_core.Problem.t,
(term, term) Nunchaku_core.Problem.t,
(term, term) Nunchaku_core.Problem.Res.t,
(term, term) Nunchaku_core.Problem.Res.t)
Nunchaku_core.Transform.t
Pipeline component
val pipe_with : decode:(decode_state -> 'c -> 'd) ->
print:bool ->
check:bool ->
((term, term) Nunchaku_core.Problem.t,
(term, term) Nunchaku_core.Problem.t, 'c, 'd)
Nunchaku_core.Transform.t
Generic Pipe Component
decode : the decode function that takes an applied (module S) in addition to the state