sig
type problem1 =
(Nunchaku_core.FO.T.t, Nunchaku_core.FO.Ty.t)
Nunchaku_core.FO.Problem.t
type model1 =
(Nunchaku_core.FO.T.t, Nunchaku_core.FO.Ty.t) Nunchaku_core.Model.t
type problem2 = Nunchaku_core.FO_rel.problem
type model2 =
(Nunchaku_core.FO_rel.expr, Nunchaku_core.FO_rel.sub_universe)
Nunchaku_core.Model.t
val name : string
type state
val encode_pb :
FoToRelational.problem1 -> FoToRelational.problem2 * FoToRelational.state
val decode :
FoToRelational.state -> FoToRelational.model2 -> FoToRelational.model1
val pipe_with :
?on_decoded:('b -> unit) list ->
decode:(FoToRelational.state -> 'a -> 'b) ->
print:bool ->
(FoToRelational.problem1, FoToRelational.problem2, 'a, 'b)
Nunchaku_core.Transform.t
val pipe :
print:bool ->
(FoToRelational.problem1, FoToRelational.problem2,
(Nunchaku_core.FO_rel.expr, Nunchaku_core.FO_rel.sub_universe)
Nunchaku_core.Problem.Res.t,
(Nunchaku_core.FO.T.t, Nunchaku_core.FO.Ty.t)
Nunchaku_core.Problem.Res.t)
Nunchaku_core.Transform.t
end