Skip to content

fix: port to Lean v4.33.1 (toolchain, manifest, tactic adaptations) - #3

Merged
jsboige merged 1 commit into
mainfrom
port/17522-toolchain-4-33-1
Oct 4, 2026
Merged

jsboige merged 1 commit into
mainfrom
port/17522-toolchain-4-33-1

Conversation

@jsboige

@jsboige jsboige commented Oct 4, 2026

Copy link
Copy Markdown

Grain: DEEP/lean — lane myia-po-2024:CoursIA-2 — prev: MED/guard #18970

Port to Lean v4.33.1 (toolchain, manifest, tactic adaptations)

Moves the fork to the same toolchain as its consumer formal_logic_lean (CoursIA #17522, option 1, coordinator arbitration 2026-10-04 10:08Z), so the CI of this fork proves the build under the toolchain the consumer actually pins.

  • lean-toolchain: v4.31.0 -> v4.33.1
  • lake-manifest.json: same pins as the consumer (mathlib 0df444a3, Foundation 81810b9f, batteries 4488d40d)

Lean v4.33 breaking changes addressed (all measured on this port)

File Change
Vorspiel/AdjunctiveSet.lean explicit Subset field value — v4.33 rejects the self-referential synthesized instance (inferInstance loops back into the instance being defined)
Logic/Semantics.lean:219 explicit application in the reverse iff direction
Modal/LogicSymbol.lean:347,430 dsimp -> simp — dsimp no longer fires closing simp lemmas
Neighborhood/Semantics/Completeness.lean:264 term-mode .trans ⟨...⟩ proof — rw/unfold are fragile on abbrev+lambda under implicit transparency (the lambda elaborates to the unfolded → Prop form, defeq but not canonical)
Neighborhood/Semantics/Filtration.lean (5 sites) open Finset membership by lemma application (Finset.mem_filter.mp) — rintro/rcases cannot whnf through Quot.lift on a Finset filter, and simp/rw with Finset.mem_filter make no progress on the non-canonical form
Neighborhood/Semantics/AxiomN.lean direct ContainsUnit instance on the abbrev head — v4.33 instance search no longer unfolds intermediateRelativeMaximalCanonicalModel (an abbrev of relativeBasicCanonicalModel) to match the general instance

Build proofs (under v4.33.1, at the consumer pins)

  • lake build (default targets: Fin74 + Neighborhood): SUCCESS, 1230 jobs
  • lake build ModalLogicArchive.Modal.Kripke.Logic.S5: SUCCESS, 1081 jobs
  • sorry count on all touched files: 0

Relation to other work

Merge criterion (coordinator): the CI build job of this PR must run under v4.33.1 — that is the point of the toolchain bump.

See jsboige/CoursIA#17522

🤖 Generated with Claude Code

- lean-toolchain + lake-manifest.json: v4.31.0 -> v4.33.1, same pins as
  consumer formal_logic_lean (mathlib 0df444a3, Foundation 81810b9f,
  batteries 4488d40d)
- AdjunctiveSet: explicit Subset field value (v4.33 rejects the
  self-referential synthesized instance)
- Logic/Semantics:219: explicit application in the reverse iff direction
- Modal/LogicSymbol:347,430: dsimp -> simp (dsimp no longer fires
  closing simp lemmas)
- Neighborhood/Semantics/Completeness:264: term-mode .trans proof
  (rw/unfold fragile on abbrev+lambda under implicit transparency)
- Neighborhood/Semantics/Filtration: open Finset membership by lemma
  application (Finset.mem_filter) instead of rcases whnf
- Neighborhood/Semantics/AxiomN: direct ContainsUnit instance on the
  abbrev head (v4.33 instance search no longer unfolds
  intermediateRelativeMaximalCanonicalModel to match the general
  relativeBasicCanonicalModel instance)

lake build: SUCCESS (1230 jobs) under v4.33.1
lake build ModalLogicArchive.Modal.Kripke.Logic.S5: SUCCESS (1081 jobs)

Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
@jsboige
jsboige merged commit e659872 into main Oct 4, 2026
4 checks passed
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