def off.wand_zero

bend-osdev-bytes@0.1.1.0 · PROOF.bend:1279

import bend-osdev-bytes@0.1.1.0/PROOF.bend as PROOF
import Base

1279def off.wand_zero(+n: Nat, w: Word(n)) -> {Word.and(n, w, Word.zero(n)) == Word.zero(n) : Word(n)}:
1280  match n:
1281    case 0n:
1282      {==}
1283    case 1n+p:
1284      match w:
1285        case WCon{+b, t}:
1286          %Equal.sym(Bool, Bool.and(b, False{}), False{}, off.band_f(b)) : {WCon{_, Word.and(p, t, Word.zero(p))} == Word.zero(1n+p) : Word(1n+p)}
1287          Equal.cong(Word(p), Word(1n+p), z => WCon{False{}, z}, Word.and(p, t, Word.zero(p)), Word.zero(p), off.wand_zero(p, t))

Uses (10)

Used by (1)