Skip to content

feat: mayer expansion term — filter to connected G(ω) (§18.4 sharpening, Issue #1499) - #1521

Merged
phasetr merged 2 commits into
mainfrom
feat/mayer-expansion-term-filter-connected
May 2, 2026
Merged

feat: mayer expansion term — filter to connected G(ω) (§18.4 sharpening, Issue #1499)#1521
phasetr merged 2 commits into
mainfrom
feat/mayer-expansion-term-filter-connected

Conversation

@phasetr

@phasetr phasetr commented May 2, 2026

Copy link
Copy Markdown
Owner

Part of #1499. Sharpens mayerExpansionTerm by filtering out the disconnected ω contributions (zero by Step 584).

phasetr and others added 2 commits May 3, 2026 03:38
…ng, Issue #1499)

Empty start commit. Sharpening: `mayerExpansionTerm G n t = ∑_{ω with G(ω) connected} ϕ^T(ω) · z(ω)`.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…rpening, Issue #1499)

Add `mayerExpansionTerm_filter_connected`: the n-th Mayer term reduces
to a sum over **cluster sequences** — those `ω : Fin n → polymers`
whose index-side incompatibility graph `polymerSeqIncompatibilityGraph ω`
is `Connected`. Disconnected sequences contribute zero by Step 584
(`ursellCoefficient_eq_zero_of_disconnected`).

This sharpens the Mayer expansion identity to its standard
formulation:
  log Ξ = ∑_{n ≥ 1} ∑_{cluster sequences ω of size n} ϕ^T(ω) · z(t,ω).

Bundled with two specialisations:
- `mayerExpansionTerm_filter_connected_zero`: the n=0 filter is empty
  (the empty sequence's incompatibility graph violates `Nonempty`).
- `mayerExpansionTerm_filter_connected_one`: the n=1 filter equals the
  full `piFinset` (every singleton sequence is trivially connected).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@phasetr
phasetr marked this pull request as ready for review May 2, 2026 18:40
@phasetr
phasetr merged commit f2b8a4c into main May 2, 2026
1 check passed
@phasetr
phasetr deleted the feat/mayer-expansion-term-filter-connected branch May 2, 2026 18:42
phasetr added a commit that referenced this pull request May 2, 2026
…#1499)

Add `mayerPartialSum_filter_connected`: lifts the per-term filter-to-
cluster-sequences identity (PR #1521) to the partial sum
`mayerPartialSum G N t = ∑_{n=0..N} mayerExpansionTerm G n t`.
Each term in the outer sum now ranges only over **cluster
sequences** — those `ω : Fin n → polymers` whose incompatibility
graph is connected.

Direct corollary of `mayerExpansionTerm_filter_connected`.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
phasetr added a commit that referenced this pull request May 2, 2026
…#1499) (#1522)

* feat: mayer partial sum filter-connected form (§18.4 sharpening, Issue #1499)

Empty start. Lifts PR #1521 from per-n term to the partial sum.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* feat: mayer partial sum filter-connected form (§18.4 sharpening, Issue #1499)

Add `mayerPartialSum_filter_connected`: lifts the per-term filter-to-
cluster-sequences identity (PR #1521) to the partial sum
`mayerPartialSum G N t = ∑_{n=0..N} mayerExpansionTerm G n t`.
Each term in the outer sum now ranges only over **cluster
sequences** — those `ω : Fin n → polymers` whose incompatibility
graph is connected.

Direct corollary of `mayerExpansionTerm_filter_connected`.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
phasetr added a commit that referenced this pull request May 3, 2026
) (#1551)

* feat: mayerExpansionTerm n=2 filter-connected ↔ incompatibility (§18.4, Issue #1499)

Empty start.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* feat: G(ω) connected on Fin 2 ↔ pair incompatibility (§18.4 sharpening, Issue #1499)

Add `polymerSeqIncompatibilityGraph_two_connected_iff_incompatible`:
for ω : Fin 2 → polymers, the incompatibility graph is Connected iff
PolymersIncompatible (ω 0) (ω 1).

Provides an explicit characterisation linking the filter-connected
form (PR #1521) to the existing pair Ursell formula (Step 585).
Forward: Connected → Adj 0 1 → incompatibility (via contrapositive
+ no-edges-disconnected on Fin 2). Backward: explicit walk through
the unique edge.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
phasetr added a commit that referenced this pull request May 3, 2026
…1499) (#1552)

* feat: Fin 2 filter connected = filter incompatible (§18.4 sharpening, Issue #1499)

Empty start.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* feat: filter-connected = filter-incompatible on Fin 2 (§18.4 sharpening, Issue #1499)

Add `mayerExpansionTerm_two_filter_connected_eq_incompat`: the
cluster-sequence filter (PR #1521, filter Connected G(ω)) and the
existing pair-incompatibility filter (Step 597) coincide on Fin 2.
Direct corollary of `polymerSeqIncompatibilityGraph_two_connected_iff_incompatible`
(PR #1551) via `Finset.filter_congr`.

Bridges the two natural formulations of the n=2 Mayer term sum
(filter Connected G(ω) vs filter PolymersIncompatible (ω 0) (ω 1)),
making it explicit they are equivalent.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <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