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.
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.
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.