Skip to content

feat: nested-induce correlation transport (whnf wall bypassed) — #2965#2991

Merged
phasetr merged 3 commits into
mainfrom
feat/nested-induce-corr-2965
May 27, 2026
Merged

feat: nested-induce correlation transport (whnf wall bypassed) — #2965#2991
phasetr merged 3 commits into
mainfrom
feat/nested-induce-corr-2965

Conversation

@phasetr
Copy link
Copy Markdown
Owner

@phasetr phasetr commented May 27, 2026

Part of #2965 (cubic-exhaustion connection — correlation level).

Adds correlation_inducedGraph_induce_preimage (InducedUnion.lean), the correlation companion of inducedGraph_induce_preimage_map_eq (#2990):
correlation ((inducedGraph G T).induce {x | x.val ∈ S}) p (A.map nestedSubtypeEquiv.symm) = correlation (inducedGraph G S) p A.

The earlier whnf wall is bypassed: instead of applying correlation_map_equiv to the nested-subtype graph (heavy), apply it to the direct inducedGraph G S with the inverse relabeling nestedSubtypeEquiv.symm — so the heavy nested-subtype graph appears only as the map result, never as the graph correlation_map_equiv operates on. Then bridge via correlation_congr_all + the graph equality #2990.

This is the c_k-side identity for the cubic-exhaustion per-stage increment. Combined with #2989 (the abstract per-stage increment), the cubic-exhaustion instantiation c_{k+1}−c_k ≤ derivBound(shell) is now within reach.

lake build IsingModel.AmbientLatticeSum.InducedUnion green, sorry 0, file linter-clean, tex compiles.

🤖 Generated with Claude Code

phasetr and others added 3 commits May 27, 2026 10:16
Add correlation_inducedGraph_induce_preimage: correlation companion of
inducedGraph_induce_preimage_map_eq (#2990):

  correlation ((inducedGraph G T).induce {x | x.val ∈ S}) p (A.map nestedSubtypeEquiv.symm)
    = correlation (inducedGraph G S) p A.

The earlier whnf wall (correlation_map_equiv on the nested-subtype graph) is
bypassed by applying correlation_map_equiv to the DIRECT graph inducedGraph G S
with the inverse relabeling nestedSubtypeEquiv.symm — so the heavy nested-subtype
graph appears only as the map RESULT, never as the graph correlation_map_equiv
operates on — then bridging via correlation_congr_all and the graph equality #2990.

This is the c_k-side identity for the cubic-exhaustion per-stage increment:
correlation on inducedGraph (box_k inside box_{k+1}) = correlation on the direct
inducedGraph box_k.

Part of #2965

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
…w done)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@phasetr phasetr merged commit 65daed6 into main May 27, 2026
1 check passed
phasetr added a commit that referenced this pull request May 27, 2026
…#2992)

* feat: two-box per-stage increment (Part of #2965)

* Build two-box per-stage increment for cubic exhaustion stages

Add `correlation_pair_two_box_le_derivBound`: for nested finsets T₁ ⊆ T₂
and a pair r,s interior to T₁, the pair correlation on the larger box
exceeds the one on the smaller box by at most the ball-boundary
`derivBound` over the cut edges of the T₁-slice. This is the form
instantiated on cubic exhaustion stages box_k ⊆ box_{k+1} to bound the
per-stage difference c_{k+1} − c_k (Issue #2965, Phase A).

Supporting declarations:
- `nestedFinsetEquiv`: the double-subtype relabeling
  ↥(T₁.subtype (· ∈ T₂)) ≃ ↥T₁.
- `correlation_inducedGraph_nested_finset`: concrete-layer companion of
  `correlation_inducedGraph_induce_preimage` (#2991) using the
  `Finset.subtype` slice instead of a `Set`-predicate, so it matches the
  `S : Finset ↥T₂` region of the single-box increment directly and avoids
  the ↥S vs {x // x.val ∈ T₁} subtype-type mismatch.

Composes the single-box increment `correlation_pair_sub_inducedGraph_le_derivBound`
(#2989) on G' = inducedGraph G T₂ with the double-induce identification,
recovering inducedGraph G T₁ on the inner box.

Docs and proof-guide synced.

Part of #2965

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* Update module doc Main declarations list (codex cross-check)

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