sig
  type var_name = string
  type value = F of float | I of int | B of bool
  type subst = Luc4ocaml.var_name * Luc4ocaml.value
  type inputs = Luc4ocaml.subst list
  type outputs = Luc4ocaml.subst list
  type locals = Luc4ocaml.subst list
  type solution = Luc4ocaml.outputs * Luc4ocaml.locals
  type state
  val make :
    int -> bool -> string -> int -> int -> string list -> Luc4ocaml.state
  type step_mode = StepInside | StepEdges | StepVertices
  val step :
    Luc4ocaml.step_mode ->
    Luc4ocaml.state ->
    Luc4ocaml.inputs -> Luc4ocaml.state * Luc4ocaml.solution
  val step_se :
    Luc4ocaml.step_mode ->
    Luc4ocaml.state Stdlib.ref -> Luc4ocaml.inputs -> Luc4ocaml.solution
  val rif_read :
    Stdlib.in_channel ->
    Luc4ocaml.state -> Luc4ocaml.inputs * Luc4ocaml.state
  val string_of_value : Luc4ocaml.value -> string
end