- let q' = State.make () in
- let move = F.parent q ++ F.previous_sibling q' in
- (if self then F.stay q else move),
- (q, [ test => phi;
- QNameSet.any => move ])
- :: (q', [ QNameSet.any => move ]) :: trans,
- (q' @: states)
+ let q' = State.make () in
+ let move = F.parent q' ++ F.previous_sibling q' in
+ (if self then F.stay q ++ F.stay q' else F.stay q'),
+ (q', [ QNameSet.any => move ++ F.parent q])
+ :: (q, [ test => phi ]) :: trans,
+ (q' @: states)