Polarity propagation #
The four-point polarity domain records independence, positive dependence, negative dependence, or mixed dependence. A local polarity for each operation argument induces a compositional analysis of every circuit. As with degree, a concrete monotonicity theorem only needs to establish soundness of the selected local policy.
Equations
- One or more equations did not get rendered due to their size.
- Algebraic.instReprPolarity.repr Algebraic.Polarity.none prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Algebraic.Polarity.none")).group prec✝
- Algebraic.instReprPolarity.repr Algebraic.Polarity.mixed prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Algebraic.Polarity.mixed")).group prec✝
Instances For
Equations
- Algebraic.instReprPolarity = { reprPrec := Algebraic.instReprPolarity.repr }
Join information coming from two dependency paths.
Equations
- Algebraic.Polarity.none.join x✝ = x✝
- x✝.join Algebraic.Polarity.none = x✝
- Algebraic.Polarity.mixed.join x✝ = Algebraic.Polarity.mixed
- x✝.join Algebraic.Polarity.mixed = Algebraic.Polarity.mixed
- Algebraic.Polarity.positive.join Algebraic.Polarity.positive = Algebraic.Polarity.positive
- Algebraic.Polarity.negative.join Algebraic.Polarity.negative = Algebraic.Polarity.negative
- Algebraic.Polarity.positive.join Algebraic.Polarity.negative = Algebraic.Polarity.mixed
- Algebraic.Polarity.negative.join Algebraic.Polarity.positive = Algebraic.Polarity.mixed
Instances For
Compose the polarity of an operation argument with the polarity carried by the argument expression.
Equations
- Algebraic.Polarity.none.comp x✝ = Algebraic.Polarity.none
- x✝.comp Algebraic.Polarity.none = Algebraic.Polarity.none
- Algebraic.Polarity.positive.comp x✝ = x✝
- Algebraic.Polarity.negative.comp Algebraic.Polarity.positive = Algebraic.Polarity.negative
- Algebraic.Polarity.negative.comp Algebraic.Polarity.negative = Algebraic.Polarity.positive
- Algebraic.Polarity.negative.comp Algebraic.Polarity.mixed = Algebraic.Polarity.mixed
- Algebraic.Polarity.mixed.comp x✝ = Algebraic.Polarity.mixed
Instances For
One-hot positive dependency profile of an original input.
Equations
- Algebraic.Polarity.inputProfile input coordinate = if input = coordinate then Algebraic.Polarity.positive else Algebraic.Polarity.none
Instances For
Local polarity of every argument of every operation.
Equations
- Algebraic.PolarityPolicy σ = ((op : σ.Op) → Fin (σ.Arity op) → Algebraic.Polarity)
Instances For
Polarity interpretation induced by a local argument policy.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Per-output, per-input polarity profile of a circuit.
Equations
- circuit.polarityProfile policy = circuit.eval (σ.polarityInterpretation policy n) Algebraic.Polarity.inputProfile
Instances For
Translation preserves the exact abstract polarity propagation induced by its target operation gadgets.