next node: MapByOSInvert,
prev node: MapByOSReduce,
up to node: Subsystem Maps By Ordered Sequences


MapByOSCompose

Signature of MapByOSCompose

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

SIGNATURE MapByOSCompose[dom, < : dom ** dom -> bool, 

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

                     interdom, < : interdom ** interdom -> bool, 
                     codom]
-- composing maps

-- Parameter
SORT dom interdom codom
FUN < : dom ** dom -> bool
FUN < : interdom ** interdom -> bool
  -- both < must be total strict-order; in 
  --   ~(x < y) AND ~(y < x) => x = y
  -- should = represent semantic equality

IMPORT MapByOS[dom, <, interdom] ONLY map
       MapByOS[interdom, <, codom] ONLY map
       MapByOS[dom, <, codom] ONLY map

FUN o : map[dom, <, interdom] ** map[interdom, <, codom] -> 
                    map[dom, <, codom]
-- M1 o M2 = {(d -> r) | EX m. (M1!d = m and M2!m = r}


next node: MapByOSInvert,
prev node: MapByOSReduce,
up to node: Subsystem Maps By Ordered Sequences