Skip to content

refactor dedup: mayerExpansionTerm_eq_zero_of_no_polymers #4557

Description

@phasetr

Duplicate theorem dedup: mayerExpansionTerm_eq_zero_of_no_polymers

Background

Following refactor campaign cycles 1-7 (PR #4536#4554, cycles completed 2026-07-17, main=7447d9e1),
umbrella-detached module wiring (cycle 7, #4553) exposed a genuine duplicate declaration during build:
mayerExpansionTerm_eq_zero_of_no_polymers exists in two locations.

Duplicate locations

  • MayerCore (weaker, n≥1): IsingModel/ClusterExpansion/MayerCore/Truncations.lean:84
  • CycleSeven (general, supersedes): IsingModel/ClusterExpansion/StrictPositivity/CycleSeven.lean:47

The CycleSeven version is reachable and general; the MayerCore version is detached and restricted.

User decision (2026-07-17)

Delete one twin, wire survivor into umbrella. Survivor selection (which theorem to keep) is TBD pending dev-design independent judgment.

Acceptance criteria

  • Lake build: zero warnings
  • audit_gate.py V1–V3: all PASS
  • #print axioms: [propext, Classical.choice, Quot.sound] only (axiom-free)
  • No sorry / admit / native_decide
  • Survivor theorem referenced from single location (no duplicate paths)

Authorization basis

Gate (a) explicit user instruction (refactor campaign cycle 8, 2026-07-17).
See handoff: .self-local/reports/handoff-session-refactor-2026-07-17.md § "Open user-decision items" item 1.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions