Signatures and interpretations #
A Signature specifies operation symbols with finite arities. The set of symbols
may be infinite, and their arities need not have a uniform bound.
An Interpretation assigns each symbol an operation on a carrier type.
Programs and circuits keep the signature separate from its interpretation.
@[reducible, inline]
An interpretation assigns an operation on Carrier to every symbol in σ.
Equations
- Cslib.Circuits.Interpretation σ Carrier = ((op : σ.Op) → (Fin (σ.Arity op) → Carrier) → Carrier)