Repository navigation
Add: Grothendieck Partie 81 - la flasquite descend aux retractes (#2159) - #16990
Conversation
isFlasqueSieves_of_retract: one-sided generalization of invariance under isomorphism (God58 II.3.1) - a retract of a flasque presheaf is flasque, no choice involved. Alias with roles exchanged, iso corollary re-derived in one line, abelian bridge via right whiskering by forget. FR module + EN sibling (byte-identical code), aggregator imports, READMEs. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Path-collision (organ #13359/#13615)Cette PR #16990 (
Le verdict terminal (#15578) signale qu'un cote de la paire est deja sur |
…imports 80+81 conservees des deux cotes Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…0+P81 fusionnes) Apres merge origin/main (P80 FlasqueStability, #16980 merge e66e2c3) : arbre = 80 leaf FR + 80 siblings _en + 1 umbrella. 12 patches a ancre exacte (6 par README), numeros de Partie intacts. Verifie : table 80/80 des deux cotes, 0 manquant, 0 orphelin. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
Réserve adjoint levée ([DM adjoint-16990-blocked-20260920], audit head Diagnostic : P80 #16980 a été mergée à 17:42:51Z ( Réparation :
Vérification post-fix (relancée sur Note ordre de merge : main post-P80 porte encore les comptes stalles 78 — c'est cette PR qui les remplace par l'état cohérent 80 ; le drift n'est pas masqué, il est réparé ici. |
|
[ADJOINT PREFLIGHT] |
Grain: DEEP/lean — lane myia-po-2025:CoursIA — prev: DEEP/lean #16980
Grothendieck Partie 81 — la flasquité descend aux rétractes
Suite du fil God58 II.3 (P79
IsFlasqueSieves→ P80 stabilités iso/produits → P81 rétractes). See #2159 (Epic #1646, Phase 2).Contenu
isFlasqueSieves_of_retract(théorème principal) : siQest un rétracte deP(e : P ⟶ Q,s : Q ⟶ P,s ≫ e = 𝟙 Q) etPflasque, alorsQflasque. Généralisation unilatérale de l'invariance par isomorphisme (God58 II.3.1 = cas symétrique) : une seule composition égale à l'identité suffit. Preuve : la famille se pousse par la sections(compatibilité par naturalité), s'amalgame dansP, revient pare; la conclusion est(s ≫ e).app z = zappliquée parcongrFun (congrArg (fun φ => φ.app _) h).isFlasqueSieves_of_retract': rôles échangés (e ≫ s = 𝟙 P:Prétracte deQ) — le même théorème renommé, les deux sens d'une split pair nommés pour la consommation aval.isFlasqueSieves_of_iso': l'invariance par iso redéduite en une ligne du rétracte (e.inv_hom_id) — doublon délibéré du th1 de la Partie 80 (PR Add: Grothendieck Partie 80 - stabilite de la flasquie (iso, produits, frontiere acyclicite) #16980 en review) : ici il témoigne que le rétracte est la généralisation.isFlasqueSieves_of_retract_addCommGrp: pont abélien — le rétracte se transporte parforget(right whiskering :Functor.whiskerRight, égalité par← Functor.whiskerRight_comp, h, Functor.whiskerRight_id'), donc la flasquité lue à traversforgetdescend aux rétractes de préfaisceauxAddCommGrpCat.Lecture conceptuelle (prolonge P80) : ce qui se transporte sans choix, ce n'est pas seulement l'isomorphisme — c'est tout rétracte. La frontière « sans choix vs Zorn » de la P80 est confirmée : un rétracte ne coûte aucun choix, le maillon
flasque ⇒ injectif(God58 II.5.2) en coûte un.Validation (B — Lean)
sorry:python scripts/lean/count_code_sorry.py --json→ grothendieck_leandistinct_code_sorry: 0avant et après (aucunsorryintroduit ; l'instrument, pasgrep).lake build SUCCESS: build WSL complet du lake (copie~/p81-build, packages Mathlib 4.33.0 symlinkés) — rc=0, 4634 jobs, deux passes (itération finale + confirmation incrémentale après le rename des sections du sibling). 4 itérations de preuve (inversions d'orientation≫corrigées,NatTrans.comp_appest le lemme morphismes →congrFun/congrArg,Functor.whiskerRight_id'pour matcher𝟙 G).adjoint-pr16980-b3-a90cd30c) : le body disait a tort << non applicable >>. Verifie firsthand :.github/workflows/lean-grothendieck.ymlappellelean-axiom.ymlavectarget-modules: "*", le check-runproof-integrity / Proof integrity (grothendieck_lean)conclut SUCCESS au head 4fe5a5c (parmi les runs: [('proof-integrity / Proof integrity (grothendieck_lean)', 'completed', 'success')]). Aucunnative_decide/sorryAx/Classical.choice: preuves constructives par reecriture, comptage du point 1 a 0.python scripts/lean/check_i18n_siblings.py .../FlasqueRetract_en.lean→ OK 1/1 pairs byte-identical, 0 drift, 0 orphan (leçon du cycle : les noms desectionrestent byte-identiques entre siblings — corrigé avant commit). Refactor prover : aucun.Notes pour le merge
Grothendieck.lean(entreimport Grothendieck.FlasqueetFppf) et après la ligne 79 des READMEs. Résolution triviale — ordre final :Flasque,FlasqueRetract,FlasqueRetract_en,FlasqueStability,FlasqueStability_en,Fppf; READMEs : ligne 80 (P80) puis ligne 81 (P81). Cette PR est basée surorigin/main(pas un stack) volontairement.check_lane_claim.pyCLEAR, paths explicites)..lean(164 lignes chacun), agrégateur (+2 imports), README FR/EN (+1 ligne chacun).🤖 Generated with Claude Code