def is_zero_s

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

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/scalar.bend as S
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

48def is_zero_s(+one: Nat, +h1: {one == 1n : Nat}, +a: List<&2, Nat>) -> {S.is_zero(a) == Nat.is_eq(FS.value(one, a), 0n) : Bool}:
49  %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}
50  %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}
51  {==}

Uses (11)

Used by (5)