sig
  type file = BottomUpAst.clause list
  and clause = Clause of BottomUpAst.literal * BottomUpAst.literal list
  and literal = Atom of string * BottomUpAst.term list
  and term = Var of string | Const of string | Quoted of string
  and query =
      Query of BottomUpAst.term list * BottomUpAst.literal list *
        BottomUpAst.literal list
end