Constants & Keywords
Constants
Forge provides a few built-in constants:
univ
(arity 1): the set of all objects in the universe (includingInt
s);none
(arity 1): the empty set (to produce higher-arity empty relations, use the->
operator. E.g., a 2-ary empty relation would be represented asnone -> none
);iden
: the identity relation (a total function from all objects in the universe to themselves, includingInts
);Int
: the set of available integer objects. By default it contains-8
to7
inclusive, since the default bitwidth is4
. See Integers for more information.
Keywords
The following is a list of keywords in Forge that may not be used as names for relations, sigs, predicates, and runs. These include:
state
,transition
(reserved for future use)sig
,pred
,fun
test
,expect
,assert
,run
,check
,is
,for
- names of arithmetic operators, helpers, and built-in constants (e.g.,
add
,univ
, andreachable
)