Skip to content

ModalLogic@71968137 : ModalLogicArchive.Modal.Tableau ne compile pas sous Lean 4.33.1 — Kripke/Logic/* inutilisable #17522

Description

@jsboige

Constat

Au pin MyIntelligenceAgency/ModalLogic@71968137 (#17017) et sous Lean 4.33.1, le module ModalLogicArchive.Modal.Tableau ne compile pas. Mesure du 2026-09-23 dans le lake formal_logic_lean, via scripts/lean/lean_exec.py :

$ lake build ModalLogicArchive.Modal.Tableau
error: ModalLogicArchive/Modal/Tableau.lean:47:2: unsolved goals
error: ModalLogicArchive/Modal/Tableau.lean:229:2: Tactic `split` failed: Could not split an `if` or `match` expression in the goal
error: ModalLogicArchive/Modal/Tableau.lean:245:2: Tactic `split` failed: ...
error: ModalLogicArchive/Modal/Tableau.lean:260:6: Tactic `split` failed: ...
error: ModalLogicArchive/Modal/Tableau.lean:269:6: Tactic `split` failed: ...
error: ModalLogicArchive/Modal/Tableau.lean:383:4: invalid 'calc' step, failed to synthesize `Trans` instance
[lean_exec] child_failed exit=1

Portée

Tous les modules ModalLogicArchive/Modal/Kripke/Logic/* en dépendent. Kripke/Logic/K importe Kripke.Filtration, qui atteint Kripke.Completeness par les modules Axiom*, et Completeness importe Tableau. Deux familles de résultats sont donc inutilisables depuis CoursIA :

  • les classes de cadres FrameClass.* ;
  • les instances de correction et de complétude par système, avec les instances ⪱ entre systèmes (Modal.KT ⪱ Modal.S4, etc.).

Ce n'est pas une régression du fork. Son lakefile.toml déclare defaultTargets = ["Fin74", "Neighborhood"], et sa CI (lake build) ne construit donc pas l'archive. Les 437 fichiers de ces deux cibles ne mentionnent jamais ModalLogicArchive : 0 occurrence, avec un contrôle positif de 1927 imports Neighborhood et 26 imports Fin74 bien détectés. Non mesuré : l'état de Tableau sous la toolchain propre du fork (lean-toolchain : v4.31.0).

Ce qui en dépend côté CoursIA

La Tranche G de #15066 (FormalLogic.ModalZoo, branche feature/15066-modal-zoo, PR ouverte dès qu’un créneau WIP se libère) contourne cette couche par le haut. Elle prouve localement les cinq correspondances cadre ↦ schéma et applique la correction de Kripke de Kripke.Hilbert, qui compile. Seules les complétudes restent hors d'atteinte : S4 complet pour les cadres réflexifs et transitifs, par exemple. Elles ne peuvent pas être prouvées localement à coût raisonnable.

Ce qui est attendu

  1. Réparer Tableau.lean sous 4.33.1 dans le fork, par une PR sur MyIntelligenceAgency/ModalLogic. Les erreurs split sont typiques d'un changement de la forme des match compilés entre deux versions.
  2. Ajouter ModalLogicArchive.Modal.Kripke.Logic.S5 (ou l'agrégat de l'archive) à la CI du fork, sans forcément l'ajouter aux defaultTargets. Sans cela, la couche peut casser de nouveau sans que rien ne rougisse.
  3. Bumper le pin dans formal_logic_lean. ModalZoo pourra ensuite énoncer les complétudes.

Critère de fermeture : lake build ModalLogicArchive.Modal.Kripke.Logic.S5 passe dans formal_logic_lean au pin bumpé.

See #15066
See #17017

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    leanLean 4 formalization (proofs, ports, theorem mining)

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions