Module Elim_prop_args

module Elim_prop_args: sig .. end

Eliminate function arguments of type "prop"

Emits some "if/then/else" instead, using a pseudo-prop type that has exactly two arguments.


type term = Nunchaku_core.TermInner.Default.t 
type ty = term 
type problem = (term, ty) Nunchaku_core.Problem.t 
type model = (term, ty) Nunchaku_core.Model.t 
type res = (term, ty) Nunchaku_core.Problem.Res.t 
val name : string
type state 
val transform_problem : problem -> problem * state
val decode_model : state -> model -> model
val pipe_with : decode:(state -> 'a -> 'b) ->
print:bool ->
check:bool ->
(problem, problem, 'a, 'b)
Nunchaku_core.Transform.t
val pipe : print:bool ->
check:bool ->
(problem, problem, res,
res)
Nunchaku_core.Transform.t