Funcons-beta : Generating.cbs | PRETTY | PDF
Generating
[
Type atoms
Entity used-atom-set
Funcon initialise-generating
Funcon fresh-atom
Funcon use-atom-not-in
]Meta-variables
T <: valuesBuilt-in Type
atomsatoms is the type of values used as distinguishable tags.
Notation for individual atoms is not provided.
Built-in Funcon
initialise-generating(_:=>T) : =>TThe initial value of the used-atom-set(SA) entity is unspecified. It could
contains atoms that are reserved for internal use.
Funcon
fresh-atom : =>atomsfresh-atom computes an atom distinct from all previously computed atoms.
Rule
element-not-in(atoms, SA) ~> A
-----------------------------------------------
< fresh-atom , used-atom-set(SA) >
---> < A , used-atom-set(set-insert(A, SA)) >use-atom-not-in(SA) computes an atom not in the set SA, and inserts it
in the used-atom-set(SA′) entity, in case it was not previously used.
Rule
element-not-in(atoms, SA) ~> A
--------------------------------------------------------
< use-atom-not-in(SA:sets(atoms)) , used-atom-set(SA′) >
---> < A , used-atom-set(set-insert(A, SA′)) >