Map Functions

Prepositional maps use a variety of functions to prune alternatives. The functions may have the same name as other functions and operators, but the Match directive in the map link (see Prepositional Maps) causes them to prune out inconsistent objects. For example, MIN will prune out all objects except the one with the minimum value. 

Where the function or operator normally has a logical connection, this can switch the matching behaviour. If an EQUALS operator has a false control link, then all objects with a value equal to the given one will be pruned out.

Where ranges exist, there may be several objects which meet the criterion. As example, a MIN on

A - 2..20
B - 5
C - 10..20
D - 4..10

would retain A, B, D and prune C. Note that numeric objects are being propagated in what normally would be numeric structure, supporting only numbers and ranges.

EQUALS
Retains only the object (or objects) with a numeric or string value which equals the given value.
LESS, LESSEQ
Retains only the object (or objects) with a numeric value which is less than the given value.
MAX
Retains only the object (or objects) with the highest numeric value.
MIN
Retains only the object with the lowest numeric value.
ORIGIN
The head of the operator (Pin 2) can be CurrentSection (Clause) or CurrentSentence. It will then prune out objects which were not created by the current section or sentence.
PARENT
The parents of each object in the incoming set is found and checked whether it has the given parent. An Actualise or Build causes an invocation to be created to the parent. The children of an object can be checked by using this operator the other way, or a logical value can be generated and propagated. See Finding Parents.
SELECT
A way of nesting map operation so individual objects can be selected on multiple properties (similar to SQL SELECT).

See Map Directives in Prepositional Maps