feat: correlation graph-equality congruence + induced-union bridge (union form) — #2965#2978
Merged
Merged
Conversation
…nion form)
Complete Phase A step 1 (the Fintype-instance transport):
- correlation_congr_of_eq: G₁ = G₂ ⇒ correlation G₁ p A = correlation G₂ p A,
invariant across different Fintype edgeSet instances (edgeFinset coerces to the
instance-free edgeSet). Bridges propositional graph equalities without rw's
motive obstruction.
- correlation_inducedGraph_union_inl_of_no_cross: the component-factorization
bridge stated directly on inducedGraph (Λ₁ ∪ Λ₂):
correlation (inducedGraph (Λ₁ ∪ Λ₂)) p ((A.map inl).map union)
= correlation (inducedGraph Λ₁) p A
for disjoint Λ₁,Λ₂ with no cross edge, via
inducedGraph_sum_map_eq_union_of_no_cross + correlation_congr_of_eq +
correlation_inducedGraph_sum_map_inl. This is the form usable for exhaustion
stages.
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
…2981) * feat: inducedGraph unaffected by deleting non-internal edges (Part of #2965) * feat: inducedGraph unaffected by deleting non-internal edges Add inducedGraph_deleteEdges_eq_of_not_internal: if no edge of the deleted set D has both endpoints in S, then inducedGraph (G.deleteEdges D) S = inducedGraph G S. An edge of the induced subgraph on S joins two S-vertices, so it is internal and never deleted. This is the Finset route to the bond-deletion → isolated-component bridge: deleting the cut (cross) edges between S and its complement leaves the within-S induced subgraph (hence its correlations) intact, and the bond-deleted graph then has no cross edges, so correlation_inducedGraph_union_inl_of_no_cross (#2978) applies directly to it — reusing the working inducedGraph/Finset machinery instead of the instance-pathological Equiv.sumCompl predicate route (#2980). Part of #2965 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
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>
phasetr
added a commit
that referenced
this pull request
May 26, 2026
…apstone, Finset route) — #2965 (#2983) * feat: bond-deleted correlation = isolated induced subgraph (Finset route) (Part of #2965) * feat: bond-deleted correlation = isolated induced subgraph (Phase A capstone, Finset route) Add correlation_inducedGraph_deleteEdges_union_inl: for S ⊆ W, deleting the cut edges between S and Sᶜ gives correlation (inducedGraph (G.deleteEdges {straddle S}) (S ∪ Sᶜ)) p ((A.map inl).map union) = correlation (inducedGraph G S) p A — the bond-deleted model's correlation of an S-supported observable equals the correlation in the isolated induced subgraph on S of the original model. Assembled from correlation_inducedGraph_union_inl_of_no_cross (#2978) ∘ correlation_congr_of_eq (inducedGraph_deleteEdges_eq_of_not_internal, #2981), with no-cross/not-internal hypotheses discharged by deleteEdges_straddle_no_cross / straddle_not_mem_of_same_side (#2982). Reuses the working inducedGraph/Finset machinery, sidestepping the Equiv.sumCompl instance pathology (#2980) entirely. This is the Issue #2965 Phase A component-factorization capstone: combined with the ball-boundary bond-deletion increment correlation_sub_deleteEdges_le_derivBound (#2974), it yields the per-stage exhaustion increment bound. Part of #2965 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
This was referenced May 26, 2026
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
Completes Phase A step 1 (Fintype-instance transport), in
InducedUnion.lean:correlation_congr_of_eq:G₁ = G₂ ⇒ correlation G₁ p A = correlation G₂ p A, invariant across differentFintype edgeSetinstances (edgeFinsetcoerces to the instance-freeedgeSet). Bridges propositional graph equalities withoutrw's motive obstruction.correlation_inducedGraph_union_inl_of_no_cross: the component-factorization bridge stated directly oninducedGraph (Λ₁ ∪ Λ₂):correlation (inducedGraph (Λ₁ ∪ Λ₂)) p ((A.map inl).map union) = correlation (inducedGraph Λ₁) p Afor disjointΛ₁,Λ₂with no cross edge — viainducedGraph_sum_map_eq_union_of_no_cross(feat: induced-union splits as disjoint sum under no cross edges — #2965 #2977) +correlation_congr_of_eq+correlation_inducedGraph_sum_map_inl. The form usable for exhaustion stages.lake build IsingModel.AmbientLatticeSum.InducedUniongreen, sorry 0, file linter-clean, tex compiles.🤖 Generated with Claude Code