The format of the RELATION3 operator is:
Control@ EQV RELATION3(RelationInvocation, TimeControl@, Object1, Object2, Object3)
(the operator is usually built by a user tool other than the Editor, such as an NLP Parser)
The operator links control and existence to a relation among its parameters. Each of the connections can function as an input or an output, allowing the operator to display a wide range of behaviour.
The parameters control the operation of the RELATION3 function:
Control@ - can be True or False when the operator is acting as an assertion, or can have a Bayesian value when the operator is being used as a test (shown as Maybe in the figure).
RelationInvocation - an invocation of a relation - Ownership, Acknowledge, Run, Uncle. This object can then be used to represent the relation when used in other relations, as
Control1@ EQV RELATION2(SellBuy1, Time1@,Fred, House, John)
This can be an output, where the RELATION3 operator determines the type of relation among its parameters.
TimeControl@ - an existence link.
Parameter1 - a parameter which can be an object or a relation (either Fred or Ownership).
Parameter2 - a parameter which can be an object or a relation (either Fred or Ownership).
Parameter3 - a parameter which can be an object or a relation (either Fred or Ownership).
The combination of RELATION1, RELATION2, RELATION3 allows for a wide range of behaviour usually modelled in distinct and separate formalisms - database, predicate logic, time logic, CPM.
RELATION3 is used to model ditransitive and causative relations.