bove :: Ord a => ProbRep -> RDist a -> RDist (Select a)
rAbove p rd = do D d <- rd
                 let (d1,d2) = span (\(_,q)->q>=p) (sortP (norm' d))
                 return (D (map (\(x,q)->(Case x,q)) d1++[(Other,sumP d2)]))



------------------------------------------------------------------------------
-- 3 DETERMINISTIC AND PROBABILISTIC GENERATORS
--
--   Change    deterministic generator
--   Trans     probabilistic generator
--   SpreadC   functions to convert a list of changes into a transition
--   SpreadT   functions to convert a list of transitions into a transition
------------------------------------------------------------------------------

-- 
-- transitions
-- 
t
rAbove :: Ord a => ProbRep -> RDist a -> RDist (Select a)
rAbove p rd = do D d <- rd
                 let (d1,d2) = span (\(_,q)->q>=p) (sortP (norm' d))
                 return (D (map (\(x,q)->(Case x,q)) d1++[(Other,sumP d2)]))



------------------------------------------------------------------------------
-- 3 DETERMINISTIC AND PROBABILISTIC GENERATORS
--
--   Change    deterministic generator
--   Trans     probabilistic generator
--   SpreadC   functions to convert a list of changes into a transition
--   SpreadT   functions to convert a list of transitions into a transition
------------------------------------------------------------------------------

-- 
-- transitions
-- 
rAbove p rd = do D d <- rd
                 let (d1,d2) = span (\(_,q)->q>=p) (sortP (norm' d))
                 return (D (map (\(x,q)->(Case x,q)) d1++[(Other,sumP d2)]))



------------------------------------------------------------------------------
-- 3 DETERMINISTIC AND PROBABILISTIC GENERATORS
--
--   Change    deterministic generator
--   Trans     probabilistic generator
--   SpreadC   functions to convert a list of changes into a transition
--   SpreadT   functions to convert a list of transitions into a transition
------------------------------------------------------------------------------

-- 
-- transitions
-- 