Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

struct bug #79

Open
gipsyh opened this issue Aug 14, 2024 · 0 comments
Open

struct bug #79

gipsyh opened this issue Aug 14, 2024 · 0 comments

Comments

@gipsyh
Copy link

gipsyh commented Aug 14, 2024

#lang ivy1.7

type ttt = struct {
    a: bool
}

type x_t

interpret x_t -> int

function xx(X: x_t): ttt

after init {
    a(xx(0)) := false;
    a(xx(1)) := true;
}

invariant ~a(xx(0))

this invariant should be hold but ivy_check not

Isolate this:

    The inductive invariant consists of the following conjectures:
        test.ivy: line 18: invar3

    The following initializers are present:
        test.ivy: line 13: init[after2]

    Initialization must establish the invariant
        test.ivy: line 18: invar3 ... FAIL
searching for a small model... done
[
    a(1) = true
    a(0) = false
    1:x_t = 1
    0:x_t = 0
]
init

{
test.ivy: line 14: 
    a(xx(0)) := false

    [
        xx(1) = 0
        xx(0) = 0
    ]
test.ivy: line 15: 
    a(xx(1)) := true

    [
        xx(1) = 1
        xx(0) = 1
    ]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant