Skip to content

feat: deleteEdges via edge-filter Finset = deleteEdges via Set — #2965#2987

Merged
phasetr merged 2 commits into
mainfrom
feat/deleteEdges-filter-eq-2965
May 26, 2026
Merged

feat: deleteEdges via edge-filter Finset = deleteEdges via Set — #2965#2987
phasetr merged 2 commits into
mainfrom
feat/deleteEdges-filter-eq-2965

Conversation

@phasetr
Copy link
Copy Markdown
Owner

@phasetr phasetr commented May 26, 2026

Part of #2965 (per-stage increment composition bridge).

Adds deleteEdges_filter_edgeFinset_eq (SumGraph.lean): G.deleteEdges ↑(G.edgeFinset.filter p) = G.deleteEdges {e | p e}. Since deleteEdges ignores non-edges (deleteEdges_eq_inter_edgeSet), deleting only the edges satisfying p equals deleting every Sym2 satisfying p.

This bridges the Finset (Sym2 V) form of the ball-boundary bond-deletion increment correlation_sub_deleteEdges_le_derivBound (#2974, which takes E₀ : Finset) and the Set-predicate form of the component-factorization capstone (#2986), toward the numeric per-stage exhaustion increment.

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

🤖 Generated with Claude Code

phasetr and others added 2 commits May 27, 2026 06:05
Add deleteEdges_filter_edgeFinset_eq: G.deleteEdges ↑(G.edgeFinset.filter p) =
G.deleteEdges {e | p e}. Since deleteEdges ignores non-edges
(deleteEdges_eq_inter_edgeSet), deleting only the edges satisfying p equals
deleting every Sym2 satisfying p.

This bridges the Finset (Sym2 V) form of the ball-boundary bond-deletion
increment correlation_sub_deleteEdges_le_derivBound (#2974, takes E₀ : Finset)
and the Set-predicate form of the component-factorization capstone (#2986),
toward the numeric per-stage exhaustion increment.

Part of #2965

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@phasetr phasetr merged commit abdacb5 into main May 26, 2026
1 check passed
phasetr added a commit that referenced this pull request May 26, 2026
* feat: triple-mapped S-observable = val-image observable (Part of #2965)

* feat: triple-mapped S-observable = val-image observable

Add triple_map_subtypeUnivEquiv_eq: the observable pushed through Sum.inl,
Equiv.Finset.union S Sᶜ, and Equiv.subtypeUnivEquiv equals A.map ⟨Subtype.val,_⟩
(the plain subtype inclusion image of A in V). Via Finset.map_map the three
embeddings compose to the inclusion ↥S → V.

This identifies the observable of correlation_deleteEdges_straddle_eq_inducedGraph
(#2986) with the raw V-vertex observable (e.g. {r,s} for the pair), supplying the
observable match for the numeric per-stage increment. Together with
deleteEdges_filter_edgeFinset_eq (#2987) and correlation_congr_all (#2986), the
remaining gap is only discharging the ball-boundary hypotheses for the
straddle-edge finset.

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: numeric per-stage correlation increment (Part of #2965)

* feat: numeric per-stage correlation increment (Phase A)

Add correlation_pair_sub_inducedGraph_le_derivBound (new PerStageIncrement.lean):
for r,s ∈ S, r≠s, ferromagnetic, h=0, and r,s not on any cut (straddle) edge,

  correlation G p {r,s} − correlation (inducedGraph G S) p {⟨r,_⟩,⟨s,_⟩}
    ≤ derivBound G (G.edgeFinset.filter straddle) p r s.

The full-model pair correlation exceeds the isolated induced-subgraph pair
correlation by at most the ball-boundary derivBound over the cut edges.

Composes the ball-boundary bond-deletion increment
correlation_sub_deleteEdges_le_derivBound (#2974) with the component-factorization
bridge correlation_deleteEdges_straddle_eq_inducedGraph (#2986), via
deleteEdges_filter_edgeFinset_eq (#2987) + correlation_congr_all +
triple_map_subtypeUnivEquiv_eq (#2988). The straddle predicate is @[reducible]
(to match the inline straddle set of the component lemmas under unification) and
the graph/observable bridge is a separate lemma (correlation_deleteEdges_filter_pair_eq)
to keep elaboration within the heartbeat budget.

Part of #2965

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

* docs: fix stale 'not yet formalized' notes per codex (#2989 formalizes the composition)

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