§3, p. 979 — a stable partition is stable with respect to any union of its blocks
ProvedPaigeTarjan.Coarsest.stableWrt_of_isUnionOfBlocksLet be a relation on a finite set and let be a stable partition of . For every subfamily of blocks,
This observation is used in the proof of Lemma 2: a set that is a union of blocks of the current partition is also a union of blocks of any stable partition refining it, and so cannot split that partition.
Formalization Note The empty subfamily is allowed; its union is , whose preimage is empty, so the statement holds for it as well.
import Mathlib import Definitions.Def_PaigeTarjan_Coarsest_Basic
namespace PaigeTarjan.Coarsest
/-- §3, p. 979, end of the first paragraph: a stable partition is stable with respect to the
union of any subset of its blocks. -/
theorem stableWrt_of_isUnionOfBlocks {U : Type*} [Fintype U] [DecidableEq U]
(E : U → U → Prop) [DecidableRel E] (Q : Finset (Finset U))
(hQ : IsPartition Q) (hstab : Stable E Q) (T : Finset (Finset U)) (hT : T ⊆ Q) :
StableWrt E Q (T.biUnion id) := by sorry
end PaigeTarjan.Coarsest
Read-back
What the Lean code literally says, in plain math · claude-opus-5-5
Take a finite set with decidable equality, a decidable binary relation on , and a family of subsets of . Assume:
- is a partition of ;
- is stable, meaning that for every pair of blocks , either or , where .
Then for every subfamily , is stable with respect to . That is, every block satisfies
Degenerate cases.
- gives the union , whose preimage is empty, so the claim holds trivially.
- gives the union (when is nonempty). The claim is then that each block either lies entirely inside the set of elements with at least one -successor, or contains no such element.
- If , then and are empty and the claim is vacuous.
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.