Skip to content

feat(Incompleteness): discharge the 𝗣𝗔 / π—œπšΊβ‚ Δ₁-definability axioms#9

Closed
gotrevor wants to merge 4 commits into
masterfrom
delta1-v431-pr
Closed

feat(Incompleteness): discharge the 𝗣𝗔 / π—œπšΊβ‚ Δ₁-definability axioms#9
gotrevor wants to merge 4 commits into
masterfrom
delta1-v431-pr

Conversation

@gotrevor

@gotrevor gotrevor commented Jul 3, 2026

Copy link
Copy Markdown
Owner

What

Discharges the two axioms upstream master currently ships in
FirstOrder/Incompleteness/Examples.lean (they rode in via the v4.31 port FormalizedFormalLogic#830):

axiom ISigma1_delta1Definable : π—œπšΊβ‚.Δ₁
axiom PA_delta1Definable       : 𝗣𝗔.Δ₁

Both are now proven (the axiom keyword + attribute [instance] block are removed;
the proofs live in the new InductionSchemeDelta1.lean and are picked up as instances).

A note on review scope

This proof was Claude Code generated, and I (@gotrevor) cannot defend or
validate the ~1400 lines of InductionSchemeDelta1.lean , formally or mathematically.

What I can stand behind is mechanical and checkable:

  • It discharges the exact two axioms already in your tree (Examples.lean), under identical
    signatures
    β€” nothing new is asserted; the axiom keyword is simply replaced by a proof.

So the kernel vouches for internal consistency, but whether the internal Σ₁ recognizer faithfully
captures the induction schema is a mathematical judgment I'd rather leave to your review than assert
myself.

Route

𝗣𝗔 = 𝗣𝗔⁻ βˆͺ InductionScheme β„’β‚’α΅£ Set.univ, π—œπšΊβ‚ = 𝗣𝗔⁻ βˆͺ InductionScheme β„’β‚’α΅£ (Hierarchy 𝚺 1).
𝗣𝗔⁻ is finite (Theory.Δ₁.ofFinite); Theory.Δ₁.add/.ofEq reduce both headlines to the
single obligation (InductionScheme β„’β‚’α΅£ C).Δ₁, established via an internal Σ₁ recognizer.

Port notes

Rebased the pre-FormalizedFormalLogic#794 proof onto current master. Three adjustments vs FormalizedFormalLogic#794's FirstOrder redesign:

  • model satisfaction [V βŠ§β‚˜* π—œπšΊβ‚] β†’ [V↓[β„’β‚’α΅£] ⊧* π—œπšΊβ‚] (language made explicit)
  • re-introduced the SyntacticSemiformula / SyntacticFormula abbreviations (change(FirstOrder): redesign FirstOrderΒ FormalizedFormalLogic/Foundation#794 removed the
    formula-level ones; the term-level SyntacticSemiterm/SyntacticTerm survive) β€” happy to inline
    Semiformula L β„• n instead if you prefer the new convention
  • Function.comp_apply in one simp only (Rew.func now normalises the arg map to ∘)

Verification

  • Axiom-clean:
    #print axioms PA_delta1Definable   β†’ [propext, Classical.choice, Quot.sound]
    #print axioms ISigma1_delta1Definable β†’ [propext, Classical.choice, Quot.sound]
    

Audit surface

The load-bearing statements are the two axiom signatures being discharged, in Examples.lean.
Supersedes the fork-internal #6 (pre-FormalizedFormalLogic#794 base).

πŸ€– Generated with Claude Code

Upstream (FormalizedFormalLogic#830) ships `𝗣𝗔.Δ₁` and `π—œπšΊβ‚.Δ₁` as unproven `axiom`s in
`FirstOrder/Incompleteness/Examples.lean`. This discharges both.

New `InductionSchemeDelta1.lean` establishes `(InductionScheme β„’β‚’α΅£ C).Δ₁`
(the schema's Δ₁-definability via an internal Σ₁ recognizer); `Theory.Δ₁.add`
/`.ofEq` assemble the two headline instances from it plus finite `𝗣𝗔⁻.Δ₁`.

Ported onto current upstream master (post-FormalizedFormalLogic#794 FirstOrder redesign). Three
adjustments were needed vs the pre-FormalizedFormalLogic#794 proof:
  * model satisfaction `[V βŠ§β‚˜* π—œπšΊβ‚]` β†’ `[V↓[β„’β‚’α΅£] ⊧* π—œπšΊβ‚]` (language made explicit)
  * re-introduced the `SyntacticSemiformula`/`SyntacticFormula` abbreviations
    (FormalizedFormalLogic#794 removed the formula-level ones; the term-level `SyntacticSemiterm`
    /`SyntacticTerm` survive in `Syntax/Predicate/Term.lean`)
  * `Function.comp_apply` in one `simp only` (`Rew.func` now normalises to `∘`)

Verified axiom-clean on current upstream:
    #print axioms PA_delta1Definable / ISigma1_delta1Definable
      β†’ [propext, Classical.choice, Quot.sound]

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
gotrevor added 3 commits July 2, 2026 20:50
Codex's warning-cleanup commit also touched 5 files unrelated to the Δ₁
discharge. Those are pre-existing upstream mathlib/Std deprecation renames β€”
reverted here to keep this PR focused on the two axioms; the deprecation fixes
move to their own PR.
@gotrevor

gotrevor commented Jul 3, 2026

Copy link
Copy Markdown
Owner Author

Submitted upstream: FormalizedFormalLogic#833

@gotrevor gotrevor closed this Jul 3, 2026
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