ZK-SecreC Documentation

2024.09

Module SetOp

Function assert_disjoint

pub fn assert_disjoint [ N : Nat ] ( xs : list[uint[N] $post @verifier] $pre @public, ys : list[uint[N] $post @prover] $pre @public, ref sizeasserter : SizeAsserter[N, $post, @prover] $pre @public ) -> () $pre @public
where
  Field[N],
  Challenge[N]

Assertion that the two given lists have no common elements. Fails if either argument list contains an element that is not representable using the number of bits specified in the given SizeAsserter object.

Function assert_subset

pub fn assert_subset [ N : Nat, @D ] ( xs : list[uint[N] $post @prover] $pre @public, ys : list[uint[N] $post @D] $pre @public ) -> () $pre @public
where
  Field[N],
  Challenge[N]

Assertion that all numbers occurring in the first list occur in the second list at least as many times.

Function assert_subset_norep

pub fn assert_subset_norep [ N : Nat, @D ] ( xs : list[uint[N] $post @prover] $pre @public, ys : list[uint[N] $post @D] $pre @public ) -> () $pre @public
where
  Field[N],
  Challenge[N]

Assertion that all numbers occurring in the first list occur in the second list at least once.