Repository navigation
feat(lean,#17845): brique k1.3 — opérateur overlap + identités de base (stack sur #19058) - #19060
Conversation
|
Cette PR depasse le seuil de couverture review (par defaut 300 additions) et n'a recu aucune review -- ni bot, ni humaine. Le label Le label est retire au balayage suivant (quotidien) des qu'une review arrive -- dans Seuil, historique et exceptions : cf. |
Module jumeau FR/EN Discrepancy/Komlos/Overlap(.+_en).lean (i18n #4980): overlap (masse commune, Dahia mass (P inf Q) transpose au cadre Finset), overlap_comm, overlap_self, overlap_nonneg, overlap_mono, overlap_le_sum_left/right, sum_le_overlap (mass_le_overlap chez Dahia), min_eq_half_add_sub_abs (brique de l'identite pivot). Identite pivot overlap = 1 - tvDist, overlap_tr, Claim 3.2, split_tr reportes a k1.4. Stack sur feature/komlos-k12-split (PR #19058) : merger k1.2 d'abord. lake build EXIT=0 (8708 jobs, 0 error, 0 warning) via lean_exec #15666 count_code_sorry: 0 -> 0 | check_i18n_siblings: 7/7 OK, 0 drift Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
ced1306 to
5a6c67d
Compare
|
Conflit résolu — rebase de la pile Komlos (changement de tête : Cause : le squash-merge de #19058 (k1.2, Fix :
Conséquences pour le dossier : la tête a changé — tout dossier |
|
[ADJOINT PREFLIGHT] Notes pour la lecture coordinator (reponses nominatives au dispatch c1406) :
— dossier myia-po-2027:CoursIA-2, dispatch ai-01 c1406 (lot n°2). |
Grain: DEEP/lean — lane myia-po-2025:CoursIA — prev: DEEP/lean #19058
Objet
Brique k1.3 de l'EPIC Komlos (#17845) : opérateur de recouvrement
overlap— la masse commune de deux fonctions pondérées, quantité que la preuve élémentaire de Karingula–Lovett (arXiv:2609.20979) fait passer dePà sa translate puis contrôle à travers la scissionsplit(k1.2). Module jumeau FR/ENDiscrepancy/Komlos/Overlap.lean+Overlap_en.lean(convention i18n #4980).Contenu
overlap P Q S = ∑_{x∈S} min (P x) (Q x)— leKomlos.overlap P Q = mass (P ⊓ Q)de Dahia (gdahia/Komlos, Apache-2.0, copyright conservé en header) transposé au cadre Finset explicite du lake : l'infimum de Finsupp devient leminponctuel, le support devient un argument.overlap_comm,overlap_self(= la masse),overlap_nonneg,overlap_mono,overlap_le_sum_left/right(domination par chaque masse),sum_le_overlap(mass_le_overlapchez Dahia — toute masse partagée est majorée),min_eq_half_add_sub_abs(min a b = ½ (a + b − |a − b|)).overlap P (P ∘ (· + u)) = 1 − Δ(P, u)sous masse 1 et invariance du support (exigesum_translate_imagede k1.2 — d'où la stack — et la convention forward deShiftDistance) ;overlap_tr; Claim 3.2 (Δ(T_v P, (u,0)) ≤ Δ(P,u)) ;split_tr.ShiftDistanceouSplitdans les imports (Discrepancy.Basicseul) : la brique se situe en amont de l'identité pivot ; c'est le découpage FORMAL_STATUS (conflit de lignes adjacentes évité par la stack, d'où le choix de baser sur k1.2).Preuves (B Lean)
lake buildEXIT=0 : les deux modulesDiscrepancy.Komlos.Overlap+Discrepancy.Komlos.Overlap_enbuilt — « Build completed successfully (8708 jobs) », 0 error, 0 warning — via l'organelean_exec(Lean: organe canonique d'exécution avec budgets machine-wide et confinement des processus #15666), env ext4 WSL (toolchain v4.33.0, Mathlib pindb584cd6), au premier essai.count_code_sorry.py --json --lake MyIA.AI.Notebooks/Search/discrepancy_lean→distinct_code_sorry0 → 0 (lake à 22 fichiers, aucun sorry introduit).lean-axiomn'est pas câblé sur ce lake (cas [Lean][CI] Critere B.3 « Proof integrity (axiom check) » : outillage existant non cable en CI + 2 defauts bloquants #8677, vérifié sur feat(lean,#17845): brique k1.2 — opérateur de scission T_v (Def 3.1) + identités #19058 :grep -ln 'lean-axiom' .github/workflows/*.ymlliste 13 lakes,discrepancy_leanabsent). CI couvrante :lean-ci-matrix.yml.check_i18n_siblings.py→ 7/7 pairs OK (dont la nouvelle paire Overlap), 0 drift, 0 orphan, byte-identiques hors docstrings.Diagnostic dérive
N/A — nouveau module Lean (
*.lean), pas de notebook.See #17845 — brique k1.3 ; l'EPIC reste ouverte (k1.4 : identité pivot + Claim 3.2 ; k2 : Lemma 1.4).
🤖 Generated with Claude Code