feat: deleteEdges-straddling = induce sumCompl disjoint sum — #2965#2979
Merged
Conversation
Add induce_sum_map_sumCompl_eq_deleteEdges (SumGraph.lean): for a predicate p,
deleting every edge whose endpoints lie on different sides of p decomposes G
into the disjoint sum of the two induced subgraphs, up to Equiv.sumCompl p:
((G.induce {p}) ⊕g (G.induce {¬p})).map (Equiv.sumCompl p)
= G.deleteEdges {e | e straddles p}
Proved by edge extensionality (4-case analysis on Sum constructors): an edge
survives iff its endpoints are adjacent and on the same side of p. This is the
structural identity behind component factorization of a bond-deleted (cut)
finite-volume system — Step 2 of the exhaustion-increment bridge.
Part of #2965
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This was referenced May 26, 2026
phasetr
added a commit
that referenced
this pull request
May 26, 2026
* feat: straddle-set no-cross + not-internal facts (Part of #2965) * feat: straddle-set no-cross + not-internal facts Add two graph-level facts about the straddle (cut) edge set of induce_sum_map_sumCompl_eq_deleteEdges: - straddle_not_mem_of_same_side: p a ↔ p b ⇒ s(a,b) ∉ straddle (the deleted set contains no same-side edge), feeding inducedGraph_deleteEdges_eq_of_not_internal. - deleteEdges_straddle_no_cross: p a, ¬p b ⇒ ¬(G.deleteEdges {straddle}).Adj a b (the bond-deleted graph disconnects the two sides), the no-cross hypothesis for correlation_inducedGraph_union_inl_of_no_cross applied to G.deleteEdges {straddle}. Pure adjacency facts (no Fintype), bridging #2979/#2981/#2978 toward the bond-deletion → isolated-component capstone via the working inducedGraph route. Part of #2965 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of #2965
Adds the Step 2 structural core (in
SumGraph.lean):induce_sum_map_sumCompl_eq_deleteEdges: for a predicatep, deleting every edge whose endpoints lie on different sides ofpdecomposesGinto the disjoint sum of the two induced subgraphs, up toEquiv.sumCompl p:((G.induce {p}) ⊕g (G.induce {¬p})).map (Equiv.sumCompl p) = G.deleteEdges {e | e straddles p}.Proved by edge extensionality (4-case analysis on
Sumconstructors): an edge survives the deletion iff its endpoints are adjacent and on the same side ofp. This is the structural identity behind component factorization of a bond-deleted (cut) finite-volume system — Step 2 of the exhaustion-increment bridge (after #2975–#2978 give the correlation-level factorization machinery).lake build IsingModel.SumGraphgreen, sorry 0, file linter-clean, tex compiles.🤖 Generated with Claude Code