Skip to content

PVL: prove all 7 escape-allowlist axioms (DPO x3, f16 bound, NF4 x3) instead of confirming them #4347

Closed as not planned
3 of 3 issues completed

Description

@noahgift

Operator, verbatim, 2026-09-25: "why not prove all"

crates/aprender-contracts-staging/lean/escape-allowlist.yaml (B3 #4317) holds 7 confirmed_by: pending axioms. pv discharge check --strict (EV-9) stays RED until each one is confirmed or removed. This ticket removes them by proof.

decl plan
DPO.sigmoid_bounded prove from Real.exp_pos
NF4.nf4_lut replace the axiom with a concrete def holding the 16 bitsandbytes constants (as rationals of the published f32 literals)
NF4.nf4_lut_monotone / nf4_lut_bounded prove by decide/norm_num over the concrete table (their "Status: proved" comments are false today)
DPO.dpo_gradient_formula prove with Mathlib HasDerivAt
DPO.dpo_loss_zero_at_strong_preference prove with Mathlib Tendsto
CooperativeMatrix.f16_accumulation_error_bound prove under the standard rounding model

Done when:

  • The allowlist holds at most 1 entry (the rounding model).
  • pv discharge check --strict is green, or red only on that 1 entry.
  • The proofs pass the leanchecker re-check.

Base: B3 (the file exists only there). It lands after #4317 merges, the same way as #4244.

Folded sub-tickets (TRIAGE-100, 2026-10-14)

These open sub-tickets were folded here as checklist rows and closed as not planned so the open count stays at or under 100. Reopen one when its work resumes; an open PR for it reopens it.

Activity

  1. added this to the 0.70.0 milestone on Sep 25, 2026
  2. modified the milestones: 0.70.0, 0.70.1 on Sep 26, 2026
  3. added 5 commits that reference this issue on Sep 27, 2026
  4. 2 remaining items

  5. modified the milestones: 0.70.1, 0.71.0 on Oct 4, 2026
  6. modified the milestones: 0.71.0, 0.72.0 on Oct 14, 2026
  7. noahgift commented on Oct 14, 2026

    @noahgift
    ContributorAuthor

    Status of the 7 axioms, read on main @ 8c3b19c8c1 (2026-10-14).

    6 of 7 are proved on main.

    • DPO.lean holds sigmoid_bounded, dpo_loss_zero_at_strong_preference and dpo_gradient_formula as theorems.
    • Quantization/NF4Dequant.lean defines nf4_lut as a concrete table, and nf4_lut_monotone and nf4_lut_bounded are theorems.
    • escape-allowlist.yaml has 0 entries.
    • pv discharge check --strict --no-lake exits 0.
    • The Lean tree has not changed since the leanchecker run of 2026-10-12, which exited 0.

    The 7th was removed, not proved. f16_accumulation_error_bound was in MatMul/CooperativeTiling.lean. That file was deleted with the dead cooperative-matrix GEMM chain (601334e, folded in #4655). The kernel had never been compiled, and the rest of the file proved only rfl tautologies. The proofs that replaced the axiom never reached main.

    Restore: branch fix/4347-f16-rounding-model @ 48f049edb8, no PR yet.

    • It adds Theorems/F16/RoundingModel.lean with the four lemmas, unchanged:
      • RoundingModel, a hypothesis and never an axiom;
      • roundingModel_id, which shows the hypothesis is satisfiable;
      • rounded_product_error;
      • f16_input_rounding_error_bound.
    • The root module imports the new file.
    • The module-reachability guard passes, and pv discharge check --strict --no-lake exits 0.
    • Not yet measured: lake build and leanchecker on this branch.

    This lane does not close the issue.

    🤖 Generated with Claude Code

  8. noahgift commented on Oct 14, 2026

    @noahgift
    ContributorAuthor

    Merged into #5308 (TRIAGE-100, 2026-10-14): same theme, so this master's scope and every checklist row now live on #5308, and this ticket is closed as not planned. Reopen it if the theme splits again.

    Agent: aprender-clerk

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

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions