From OpenCog

ProcedureNodes represent procedures, both external (do something to the outside world) and internal (do something to the AtomSpace or calculate something about the AtomSpace). It is divided into two subtypes, PredicateNodes, which, when evaluated, produce a TruthValue and SchemaNodes, which, when executed, produce Atoms.

The ProcedureNode hierarchy is as follows:


That is,GroundedSchemaNode is a subtype of SchemaNode, which is a subtype of ProcedureNode.

Grounded and defined procedures

Grounded procedures are those that are associated with procedural knowledge that allows their outputs to be computed with certainty. Grounded procedures may be written in C++], scheme or python.

Defined procedures are those that are defined by using the DefineLink. They resemble grounded procedures, except that they are written in "atomese"; i.e. defined in terms of other atoms.

See Also