Arithmetic atom projections #
Common list-level views of semantic arithmetic-circuit atoms. Keeping these projections independent of any particular Fusion witness lets dyadic, interaction-span, and future arithmetic specializations share the same notion of a multiplication occurrence and the same exact cost accounting.
Retain the arguments of a multiplication atom and discard addition and constant atoms.
Equations
- Algebraic.Fusion.Arithmetic.Atom.mulArguments? { op := Algebraic.Arithmetic.Op.add, arguments := arguments } = none
- Algebraic.Fusion.Arithmetic.Atom.mulArguments? { op := Algebraic.Arithmetic.Op.mul, arguments := arguments } = some arguments
- Algebraic.Fusion.Arithmetic.Atom.mulArguments? { op := Algebraic.Arithmetic.Op.constant value, arguments := arguments } = none
Instances For
Multiplication occurrences, in program order, contained in a list of evaluated arithmetic atoms. Equal semantic argument pairs remain distinct list entries.
Equations
Instances For
Membership in the multiplication-occurrence projection is exactly membership of the corresponding multiplication atom in the source list.
The number of retained multiplication occurrences is exactly their weighted atom cost.
Multiplication occurrences of an arithmetic circuit evaluated on a particular semantic input.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The evaluated multiplication-occurrence list has exactly the circuit's multiplication cost, independently of semantic coincidences between gates.