Documentation

Complexitylib.Algebraic.LowerBound.Cutwidth.Aggregate.Wiring.Semantics

Exact semantics of local evaluation checks #

Copy chains carry precisely the value computed at their signal vertex. Induction in program order then identifies every locally computed value with the ordinary program trace, including observed sinks, which need no additional outgoing edge.

theorem Algebraic.Cutwidth.Aggregate.Wiring.trace_eq_of_inputs_agree {σ : Signature} {n s : ℕ} {p : Program σ n s} (K : MultiOutput.Internal.ClosedSet p) (I : Interpretation σ Bool) {x y : Fin n → Bool} (hxy : ∀ j ∈ SingleCut.inputsIn K.carrier, x j = y j) (w : Wire n s) (hw : w ∈ K.carrier) :
p.trace I x w = p.trace I y w

A closed component's trace depends only on its own primary inputs.

theorem Algebraic.Cutwidth.Aggregate.Wiring.trace_eq_of_outside_inputs_agree {σ : Signature} {n s : ℕ} {p : Program σ n s} (K : MultiOutput.Internal.ClosedSet p) (I : Interpretation σ Bool) {x y : Fin n → Bool} (hxy : ∀ j ∉ SingleCut.inputsIn K.carrier, x j = y j) (w : Wire n s) (hw : w ∉ K.carrier) :
p.trace I x w = p.trace I y w

The complementary trace depends only on inputs outside the component.

A satisfying edge assignment computes the program trace at every selected signal.

A satisfying assignment puts the trace value on every edge.

The canonical edge assignment induced by the program evaluation.

Equations
Instances For

    Local evaluation of the canonical assignment recovers even an unobserved sink.

    Every program input induces a satisfying edge assignment.