Skip to content

[lean,#14773] lean_game_defs_ext : Phase 2 (Mathlib-dep-like), pas Phase 1 — diagnostic first-hand c.767 #17295

Description

@jsboige

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)

  1. 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.
  2. Tactique 2 : si Tactique 1 échoue, ajouter Decidable (p ∧ q) explicite via instDecidableAnd ou réécrire en And.intro (by decide) (by decide).
  3. 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

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

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions