Open viper-admin opened 6 years ago
@mschwerhoff on 2018-02-15 16:14:
- edited the title
@mschwerhoff commented on 2018-02-15 16:25
First step: properly reject unsupported programs, instead of crashing
@mschwerhoff on 2018-03-05 12:29:
- edited the description
The general syntax of actions is the following:
where
c
,gᵢ
,e
ande'
are expressions that can mention the bound variables. Checking that a performed state change is allowed means asserting that there exist appropriatexᵢ
, which in practice is typically impossible for SMT solvers.A trick to avoid existentials is to use inverse functions, but that isn't implemented yet. Instead, Voila currently only supports a few special cases of invertible actions: those, where the bound variables directly constitute at least one of the expressions
gᵢ
,e
ore'
.Supported examples are:
Not yet supported examples are: