Open prpr2770 opened 3 years ago
Thanks for raising this! Can you please check which ivy commit you used, and also post the command line used? I just ran these on master and got different input for some files. (https://github.com/kenmcmil/ivy/blob/master/examples/liveness/hybrid_reliable_broadcast_cisa.ivy and https://github.com/kenmcmil/ivy/blob/master/examples/liveness/tlb.ivy worked and passed for me.)
I'm sorry, I should've shared that information when I raised the issue. I used the following Ivy version:
$git log -1
commit 271ee38980699115508eb90a0dd01deeb750a94b (HEAD -> master, origin/master, origin/HEAD)
Merge: 1cc3ad0 01e0350
Author: Ken McMillan <kenmcmil@microsoft.com>
Date: Wed Aug 26 11:39:51 2020 -0700
merge arith_proofs branch
The command line instruction I used for obtaining the above errors was:
ivy_check <filename.ivy>
I got the exact same errors on https://github.com/kenmcmil/ivy/blob/master/examples/liveness/hybrid_reliable_broadcast_cisa.ivy and https://github.com/kenmcmil/ivy/blob/master/examples/liveness/tlb.ivy. I installed Ivy via pip install ms-ivy
(version 1.7.0).
I gave it a try on the latest master (83d08ee).
examples/liveness
, all work except tlb.ivy
, on which ivy_check
seemingly hangs.test/liveness1.ivy
and test/liveness2.ivy
both have a VC that fails to verify.doc/examples/leader_tutorial.ivy
works.test/test_liveness2.ivy
has a VC that fails.test/test_liveness.ivy
has a syntax error.If it can be of any use, I'm running Ivy using a Docker container built with this Dockerfile: https://github.com/nano-o/ivy-docker/blob/main/standalone/Dockerfile
On latest master I'm getting the same results as @nano-o except tlb.ivy
passes in a few minutes. Maybe it's a different z3 version (I'm using 4.8.10).
I think installing ivy via pip doesn't get you the latest ivy version, but it's pretty easy to install ivy from source (as in the above docker file).
Could be the Z3 version: I'm using the one that comes as a sub-module in the Ivy repository, which seems to be 4.7.1
While attempting to verify the liveness-properties mentioned in the example-files provided in the repository, I found a couple of errors for some of the files, while most files checked OK.
Hybrid Reliable Broadcast (Clock synchronization, Widder, Schmid)
[TLB] (https://github.com/kenmcmil/ivy/blob/master/examples/liveness/tlb.ivy)
... (internal) idle Test_Liveness.ivy: line 294: ticket_protocol.invar68 ... FAIL Test_Liveness.ivy: line 306: ticket_protocol.invar69 ... FAIL ...
error: failed checks: 3
Test_Liveness.ivy(201): error: token 'property': syntax error
Test_Liveness.ivy(96): error: token 'call': syntax error
Isolate this:
error: failed checks: 1