next node: SetMap,
prev node: SetFold,
up to node: Subsystem Sets Proper


SetReduce

Signature of SetReduce

List of Import References :
See BOOL
See DENOTATION
See Nat
See Option
See Seq
See Set

SIGNATURE SetReduce [from,<,to]

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

-- reductions of sets 

IMPORT Set[from,<] ONLY set

SORT from to

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

FUN / : (from ** to -> to) ** to ** set[from,<] -> to
        -- (o, e)/ s
        -- reduce s by o with value e as initial 2nd argument
        -- function f should be left-commutative:  x o (y o z) = y o (x o z)
        -- since reduction order is implementation dependent and should 
        -- not be relevant!
        -- informally:
        -- (o / e)({a,b,...,y,z}) == a o (b o (...(y o (z o e))...))

-- old fashioned
FUN / : (from ** to -> to) ** to -> set[from,<] -> to
        --  (o / e)(s) === (o, e) / s


next node: SetMap,
prev node: SetFold,
up to node: Subsystem Sets Proper