IVy is a research tool intended to allow interactive development of protocols and their proofs of correctness and to provide a platform for developing and experimenting with automated proof techniques. In particular, IVy provides interactive visualization of automated proofs, and supports a use model in which the human protocol designer and the automated tool interact to expose errors and prove correctness.
This commit seeks to enable casting of range types to integer types inside isolates.
Running ivyc on this example works. However, running ivy_check produces the error cast is not a supported Z3 function.
#lang ivy1.8
include collections
include numbers
isolate adder = {
var value : nat
type one_t = {1}
export action add = {
var one : one_t := 1;
require value >= cast(one);
}
}
This commit seeks to enable casting of range types to integer types inside isolates.
Running
ivyc
on this example works. However, runningivy_check
produces the errorcast is not a supported Z3 function
.