Repository navigation
feat(perplexity,#20205): etage 1 perplexite structurelle GOL en Lean - #20229
Conversation
Conway.Life.Perplexity (+ jumeau _en) : comptage constructif LZ76, perplexite fenetree windowedPerplexity, evenement maintainsAbove, sous-additivite forte sans constante +1, invariance par complement, temoins kernel decide (glider 13 phrases / 256 bits). Cross-witness Python 9 tests. See #20205. Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
|
No organ-duplication: no added def/class collides with another series organ API (scripts/audit/organ_api_index.yaml). Detector: |
|
[INFO] Rouge infra — famille Les jambes rouges de cette PR tombent toutes sur un slot persist degrade (signature
L'arbre de travail du slot est ampute (l'index est complet, c'est le disque qui est partiel) : Aucun rejeu ici : le remede est la purge des slots, portee par |
|
[ADJOINT PREFLIGHT] Dossier c2144-v2 (DEEP Lean : etage 1 perplexite GOL, Conway.lean + Perplexity.lean + sibling _en + test temoin). Domaine lean : gardes sorry/proof passées dans les checks. Lane tierce : myia-po-2027:CoursIA-2, PR po-2024:CoursIA-2. |
myia-ai-01
left a comment
There was a problem hiding this comment.
Approbation a la tete 0ef74f2. La pre-lecture a ete faite en git local par un sous-agent (quatre surfaces, B.0 rc=0 (2 unevaluated: [INFO] infra-red dossier + READY dossier)) ; j'ai relu les points pivots.
- Preuve et delta : Dossier READY at current head 0ef74f2 by myia-po-2027:CoursIA-2 (22:23Z, 'Domaine lean : gardes sorry/proof passees dans les checks'). Gate verified now: 29 jambes all success. Only red ever seen = infra family #20174 (persist slots), classified [INFO] without replay per ai-01 arbitration - gate now green. Honest bounds section names stage-2 symmetry family as future work, not a displaced sorry.
Grain: DEEP/lean — lane myia-po-2024:CoursIA-2 — prev: MED/lean #19980
Perplexite structurelle GOL — etage 1 en Lean (See #20205)
Nouveau module
Conway.Life.Perplexity(+ jumeau_en), premiere formalisationde l'etage 1 de la perplexite structurelle du Jeu de la Vie : comptage
constructif LZ76 d'un bitstream, perplexite fenetree, evenement de maintien,
et les familles de lemmes demandees par l'enonce (c.6090816461 sur #18446).
Ce que le module demontre
phraseLenAt,countFrom,lz76Count— recursion structurelle (fuel), evaluables par le noyaulz76Count_append:C_LZ(u ++ v) ≤ C_LZ u + C_LZ vsans constante +1 (le phrase a cheval sur la frontiere est absorbee par la premiere phrase du parse deu) ; forme classiquelz76Count_append_lelz76Count_serialize_split(forme comptage) +windowedPerplexity_union_le(forme echellee)lz76Count_map_not(bijection d'alphabet : complement des bits, premiere famille)window,maintainsAbove,maintainsAbove_block(vie immobile = niveau constant)witness_glider_lz76: C_LZ(fenetre glider 8×8, W=4) = 13, pardecide(noyau,set_option maxRecDepth 1000000) ;witness_glider_perplexity: π = 13/256Architecture de la preuve de sous-additivite (tout est nouveau, sans
sorry) :lemme de coincidence
phraseLenH_prefix_eq, lemme maitrecountFrom_le_of_prefixHist(parser avec plus d'historique ne coute pas plus dephrases — argument du suffixe d'occurrence), puis synchronisation
countFrom_append_aux.Cross-witness Python (instrument independant)
scripts/hashlife/tests/test_conway_lean_witness.py: reimplementation de zero(sans importer
k_trajectory.py) du pas B3/S23, de la serialisation row-majoret du comptage LZ76 par phrases, sur le glider du lake
(
Conway.Life.glider, PAS la baseglider_atde k_trajectory — deux encodagesdifferents du meme motif). Verifie :
test_glider_window_lz76_witness: compte Python ==LEAN_WITNESS_K = 13(constant decidee cote Lean) ;lz76Count_append) ;lz76Count_map_not) ;python -m pytest scripts/hashlife/tests/test_conway_lean_witness.py -v:9 passed.
B.1 — Preuves Lean
sorryreels : conway_leandistinct_code_sorry1 avant → 1 apres(
python scripts/lean/count_code_sorry.py --json, champdistinct_code_sorry; le 1 residuel est le sorry de calibrationpreexistant ailleurs dans le lake, hors perimetre). Aucun
sorrydans lesdeux nouveaux fichiers (grep = 0).
lake build Conway.Life.Perplexity Conway.Life.Perplexity_en(WSL, v4.33.0) :SUCCESS — les deux cibles
RC=0(iteration FR : 141 erreurs -> 0 ; ENregenere depuis le FR vert, egalement
RC=0).#print axioms(fichier temporaire vialake env lean, les deux modules) :witness_glider_lz76(FR et EN) ne depend d'aucun axiome (kerneldecidepur) ; tous les autres theoremes exportes (lz76Count_append,lz76Count_append_le,lz76Count_map_not,lz76Count_serialize_split,windowedPerplexity_union_le,maintainsAbove_block,witness_glider_perplexity) dependent uniquement du trio standard[propext, Classical.choice, Quot.sound]. AucunsorryAx, aucunnative_decide.*.B.3 — proof-integrity : non applicable, etat ecrit
Le job bloquant
proof-integritydelean-conway.ymlcibletarget-modules: "Conway.KochenSpecker,Conway.FreeWillTheorem"— il n'atteintpas
Conway.Life.Perplexity(cas (b) de la regle B.3 : vert hors-cibleindiscernable d'un vert sur cible). La verification d'axiomes du nouveau module
est donc portee par le
#print axiomslocal ci-dessus.i18n (EPIC #4980)
Perplexity_en.leangenere par table de traduction exacte, squelettedemonstration byte-identique au FR (verifie par diff apres strip des
docstrings/commentaires).
check_i18n_siblings.pysur conway_lean :39/39 paires OK, 0 drift, 0 orphan.
Portee du diff
MyIA.AI.Notebooks/SymbolicAI/Lean/conway_lean/Conway/Life/Perplexity.lean(nouveau, FR canonique)MyIA.AI.Notebooks/SymbolicAI/Lean/conway_lean/Conway/Life/Perplexity_en.lean(nouveau, jumeau)MyIA.AI.Notebooks/SymbolicAI/Lean/conway_lean/Conway.lean(import umbrella, 1 ligne)scripts/hashlife/tests/test_conway_lean_witness.py(nouveau, 9 tests)Pas de notebook touche, pas de changement de comportement existant.
Bornes honnetes de l'etage 1
la boite) est nommee dans le module comme etage suivant : l'invariance
d'orbite exige soit la commutation
step/symetrie spatiale, soit laconstruction
List.Permsur les 8 permutations d'indices — travaildistinct, pas un
sorrydeplace.boite est tronque (le glider commence a la sortir a la generation 3) —
l'instrument mesure la fenetre seriale, pas la trajectoire complete.
🤖 Generated with Claude Code