I'm looking to use a one-way function in a z3
Python program. I'd like z3 to respect the following properties/tactics:
- if
x = y
, thenf(x) = f(y)
f
is a computable Python function that I can provide whenx
is known- if
f(x) = y
, attempt to resolve by matchingf(*y) = f(x)
implyingx = *y
from prior assignments (never attempt to guessx
that computes toy
)
Are there built in features to support this construct or anything else that may help introduce it?