def is_zero_f

bend-collections-laws-crypto@1.0.0.0 · proofs/crypto/secp256k1/fwrap.bend:23

import bend-collections-laws-crypto@1.0.0.0/proofs/crypto/secp256k1/fwrap.bend as Fwrap
import Base
import bend-collections-laws-crypto@1.0.0.0/spec/crypto/secp256k1/field.bend as FS
import bend-collections-laws-crypto@1.0.0.0/src/crypto/secp256k1/limbs.bend as L
import bend-collections-laws-crypto@1.0.0.0/src/crypto/secp256k1/field.bend as F
import bend-collections-laws-crypto@1.0.0.0/proofs/crypto/secp256k1/limbs.bend as LV
import bend-collections-laws-crypto@1.0.0.0/proofs/crypto/secp256k1/listops.bend as LO

23def is_zero_f(+one: Nat, +h1: {one == 1n : Nat}, +a: List<&2, Nat>) -> {F.is_zero(a) == Nat.is_eq(FS.value(one, a), 0n) : Bool}:
24  %Equal.sym(Bool, L.is_zero(a), Nat.is_eq(LV.ev(a), 0n), LO.is_zero_v(a)) : {_ == Nat.is_eq(FS.value(one, a), 0n) : Bool}
25  %Equal.sym(Nat, FS.value(one, a), LV.ev(a), LV.ev_value(one, h1, a)) : {Nat.is_eq(LV.ev(a), 0n) == Nat.is_eq(_, 0n) : Bool}
26  {==}

Uses (11)

Used by (1)