You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Consider a polymorphic constant: constant poly: func(1, [A @(0)]).
In Z3 we will encode it monomorphised, i.e., declare-fun poly () (A Int). So, once we use it as A B, e.g., in {VV : A B | [ VV = poly ] } Z3 crashes with sort mismatch.
Is there a known way to address this problem (@ranjitjhala) ?
The full .fq file is below.
data B 0 = [
| B {}
]
data A 1 = [
| A {}
]
// in the smt poly is declared monororpshised to Int:
// (declare-fun poly () (A Int))
constant poly: func(1, [A @(0)])
constraint:
env []
lhs {VV : A B | [ VV = poly ] }
rhs {VV : A B | [ VV = poly ] }
id 1 tag [1]
// so the above becomes `(= VV (as poly (A B)))` and crashed with
// "invalid qualified identifier, sort mismatch"
The text was updated successfully, but these errors were encountered:
Consider a polymorphic constant:
constant poly: func(1, [A @(0)])
.In Z3 we will encode it monomorphised, i.e.,
declare-fun poly () (A Int)
. So, once we use it asA B
, e.g., in{VV : A B | [ VV = poly ] }
Z3 crashes with sort mismatch.Is there a known way to address this problem (@ranjitjhala) ?
The full
.fq
file is below.The text was updated successfully, but these errors were encountered: