This module contains the theory of the cached AIG node creation functions. It is mainly concerned with proving lemmas about the denotational semantics of the gate functions in different scenarios, in particular reductions to the semantics of the non cached versions.
If we find a cached atom declaration in the AIG, denoting it is equivalent to denoting AIG.mkAtom.
The AIG produced by AIG.mkAtomCached agrees with the input AIG on all indices that are valid for
both.
AIG.mkAtomCached never shrinks the underlying AIG.
The central equality theorem between mkConstCached and mkConst.
If we find a cached gate declaration in the AIG, denoting it is equivalent to denoting AIG.mkGate.
AIG.mkGateCached never shrinks the underlying AIG.
The AIG produced by AIG.mkGateCached agrees with the input AIG on all indices that are valid for
both.
The central equality theorem between mkGateCached and mkGate.