def tl.zero_l

bend-osdev-gf@0.1.1.0 · PROOF.bend:7850

import bend-osdev-gf@0.1.1.0/PROOF.bend as PROOF
import Base
import bend-osdev-gf@0.1.1.0/gf.bend as G
import bend-osdev-gf@0.1.1.0/proof_tab_cases.bend as GC
import bend-osdev-gf@0.1.1.0/LAWS.bend as Laws

7850# a product with a factor whose table zero test is true is 0
7851def tl.zero_l(+f: G.Gf8Field, +a: U32, +b: U32, +h: {U32.is_eq(G.Gf8.elt(a), 0) == True{} : Bool}) -> {G.Gf8.mul(f, a, b) == 0 : U32}:
7852  %Equal.sym(U32, G.Gf8.mul(f, a, b), G.Gf8.mul(f, G.Gf8.elt(a), b), mul_elt_l(f, a, b)) : {_ == 0 : U32}
7853  %Equal.sym(U32, G.Gf8.elt(a), 0, GC.gc.elt0(a, h)) : {G.Gf8.mul(f, _, b) == 0 : U32}
7854  Laws.mul_zero(f, b)

Uses (10)

Used by (1)