def wsh.go

bend-osdev-word64@0.1.1.0 · PROOF_text.bend:410

import bend-osdev-word64@0.1.1.0/PROOF_text.bend as PROOFText
import Base
import bend-osdev-word64@0.1.1.0/word64.bend as W

410def wsh.go(n: Nat, +a: W.W64, +acc: String, +hf: {W.W64.is_zero(wsh.it(n, a)) == True{} : Bool}) -> {Nat.read.go(W.W64.show.go(n, a, acc), 0n) == Nat.read.go(acc, W.W64.to_nat(a)) : Maybe<&2, Nat>}:
411  match n:
412    case 0n:
413      Equal.cong(Nat, Maybe<&2, Nat>, zz => Nat.read.go(acc, zz), 0n, W.W64.to_nat(a), Equal.sym(Nat, W.W64.to_nat(a), 0n, wsh.zv(a, hf)))
414    case 1n+ +p:
415      wsh.step(p, a, acc, W.W64.is_zero(a), {==}, wsh.go(p, wsh.q(a), acc, hf), wsh.go(p, wsh.q(a), SCon{W.W64.digit(wsh.r(a)), acc}, hf))

Uses (17)

Used by (1)