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
- 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.
- 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.
- 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
Constat
Au pin
MyIntelligenceAgency/ModalLogic@71968137(#17017) et sous Lean 4.33.1, le moduleModalLogicArchive.Modal.Tableaune compile pas. Mesure du 2026-09-23 dans le lakeformal_logic_lean, viascripts/lean/lean_exec.py:Portée
Tous les modules
ModalLogicArchive/Modal/Kripke/Logic/*en dépendent.Kripke/Logic/KimporteKripke.Filtration, qui atteintKripke.Completenesspar les modulesAxiom*, etCompletenessimporteTableau. Deux familles de résultats sont donc inutilisables depuis CoursIA :FrameClass.*;⪱entre systèmes (Modal.KT ⪱ Modal.S4, etc.).Ce n'est pas une régression du fork. Son
lakefile.tomldéclaredefaultTargets = ["Fin74", "Neighborhood"], et sa CI (lake build) ne construit donc pas l'archive. Les 437 fichiers de ces deux cibles ne mentionnent jamaisModalLogicArchive: 0 occurrence, avec un contrôle positif de 1927 importsNeighborhoodet 26 importsFin74bien détectés. Non mesuré : l'état deTableausous 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, branchefeature/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 deKripke.Hilbert, qui compile. Seules les complétudes restent hors d'atteinte :S4complet pour les cadres réflexifs et transitifs, par exemple. Elles ne peuvent pas être prouvées localement à coût raisonnable.Ce qui est attendu
Tableau.leansous 4.33.1 dans le fork, par une PR surMyIntelligenceAgency/ModalLogic. Les erreurssplitsont typiques d'un changement de la forme desmatchcompilés entre deux versions.ModalLogicArchive.Modal.Kripke.Logic.S5(ou l'agrégat de l'archive) à la CI du fork, sans forcément l'ajouter auxdefaultTargets. Sans cela, la couche peut casser de nouveau sans que rien ne rougisse.formal_logic_lean.ModalZoopourra ensuite énoncer les complétudes.Critère de fermeture :
lake build ModalLogicArchive.Modal.Kripke.Logic.S5passe dansformal_logic_leanau pin bumpé.See #15066
See #17017