Diagnostic first-hand c.767 (lane myia-po-2023:CoursIA-2)
Suite à claim #[CLAIMED] c.767 paths MyIA.AI.Notebooks/GameTheory/lean_game_defs_ext/** pour sous-grain EPIC #14773, vérification lake build v4.33.0 échoue : lean_game_defs_ext n'est PAS un lake Phase 1 core-only zero-dep simple.
Constat first-hand
- Toolchain cible : bump
leanprover/lean4:v4.32.1 -> v4.33.0 attempted.
lake build v4.33.0 : 24/28 modules compile, 4 échecs :
Bayesian.InfoGames (failed to synthesize Decidable)
Bayesian.InfoGames_en (idem, mirror i18n)
Bayesian.Reputation (ligne 107, theorem gNoRep_restriction := by decide)
Bayesian.Reputation_en (ligne 125, mirror i18n)
- Erreur type :
failed to synthesize Decidable (∀ (a1 a2 : Fin 4), gNoRep.u1 ⟨0, ⋯⟩ ⟨0, ⋯⟩ a1 a2 = gRep.u1 ⟨0, ⋯⟩ ⟨0, ⋯⟩ a1 a2 ∧ ...) — régression v4.33.0 sur la synthèse Decidable d'une conjonction avec Fin 4 × Int × BayesGame2.
lake-manifest.json packages=[] : confirme zero-dep manifeste, mais les preuves elles-mêmes utilisent des features Lean/Mathlib (Fin instances, Int arithmetic) qui ont changé entre v4.32.1 et v4.33.0.
distinct_code_sorry baseline : 0/0/0 sur 26 fichiers (pas de sorry antérieur, donc la régression ne peut pas se rédire à un sorry pré-existant).
- Aucun fix tenté sur la preuve — le rollback est complet et la branche
feature/14773-lean-game-defs-ext-4.33 a été supprimée (worktree clean).
Pourquoi ce n'est PAS Phase 1 core-only
Le critère Phase 1 (cf PR #17294 lean_game_defs, c.766) est : lake packages=[] ET lake build v4.33.0 SUCCESS trivial (sans adaptation). lean_game_defs_ext remplit le premier critère mais pas le second — il a 2 preuves by decide non triviales (Reputation.lean:107 + Reputation_en.lean:125) qui dépendent de la synthèse Decidable v4.32.1.
Classification
lean_game_defs_ext est Phase 2 (Mathlib-dep-like), pas Phase 1. Ses preuves utilisent des features Lean 4 qui ont évolué v4.32→v4.33.
Plan d'adaptation (Tell c.1086 §B strict — 3 tactiques avant suppression)
- Tactique 1 (à tester en premier) : décomposer
:= by decide en := by refine ⟨?_, ?_⟩ <;> decide ou := by cases a1 <;> cases a2 <;> decide — voir si la granularité aide la synthèse Decidable.
- Tactique 2 : si Tactique 1 échoue, ajouter
Decidable (p ∧ q) explicite via instDecidableAnd ou réécrire en And.intro (by decide) (by decide).
- Tactique 3 : si Tactique 2 échoue, réécrire la preuve en
decide + simp ou en expansion manuelle (intro a1 a2; show ... ; decide).
Ces 3 tactiques doivent être tentées par une lane volontaire avant toute décision de régression acceptée (et la PR de régression acceptée nécessiterait un sign-off user — Tell c.1086 §B protocole 4 étapes).
Cycle c.767 (lane po-2023)
- Claim posé puis levé (worktree supprimé) après diagnostic.
- Pas de PR livrée (Tell c.G.2 ★★★★ : pas de fake « DONE »).
- Prochain candidat Phase 1 c.767+ : aucun autre lake zero-dep + v4.32.1 dans GameTheory (autres lakes = Mathlib-dep).
Demande coordinateur
Liens
Diagnostic first-hand c.767 (lane myia-po-2023:CoursIA-2)
Suite à claim #[CLAIMED] c.767 paths
MyIA.AI.Notebooks/GameTheory/lean_game_defs_ext/**pour sous-grain EPIC #14773, vérification lake build v4.33.0 échoue :lean_game_defs_extn'est PAS un lake Phase 1 core-only zero-dep simple.Constat first-hand
leanprover/lean4:v4.32.1->v4.33.0attempted.lake buildv4.33.0 : 24/28 modules compile, 4 échecs :Bayesian.InfoGames(failed to synthesizeDecidable)Bayesian.InfoGames_en(idem, mirror i18n)Bayesian.Reputation(ligne 107,theorem gNoRep_restriction := by decide)Bayesian.Reputation_en(ligne 125, mirror i18n)failed to synthesize Decidable (∀ (a1 a2 : Fin 4), gNoRep.u1 ⟨0, ⋯⟩ ⟨0, ⋯⟩ a1 a2 = gRep.u1 ⟨0, ⋯⟩ ⟨0, ⋯⟩ a1 a2 ∧ ...)— régression v4.33.0 sur la synthèse Decidable d'une conjonction avecFin 4×Int×BayesGame2.lake-manifest.jsonpackages=[] : confirme zero-dep manifeste, mais les preuves elles-mêmes utilisent des features Lean/Mathlib (Fin instances, Int arithmetic) qui ont changé entre v4.32.1 et v4.33.0.distinct_code_sorrybaseline : 0/0/0 sur 26 fichiers (pas de sorry antérieur, donc la régression ne peut pas se rédire à un sorry pré-existant).feature/14773-lean-game-defs-ext-4.33a été supprimée (worktree clean).Pourquoi ce n'est PAS Phase 1 core-only
Le critère Phase 1 (cf PR #17294 lean_game_defs, c.766) est : lake
packages=[]ET lake buildv4.33.0SUCCESS trivial (sans adaptation).lean_game_defs_extremplit le premier critère mais pas le second — il a 2 preuvesby decidenon triviales (Reputation.lean:107+Reputation_en.lean:125) qui dépendent de la synthèseDecidablev4.32.1.Classification
lean_game_defs_extest Phase 2 (Mathlib-dep-like), pas Phase 1. Ses preuves utilisent des features Lean 4 qui ont évolué v4.32→v4.33.Plan d'adaptation (Tell c.1086 §B strict — 3 tactiques avant suppression)
:= by decideen:= by refine ⟨?_, ?_⟩ <;> decideou:= by cases a1 <;> cases a2 <;> decide— voir si la granularité aide la synthèse Decidable.Decidable (p ∧ q)explicite viainstDecidableAndou réécrire enAnd.intro (by decide) (by decide).decide + simpou en expansion manuelle (intro a1 a2; show ... ; decide).Ces 3 tactiques doivent être tentées par une lane volontaire avant toute décision de régression acceptée (et la PR de régression acceptée nécessiterait un sign-off user — Tell c.1086 §B protocole 4 étapes).
Cycle c.767 (lane po-2023)
Demande coordinateur
Liens