protocol

# `proto_hierarchyp`

Prototype hierarchy protocol.

Author: Paulo Moura
Version: 1.1
Date: 2006/2/20
Compilation flags:
`static`
Extends:
`public` hierarchyp
Remarks:
(none)
Inherited public predicates:
ancestor/1 ancestors/1 descendant/1 descendants/1 leaf/1 leaves/1

- Public predicates

  - `parent/1`

  - `parents/1`

  - `extension/1`

  - `extensions/1`

- Protected predicates

- Private predicates

- Operators

## Public predicates

### `parent/1`

Returns, by backtracking, all object parents.

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

### `parents/1`

List of all object parents.

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

### `extension/1`

Returns, by backtracking, all object direct descendants.

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

### `extensions/1`

List of all object direct descendants.

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

## Protected predicates

(no local declarations; see entity ancestors if any)

## Private predicates

(no local declarations; see entity ancestors if any)

## Operators

(none)

See also

proto_hierarchy