def ckp.zero

bend-osdev-acpi@0.1.2.0 · PROOF_checksum.bend:132

import bend-osdev-acpi@0.1.2.0/PROOF_checksum.bend as PROOFChecksum
import Base
import bend-osdev-u32@0.1.0.0/u32.bend as U
import bend-osdev-u32@0.1.0.0/LAWS.bend as UL

132def ckp.zero(+nA: Nat, +nD: Nat, +x: Nat, +c: Nat, +w: Nat, +e1: {U.U32Nat.low(8n, Nat.add(w, x)) == U.U32Nat.low(8n, Nat.add(nA, Nat.add(x, nD))) : Nat}, +e2: {U.U32Nat.low(8n, Nat.add(c, w)) == 0n : Nat}) -> {U.U32Nat.low(8n, Nat.add(nA, Nat.add(c, nD))) == 0n : Nat}:
133  %UL.nat_add_left_comm(c, nA, nD) : {U.U32Nat.low(8n, _) == 0n : Nat}
134  %Equal.sym(Nat, U.U32Nat.low(8n, Nat.add(c, Nat.add(nA, nD))), U.U32Nat.low(8n, Nat.add(c, U.U32Nat.low(8n, Nat.add(nA, nD)))), ckp.l1r(c, Nat.add(nA, nD))) : {_ == 0n : Nat}
135  %ckp.cancel(x, w, Nat.add(nA, nD), ckp.e1x(nA, nD, x, w, e1)) : {U.U32Nat.low(8n, Nat.add(c, _)) == 0n : Nat}
136  %ckp.l1r(c, w) : {_ == 0n : Nat}
137  e2

Uses (8)

Used by (1)