I am aware that I can declare a matrix of z3.Real
in Z3
by declaring its elements individually (maybe through list comprehension). Is there a way to represent a matrix with unknown size?
For example, consider the following example:
In image filtering, given an image I of size [X,Y]
and a filter kernel K
of size [M,N]
, the convolution between the image I
and the filter kernel K
is I*K
. I would like Z3
to prove (or disprove) that there exists filter F1
and F2
of any size, such that I*K == I*F1*F2
.
The problem itself is totally made up and probably doesn't make sense. The idea is whether I can ask Z3
to find a matrix of unknown size such that the matrix satisfy certain property that can be expressed by linear function. Thanks!