Closed FliegendeWurst closed 9 months ago
Just for the fun: You can easily prove false as soon as you have at least to sequences that are not identical. The following can be proven instantly by SMT:
\functions {
Seq s1;
Seq s2;
}
\problem {
\forall Seq s; (s = (seqDef{int u;}(0, s.length, any::seqGet(s, u))))
& s1 != s2
->
false
}
Note that the sub-formula with the universal quantifier is the formula introduced by the taclet seqSelfDefinition
for any sequent.
Description
It is is possible to prove the following using Z3:
Equivalent
.key
:Additional information
This is the relevant part of the SMT translation:
In particular I think this allows the SMT solver to prove
seqSub(s1, 0, maxx - 1) = unknown_0 = s1
, which is obviously wrong.cc @WolframPfeifer @mattulbrich