next node: BagFold,
prev node: BagConv,
up to node: Subsystem Bags


BagFilter

Signature of BagFilter

List of Import References :
See BOOL
See Bag
See DENOTATION
See Nat
See Option
See Pair
See Seq

SIGNATURE BagFilter[data, <]

$Date: 2010-09-30 18:24:17 +0200 (Do, 30. Sep 2010) $ ($Revision: 616 $)

-- filtering bags

-- Parameter
SORT data
FUN <   : data ** data -> bool  
        -- total strict-order; in 
        --   ~(x < y) AND ~(y < x) => x = y
        -- should = represent semantic equality

IMPORT Bag[data, <]   ONLY bag

FUN |        : (data -> bool) ** bag -> bag             
                -- p | s 
                -- filter: select all elements of s fulfilling predicate p

FUN partition: (data -> bool) ** bag -> bag ** bag      
                -- partition (p, s) == (s1,s2)
                -- s1, s2 are subbags of s; s1 + s2 = s
                -- predicate p evaluating true for elements of s1
                -- predicate p evaluating false for elements of s2


next node: BagFold,
prev node: BagConv,
up to node: Subsystem Bags