next node: FunctConv,
prev node: Identity,
up to node: Subsystem General


Predicate

Functions on predicates, where predicate is synonym for type data -> bool.

Signature of Predicate

List of Import References :
See BOOL
See DENOTATION

SIGNATURE Predicate[data]

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

SORT data

Boolean Functions

Similarly to the simple boolean functions, e.g. (f and g)(x) == f(x) and g(x)

FUN true false    :                                     (data -> bool)
FUN ~             :                   (data -> bool) -> (data -> bool)
FUN and or        : (data -> bool) ** (data -> bool) -> (data -> bool)

Categories

Construct equivalence functions from predicates. Two data are equivalent if they both fulfill the same predicate.

Full relation: all combinations yield true

FUN equiv : data ** data -> bool

Empty relation: all combinations yield false. (This ain't no equivalence relation, but may still come in handy for using components, see SeqFilter or StringFilter.)

FUN unequiv: data ** data -> bool

Let ~ = %(P), then x ~ y is true, iff P(x) and P(y).

FUN % : (data -> bool) -> data ** data -> bool

Let ~ = P :: ~~, then x ~ y is true, iff P(x) and P(y), is false, iff P(x) xor P(y), is x ~~ y else.

 
FUN :: : (data -> bool) ** (data ** data -> bool) -> data ** data -> bool

Let ~ = P :: ~~, then x ~ y is true, iff P(x,y), is x ~~ y else.

 
FUN :: : (data ** data -> bool) ** (data ** data -> bool) ->
          data ** data -> bool


next node: FunctConv,
prev node: Identity,
up to node: Subsystem General