Changeset 12774

Show
Ignore:
Timestamp:
03.11.2009 14:25:57 (3 weeks ago)
Author:
maeder
Message:

moved leqClasses

Location:
trunk
Files:
4 modified

Legend:

Unmodified
Added
Removed
  • trunk/CASL/ColimSign.hs

    r12726 r12774  
    212212                       names $ Set.toList oSet 
    213213       equivF (id1, ot1) (id2, ot2) = (id1 == id2) && leqF sig ot1 ot2 
    214        parts = leqClasses equivF oSet 
     214       parts = Rel.leqClasses equivF oSet 
    215215       addParts rel equivList = 
    216216         foldl (\(r, f) l -> let l1 = map (\x -> Map.findWithDefault (x,n) x $ 
     
    389389                       names $ Set.toList pSet 
    390390       equivP (id1, pt1) (id2, pt2) = (id1 == id2) && leqP sig pt1 pt2 
    391        parts = leqClasses equivP pSet 
     391       parts = Rel.leqClasses equivP pSet 
    392392       nmor = Map.findWithDefault (error "buildAtNode") n morMap 
    393393       addParts rel equivList = 
  • trunk/CASL/Overload.hs

    r12405 r12774  
    3030  , keepMinimals1 
    3131  , keepMinimals 
    32   , leqClasses 
    3332  ) where 
    3433 
     
    207206        preds = case mty of 
    208207                   Nothing -> map (pSortBy predArgs sign) 
    209                               $ leqClasses (leqP' sign) preds' 
     208                              $ Rel.leqClasses (leqP' sign) preds' 
    210209                   Just ty -> [[ty] | Set.member ty preds'] 
    211210    noOpOrPred preds "predicate" mty ide pos nargs 
     
    307306        ops = case mty of 
    308307                   Nothing -> map (pSortBy opArgs sign) 
    309                               $ leqClasses (leqF' sign) ops' 
     308                              $ Rel.leqClasses (leqF' sign) ops' 
    310309                   Just ty -> [[ty] | Set.member ty ops' || 
    311310                                  -- might be known to be total 
     
    473472    and . zipWith (haveCommonSubsorts sign) (predArgs p1) . predArgs 
    474473 
    475 -- | Divide a Set (List) into equivalence classes w.r.t. eq 
    476 leqClasses :: Ord a => (a -> a -> Bool) -> Set.Set a -> [[a]] 
    477 leqClasses eq = map Set.toList . Rel.partSet eq 
    478  
    479474cmpSubsort :: Sign f e -> POrder SORT 
    480475cmpSubsort sign s1 s2 = 
  • trunk/Common/Lib/Rel.hs

    r11961 r12774  
    4040    , toSet, fromSet, topSort, nodes, collaps 
    4141    , transpose, transReduce, setInsert, setToMap 
    42     , fromDistinctMap, locallyFiltered, flatSet, partSet 
     42    , fromDistinctMap, locallyFiltered, flatSet, partSet, leqClasses 
    4343    ) where 
    4444 
     
    308308              in Set.insert x (Set.unions es) : ds 
    309309 
     310-- | Divide a Set (List) into equivalence classes w.r.t. eq 
     311leqClasses :: Ord a => (a -> a -> Bool) -> Set.Set a -> [[a]] 
     312leqClasses eq = List.map Set.toList . partSet eq 
     313 
    310314-- | flattens a list of non-empty sets and uses the minimal element of 
    311315-- each set to represent the set 
  • trunk/Common/SetColimit.hs

    r12727 r12774  
    2323 where 
    2424 
     25import Common.Id 
    2526import Common.Lib.Graph 
     27import Common.Lib.Rel (leqClasses) 
     28 
    2629import Data.Graph.Inductive.Graph 
    2730import qualified Data.Map as Map 
    2831import qualified Data.Set as Set 
    29 import CASL.Overload(leqClasses) 
    30 import Common.Id 
    3132 
    3233compose :: (Ord a) => Set.Set (a, Int) ->