+
+let get_trans a tag states =
+ StateSet.fold (fun q acc0 ->
+ try
+ let trs = Hashtbl.find a.transitions q in
+ List.fold_left (fun acc1 (labs, phi) ->
+ if QNameSet.mem tag labs then
+ TransList.cons (Transition.make (q, labs, phi)) acc1
+ else acc1) acc0 trs
+ with Not_found -> acc0
+ ) states TransList.nil
+
+
+let get_form a tag q =
+ try
+ let trs = Hashtbl.find a.transitions q in
+ List.fold_left (fun aphi (labs, phi) ->
+ if QNameSet.mem tag labs then Formula.or_ aphi phi else aphi
+ ) Formula.false_ trs
+ with
+ Not_found -> Formula.false_
+