Linker
A linker is used to turn an AIR tree into a single PIL file. The linking process operates in the following way:
- Create an empty PIL file
- Start from the main AIR. Let
main_degree_range
be its degree. - For each AIR
- Create a new namespace in the PIL file
2a. If
degrees-mode
isvadcop
, set the namespace degree to that of the AIR 2b. Ifdegrees-mode
ismonolithic
, set the namespace degree tomain_degree_range
- Add the constraints to the namespace
- Turn the links into lookups and permutations and add them to the namespace
- Create a new namespace in the PIL file
2a. If
The result is a monolithic AIR where:
- each machine instance is a namespace
- each namespace defines its own degree range