Open amigalemming opened 6 days ago
Infinite loop also in z3-4.8.17.
The actual statement to be proved is the following, here expressed in Haskell/SBV
:
SBV> prove $ \a b -> a.>0 .=> sMod a 2 .==0 .=> sMod b 2 ./= 0 .=> sMod (sDiv a 2) b .== 0 .=> sMod a b .== (0::SInteger)
^CInterrupted.
I have the following Liquid Haskell code:
The
nn mod m = 0
part sends Z3 (version 4.8.12) to an infinite loop. Here is the SMT code that Liquid Haskell extracts from the code above: