Skip to content

feat: correlation graph-equality congruence + induced-union bridge (union form) — #2965#2978

Merged
phasetr merged 2 commits into
mainfrom
feat/correlation-congr-instance-2965
May 26, 2026
Merged

feat: correlation graph-equality congruence + induced-union bridge (union form) — #2965#2978
phasetr merged 2 commits into
mainfrom
feat/correlation-congr-instance-2965

Conversation

@phasetr
Copy link
Copy Markdown
Owner

@phasetr phasetr commented May 26, 2026

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 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 (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.InducedUnion green, sorry 0, file linter-clean, tex compiles.

🤖 Generated with Claude Code

phasetr and others added 2 commits May 26, 2026 22:33
…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>
@phasetr phasetr merged commit 03ced9c into main May 26, 2026
1 check passed
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant