module Polarize:sig
..end
This duplicates some predicate definitions (either recursive equations,
or (co)inductive specifications) depending on the call-site polarity.
typeterm =
Nunchaku_core.TermInner.Default.t
type
decode_state
val name : string
val polarize : polarize_rec:bool ->
(term, term) Nunchaku_core.Problem.t ->
(term, term) Nunchaku_core.Problem.t *
decode_state
polarize_rec
: if true, some propositions defined with `rec`
might be polarizedval decode_model : state:decode_state ->
(term, term) Nunchaku_core.Model.t ->
(term, term) Nunchaku_core.Model.t
val pipe : polarize_rec:bool ->
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
val pipe_with : ?on_decoded:('d -> unit) list ->
decode:(decode_state -> 'c -> 'd) ->
polarize_rec:bool ->
print:bool ->
check:bool ->
((term, term) Nunchaku_core.Problem.t,
(term, term) Nunchaku_core.Problem.t, 'c, 'd)
Nunchaku_core.Transform.t
decode
: the decode function that takes an applied (module S)
in addition to the state