Link Search Menu Expand Document

Unstable-Funcons-beta : Indexing.cbs | PRETTY | PDF


Value indexing

The following funcons support indexing of values by natural numbers. They could be enhanced to ensure that each value has at most one index, and to allow finding the index of a value.

Entity
  < _ , value-index(_:ground-values*) > --->
  < _ , value-index(_:ground-values*) >
Funcon
  initialise-index : =>null-type
Rule
  < initialise-index, value-index(_) > ---> < null-value, value-index( ) >
Funcon
  allocate-index(_:ground-values) : =>natural-numbers
Rule
  < allocate-index(V:ground-values), value-index(V*) > --->
  < length(V*, V), value-index(V*, V) >
Funcon
  lookup-index(_:natural-numbers) : =>ground-values
Rule
  < lookup-index(N:natural-numbers), value-index(V*) > --->
  < index(N, V*), value-index(V*) >
Assert
  lookup-index(allocate-index(V:ground-values)) ---> V