s == s' && b==b' && m==m' && Formula.equal f f'
end)
- let print ppf f = let (st,mark,form,_) = node f in
+ let print ppf f = let (st,mark,form,b) = node f in
Format.fprintf ppf "%i %s" st (if mark then "⇒" else "→");
Formula.print ppf form;
- Format.pp_print_flush ppf ()
+ Format.fprintf ppf "%s%!" (if b then " (b)" else "")
+
+
module Infix = struct
let ( ?< ) x = x
- let ( >< ) state (l,mark) = state,(l,mark,true)
- let ( ><@ ) state (l,mark) = state,(l,mark,false)
+ let ( >< ) state (l,mark) = state,(l,mark,false)
+ let ( ><@ ) state (l,mark) = state,(l,mark,true)
let ( >=> ) (state,(label,mark,bur)) form = (state,label,(make (state,mark,form,bur)))
end
Hashtbl.fold
(fun p l acc ->
if p == q then List.fold_left
-
- (fun acc (ts,t) ->
- let _,_,_,aux = Transition.node t in
- if aux then acc else
- TagSet.cup ts acc) acc l
+ (fun acc (ts,t) ->
+ let _,_,_,aux = Transition.node t in
+ if aux then acc else
+ TagSet.cup ts acc) acc l
else acc) a.trans TagSet.empty
let next_sibling_ctx x _ = Tree.next_sibling x
let r_ignore _ x = x
- let set_get_tag r t = r := (fun _ -> t)
module type ResultSet =
sig