sig
  type axiom = string * string list * Logic.pred list * Logic.pred
  type input =
      StartGoal of string
    | TopChoose of int * int
    | Axiom of Input.axiom
    | Import of string
    | Decl of string
    | Eof
    | Prove of Logic.pred
    | Assume of Logic.pred
    | UnAssume
    | Pick of string
    | UnPick
    | Choose of int * int
    | Block of (string * string) list
    | UnBlock
    | Comment of string
    | EndGoal
  val di : unit -> Input.input -> Pretty.doc
  val printLFSyntax : bool Pervasives.ref
end