Commit 84ae21a
committed
feat(proofs): Coq binop parity — or/sub/mul/div/mod + comparisons in WokeLang.v
Brings WokeLang.v level with the Lean file's operator set (the Lean/Coq
asymmetry flagged in AUDIT.md). Each new op gets a has_type rule, a step
rule, and full progress/preservation coverage, axiom-free:
- logical: or
- integer arithmetic: sub, mul, div, mod — div/mod panic to VOops on a zero
divisor (reusing the proven unwrap-of-oops error fragment)
- ordering comparisons: lt, gt, le, ge (Z -> bool)
preservation: extended the `first [...]` reconstruction block with the new
ops (both step orderings) + an early literal-result closer, so the new cases
dispatch deterministically. Without this the brute-force cascade drove the
new ops into its "nuclear" repeat-inversion blocks and the file took >12 min
to typecheck; it now compiles in ~8s.
Verified: coqc exit 0; Print Assumptions on progress/preservation/type_safety
shows only the pre-existing Coq.Reals axioms (sig_forall_dec +
functional_extensionality) — no new axioms. AUDIT.md updated.
https://claude.ai/code/session_013wg3Mtq2QFhYi4XVw1Z6z71 parent ab94e64 commit 84ae21a
2 files changed
Lines changed: 345 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
185 | 185 | | |
186 | 186 | | |
187 | 187 | | |
188 | | - | |
189 | | - | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
190 | 195 | | |
191 | 196 | | |
192 | 197 | | |
| |||
199 | 204 | | |
200 | 205 | | |
201 | 206 | | |
202 | | - | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
203 | 211 | | |
204 | 212 | | |
205 | 213 | | |
| |||
0 commit comments