fix: subleq_falls_through — use omega for ¬(a ≤ 0) from a > 0

simp can't use h : a > 0 to rewrite if a ≤ 0. Added h_not_le by omega.

Build: 3301 jobs, 0 errors
This commit is contained in:
allaun 2026-07-05 06:33:55 -05:00
parent 9cb97c61bd
commit c834b74772

View file

@ -138,7 +138,8 @@ theorem subleq_falls_through (s : M6502State) (inst : SUBLEQ)
(h : s.mem inst.dstB.addr - s.mem inst.srcA.addr > 0) :
(execSUBLEQ s inst).pc = s.pc + 3 := by
unfold execSUBLEQ
simp [h]
have h_not_le : ¬ (s.mem inst.dstB.addr - s.mem inst.srcA.addr ≤ 0) := by omega
simp [h_not_le]
/-- Blitter step count: 3 SUBLEQ instructions per byte. -/
theorem blitter_step_count (prog : BlitterProgram) :