List of Import References :
See BOOL
See DENOTATION
See Nat
See Option
See Seq
SIGNATURE Set [data,< :data ** data -> bool]
$Date: 2010-09-30 18:24:17 +0200 (Do, 30. Sep 2010) $ ($Revision: 616 $)
IMPORT Nat ONLY nat Seq[data] ONLY seq Option[data] ONLY option -- Parameter SORT data FUN < : data**data->bool -- total strict-order; in -- ~(x < y) AND ~(y < x) => x = y -- should = represent semantic equality -- The type itself SORT set -- non free constructors FUN {} : set -- empty set FUN incl : data ** set->set -- include -- constructing a set from datas FUN % : data -> set FUN % : data ** data -> set FUN % : data ** data ** data -> set FUN % : data ** data ** data ** data -> set FUN % : data ** data ** data ** data ** data -> set FUN % : data ** data ** data ** data ** data ** data -> set FUN % : data ** data ** data ** data ** data ** data ** data -> set FUN % : data ** data ** data ** data ** data ** data ** data ** data -> set -- %(d1, ..., dn) = {d1, ..., dn} FUN incl excl: data ** set -> set -- include/exclude -- constructing a set from a function FUN .. : nat ** nat -> (nat -> data) -> set -- (n1 .. n2)(f) = { f(n1), f(n1 + 1), ..., f(n2) } FUN iter : data ** (data -> data) ** (data -> bool) -> set -- iter(start, it, P) == -- {start, it(start), ... it^n(start)} -- where P(it^i(start)) for 0 <= i <= n -- and ~(P(it^(n+1)(start))) -- combining sets FUN + - * : set ** set -> set -- union/diff./intersection -- accessing datas in a set FUN arb : set -> data -- select arbitrary element -- undefined for empty set -- information about a set FUN {}? : set -> bool -- test for empty set FUN in : data ** set -> bool -- membership FUN # : set -> nat -- cardinality
minimum and maximum elements of a set, undefined for {}
FUN min max : set -> data FUN exist? : (data -> bool) ** set->bool -- exist? (p, s) -- is there any element of b fulfilling predicate p? FUN find? : (data -> bool) ** set -> option[data] -- find? (p, s) -- return some element of s fulfilling p FUN forall? : (data -> bool) ** set->bool -- forall? (p, s) -- do all elements of s fulfill predicate p? -- comparing sets FUN = <= < : set**set->bool -- equality/subset/proper subset FUN {<} : set ** set -> bool -- ordering on sets -- not for user purpose ----------------------------------------------- -- representation IMPORT Seq[data] ONLY seq FUN abs: seq -> set rep: set -> seq
next node: SetConv,
prev node: Subsystem Sets Proper,
up to node: Subsystem Sets Proper