Skip to content

[Lean Squad] feat(fv): add ExpoDeadzone Lean spec (8 theorems, 0 sorry) + critique update (run35)#34

Merged
dsyme merged 2 commits intomainfrom
lean-squad/expodz-critique-run35-24379657450-95ee7ddf980126c8
Apr 15, 2026
Merged

[Lean Squad] feat(fv): add ExpoDeadzone Lean spec (8 theorems, 0 sorry) + critique update (run35)#34
dsyme merged 2 commits intomainfrom
lean-squad/expodz-critique-run35-24379657450-95ee7ddf980126c8

Conversation

@github-actions
Copy link
Copy Markdown

🔬 Lean Squad — automated formal verification run 35.

Summary

Two tasks completed this run:

Task 5 — Proof Assistance: ExpoDeadzone.lean

New file: formal-verification/lean/FVSquad/ExpoDeadzone.lean

Formal specification and proofs for the combined expo(deadzone(v, dz), e) RC input
processing pipeline. In PX4, stick input first passes through a deadzone (to ignore
drift near centre), then through an exponential curve (for sensitivity shaping).

8 theorems proved, 0 sorry:

Theorem Property
expodz_in_dz Inside-deadzone input → exactly 0
expodz_in_range Output ∈ [-1, 1] (unconditional)
expodz_zero Zero input → zero output (dz ≥ 0)
expodz_at_one / expodz_at_neg_one ±1 are fixed points for dz ∈ [0, 1)
expodz_e0 e=0 (linear): reduces to pure deadzone
expodz_cubic e=1 (cubic): output is (deadzone v dz)3
expodz_no_dz dz=0: pipeline degenerates to pure expoRat

Proofs compose expo_* and deadzone_* theorems from prior files. Also registers
MedianFilter, SuperExpo, and ExpoDeadzone in FVSquad.lean (they were present
but not imported in the root module).

Task 7 — Proof Utility Critique: CRITIQUE.md update

  • Overall assessment updated: 15 targets, 172 theorems, 166 proved, 6 sorry
  • Proved-theorems table: added MedianFilter, SuperExpo, and ExpoDeadzone rows
  • Gaps updated: added expodz_odd (anti-symmetry) as next high-priority gap,
    removed outdated MedianFilter "write the spec" item (now done)
  • Positive findings [Lean Squad] feat(formal-verification): AlphaFilter Lean spec + Deadzone sorry elimination #10–12 added: MedianFilter spike rejection, superexpo
    denom-positive safety, expo+deadzone composition correctness
  • Known Sorry-Guarded section updated to reflect 14/15 files at 0 sorry

Verification Status

✅ Proofs verified: lake build passed with Lean 4.29.0. 0 sorry in ExpoDeadzone.lean.

18 jobs, no errors. Only pre-existing sorry warnings from WrapAngle.lean (wrapRat, requires Mathlib floor).


Files Changed

Generated by 📐 Lean Squad, see workflow run. Learn more.

To install this agentic workflow, run

gh aw add githubnext/agentics/workflows/lean-squad.md@97143ac59cb3a13ef2a77581f929f06719c7402a

…ility critique update (run35)

Task 5 (Proof Assistance): Add ExpoDeadzone.lean — formal specification and proofs
for the combined expo(deadzone(v, dz), e) RC input pipeline.

8 theorems proved (0 sorry, lake build passes):
- expodz_in_dz: inside-deadzone input → exactly 0
- expodz_in_range: output always ∈ [-1, 1] (unconditional)
- expodz_zero: zero input → zero output for dz ≥ 0
- expodz_at_one / expodz_at_neg_one: ±1 are fixed points for dz ∈ [0, 1)
- expodz_e0: e=0 (linear expo) reduces to pure deadzone
- expodz_cubic: e=1 (full cubic expo) gives (deadzone v dz)³
- expodz_no_dz: dz=0 recovers exactly expoRat (no-deadzone degeneration)

Proofs compose expo_* and deadzone_* theorems from prior Lean files,
demonstrating compositional verification of the two-stage RC pipeline.
Also registers ExpoDeadzone + MedianFilter + SuperExpo in FVSquad.lean.

Task 7 (Proof Utility Critique): Update CRITIQUE.md to reflect current state:
- 15 targets, 172 theorems, 166 proved, 6 sorry (WrapAngle wrapRat only)
- Add SuperExpo, MedianFilter, ExpoDeadzone rows to proved-theorems table
- Update gaps: add expodz_odd as next high-priority target
- Add positive findings #10-12 (MedianFilter spike rejection, superexpo
  denom-positive safety, expo+deadzone composition correctness)
- Update Known Sorry-Guarded section (14 files, 0 sorry except WrapAngle)

> ✅ Proofs verified: lake build passed with Lean 4.29.0. 0 sorry in new file.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@dsyme dsyme merged commit 334aad8 into main Apr 15, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant