Effect Disjointness and Overlap #
Two operators have disjoint effects when their footprints share no dimension, and overlapping effects when they share at least one.
These are effect-domain facts derived from footprints. Footprints are upper bounds, so disjointness is the strong direction: a step of one operator preserves every dimension the other may change. Overlap records only that the operators may touch a common dimension.
They do not derive the canonical OrthogonalityRelation vocabulary, which also
contains conflicting and dependent. The canonical lookup remains the
declared reference. The theorems comparing the two are consistency checks on
the declared entries, not derivations of them.
Whether two operators share an effect dimension.
Equations
- SE.Transformation.overlapB a b = (SE.Transformation.footprint a).any fun (d : SE.Transformation.Dimension) => decide (d ∈ SE.Transformation.footprint b)
Instances For
The footprints of two operators share no dimension.
Equations
Instances For
The footprints of two operators share at least one dimension.
Equations
Instances For
Effect disjointness is exactly the absence of a shared dimension.
If two operators have disjoint effects, a step of the second preserves every dimension that the first may change.
Consistency check: every declared orthogonal pair has disjoint effects.
The declared entries are not derived from footprints. This theorem records that the footprints do not contradict the declared orthogonal pair.
Consistency check: every declared overlapping pair has overlapping effects.
Footprint overlap shows only that the operators may touch a common dimension.