| False | True
| Or of 'hcons * 'hcons
| And of 'hcons * 'hcons
- | Atom of ([ `Left | `Right ] * bool * State.t)
+ | Atom of ([ `Left | `Right | `Epsilon ] * bool * State.t)
| Pred of Tree.Predicate.t
type 'hcons node = {
match dir with
| `Left -> Pretty.down_arrow, Pretty.subscript 1
| `Right -> Pretty.down_arrow, Pretty.subscript 2
+ | `Epsilon -> Pretty.epsilon, ""
in
fprintf fmt "%s%s" a_str d_str;
State.print fmt s;
let ss = match d with
| `Left -> (si,StateSet.empty,si),empty_triple
| `Right -> empty_triple,(si,StateSet.empty,si)
+ | `Epsilon -> empty_triple, empty_triple
in fst (cons (Atom(d,p,s)) (Atom(d,not p,s)) ss ss 1 1)
let pred_ p =