Superquadratic sensitivity separation: recursive flips #
This file analyses the effect of a single raw bit flip on a row clause. Flipping the coordinate
((j, c), a) changes only the child at (j, c). Hence it can change the clause of row i only if
j = i and it changes the target value of that child, or if j is an out-neighbour of i,
c = label i j and it changes the gate value of that child. These facts underlie all sensitivity
recurrences.
Main results #
recursiveChild_flip_same: flipping((j, c), a)flips coordinateaof the child at(j, c).recursiveChild_flip_other: flipping((j, c), a)leaves every other child unchanged.rowClause_flip_eq: a flip that changes none of the conditions of a row clause leaves the clause unchanged.rowClause_flip_change: a flip that changes a row clause changes its target condition in its own row or a gate condition on a labeled outgoing edge.
References #
Flipping the raw coordinate ((j, c), a) does not change the child at any position
(j', c') ≠ (j, c).
Flipping ((j, c), a) does not change the clause of row i, provided it does not change the
target value of the child at (j, c) when j = i, nor its gate value when T.Adj i j and
c = label i j.
If flipping ((j, c), a) changes the clause of row i, then either j = i and the flip
changes the target value of the child at (j, c), or T.Adj i j, c = label i j and the flip
changes the gate value of that child.