def wq.shrn

bend-osdev-word64@0.1.1.0 · PROOF.bend:201

import bend-osdev-word64@0.1.1.0/PROOF.bend as PROOF
import Base
import bend-osdev-word64@0.1.1.0/proof_shift.bend as PS

201def wq.shrn(+w: Word(32n), k: Nat) -> {U32.shrn(U32{w}, k) == U32{PS.ws.shr(32n, k, w)} : U32}:
202  match k:
203    case 0n:
204      {==}
205    case 1n+ +p:
206      %Equal.sym(U32, U32.shrn(U32{w}, p), U32{PS.ws.shr(32n, p, w)}, wq.shrn(w, p)) : {U32.shr(_) == U32{PS.ws.shr(32n, 1n+p, w)} : U32}
207      {==}

Uses (7)

Used by (3)