Per-step status identification of the relabel sets #
Two composable identifications for the paired assembly. First,
the pairs of a full pairwise-disjoint AntiLowPair list enumerate
the anti-canonical set: membership in the pairFold of such a
list is exactly being an end label of some anti-canonical chain
(mem_pairFold_antiLow) — the completeness direction pins every
anti flag's label as a first component by comparing cardinalities
(Finset.eq_of_subset_of_card_le). Second, for the transported
frame of a separated step from a canonical source, the anti set's
end labels are exactly the labels whose high-status changed across
the repair (antiLow_labels_eq_statusChange): an anti end is
low-in-new but high-in-old, and its new partner is high-in-new but
low-in-old (the re-paired ends carry opposite old statuses,
swap_dirs_opposite); conversely a status-changed label must sit
on a re-paired end (mem_highSet_repair_untouched).
Propositional inequality helpers #
The enumeration lemma #
The anti-canonical set consists of boundary flags.
Pairs of a full disjoint anti-low list enumerate the anti
set: for a list of anti-low pairs, pairwise disjoint and as long
as the anti set, membership in the fold is exactly being an end
label of some anti-canonical chain. The completeness direction is
a counting argument: the first components form a Nodup list of
labels of anti flags, and label injectivity forces them to exhaust
the anti set.
The separated-step status identification #
The separated-step status identification: for the
transported frame of a separated step from a canonical source, the
end labels of the anti-canonical chords — each anti low end with
its partner in the repaired system, the shape produced by
mem_pairFold_antiLow at the transported frame — are exactly the
labels whose high-status differs between the repaired and the
source systems.