protocol

# `class_hierarchyp`

Class hierarchy protocol.

Author: Paulo Moura
Version: 1.0
Date: 2000/7/24
Compilation flags:
`static`
Extends:
`public` hierarchyp
Remarks:
(none)

- Public predicates

  - `class/1`

  - `classes/1`

  - `instance/1`

  - `instances/1`

  - `subclass/1`

  - `subclasses/1`

  - `superclass/1`

  - `superclasses/1`

  - `leaf_instance/1`

  - `leaf_instances/1`

  - `leaf_class/1`

  - `leaf_classes/1`

  - `descendant_instance/1`

  - `descendant_instances/1`

  - `descendant_class/1`

  - `descendant_classes/1`

- Protected predicates

- Private predicates

- Operators

## Public predicates

### `class/1`

Returns, by backtracking, all object classes.

Compilation flags:
`static`
Template:
`class(Class)`
Mode and number of proofs:
`class(?object)` - `zero_or_more`

### `classes/1`

List of all object classes.

Compilation flags:
`static`
Template:
`classes(Classes)`
Mode and number of proofs:
`classes(-list)` - `one`

### `instance/1`

Returns, by backtracking, all class instances.

Compilation flags:
`static`
Template:
`instance(Instance)`
Mode and number of proofs:
`instance(?object)` - `zero_or_more`

### `instances/1`

List of all class instances.

Compilation flags:
`static`
Template:
`instances(Instances)`
Mode and number of proofs:
`instances(-list)` - `one`

### `subclass/1`

Returns, by backtracking, all class subclasses.

Compilation flags:
`static`
Template:
`subclass(Subclass)`
Mode and number of proofs:
`subclass(?object)` - `zero_or_more`

### `subclasses/1`

List of all class subclasses.

Compilation flags:
`static`
Template:
`subclasses(Subclasses)`
Mode and number of proofs:
`subclasses(-list)` - `one`

### `superclass/1`

Returns, by backtracking, all class superclasses.

Compilation flags:
`static`
Template:
`superclass(Superclass)`
Mode and number of proofs:
`superclass(?object)` - `zero_or_more`

### `superclasses/1`

List of all class superclasses.

Compilation flags:
`static`
Template:
`superclasses(Superclasses)`
Mode and number of proofs:
`superclasses(-list)` - `one`

### `leaf_instance/1`

Returns, by backtracking, all class leaf instances.

Compilation flags:
`static`
Template:
`leaf_instance(Leaf)`
Mode and number of proofs:
`leaf_instance(?object)` - `zero_or_more`

### `leaf_instances/1`

List of all class leaf instances.

Compilation flags:
`static`
Template:
`leaf_instances(Leaves)`
Mode and number of proofs:
`leaf_instances(-list)` - `one`

### `leaf_class/1`

Returns, by backtracking, all class leaf subclasses.

Compilation flags:
`static`
Template:
`leaf_class(Leaf)`
Mode and number of proofs:
`leaf_class(?object)` - `zero_or_more`

### `leaf_classes/1`

List of all class leaf leaf subclasses.

Compilation flags:
`static`
Template:
`leaf_classes(Leaves)`
Mode and number of proofs:
`leaf_classes(-list)` - `one`

### `descendant_instance/1`

Returns, by backtracking, all class descendant instances.

Compilation flags:
`static`
Template:
`descendant_instance(Descendant)`
Mode and number of proofs:
`descendant_instance(?object)` - `zero_or_more`

### `descendant_instances/1`

List of all class descendant instances.

Compilation flags:
`static`
Template:
`descendant_instances(Descendants)`
Mode and number of proofs:
`descendant_instances(-list)` - `one`

### `descendant_class/1`

Returns, by backtracking, all class descendant subclasses.

Compilation flags:
`static`
Template:
`descendant_class(Descendant)`
Mode and number of proofs:
`descendant_class(?object)` - `zero_or_more`

### `descendant_classes/1`

List of all class descendant subclasses.

Compilation flags:
`static`
Template:
`descendant_classes(Descendants)`
Mode and number of proofs:
`descendant_classes(-list)` - `one`

## Protected predicates

(see entity ancestors)

## Private predicates

(see entity ancestors)

## Operators

(none)

See also

class_hierarchy