v0.6.0
0.6.0
-
Using
z3
version4.8.7
-
A 2-8x speedup for 5 out 16
benchmarks,
due to the optimizations and maybe switching to z3 4.8.x. -
Distributing the releases with docker as
apalache/mc
-
The results of intermediate passes are printed in TLA+ files
in thex/*
directory:out-analysis.tla
,out-config.tla
,
out-inline.tla
,out-opt.tla
,out-parser.tla
,
out-prepro.tla
,out-priming.tla
,out-transition.tla
,
out-vcgen.tla
-
The model checker is translating only
KerA+
expressions,
which are produced byKeramelizer
-
Multiple optimizations that were previously done by rewriting
rules were move to the preprocessing phase, produced by
ExprOptimizer
-
Introducing Skolem constants for
\E x \in S: P
, such
expressions are decorated withSkolem
-
Introducing
Expand
forSUBSET S
and[S -> T]
, when
they must be expanded -
Translating
e \in a..b
toa <= e /\ e <= b
, whenever possible -
Supporting sequence concatenation:
<<1, 2>> \o <<4, 5>>
-
Short-circuiting and lazy-circuiting of
a /\ b
anda \/ b
are disabled by default (see docs/tuning.md on how to enable them) -
Introduced
PrettyWriter
to nicely print TLA+ expressions
with proper indentation -
The preprocessing steps -- which were scattered across the code
-- are extracted in the moduletla-pp
,
which contains:ConstAndDefRewriter
,ConstSimplifier
,
Desugarer
,Normalizer
, see preprocessing -
Bounded variables are uniquely renamed by
Renaming
andIncrementalRenaming
-
Massive refactoring of the TLA intermediate representation
-
TLA+ importer stopped chocking on the rare TLA+ syntax, e.g.,
ASSUME
andTHEOREM
-
Backtracking expressions to their source location in a TLA+ spec
-
LET-IN
is translated intoLetInEx
intlair
-
Nullary LET-IN expressions (without arguments) are processed by
the model checker directly, no expansion needed -
The assignment solver has been refactored. The assignments are
now translated toBMC!<-
, for instance,x' <- S
-
Constant assignments in
ConstInit
are now preprocessed correctly -
User operators are not translated to
TlaUserOper
anymore,
but are called withTlaOper.apply
-
Importing
tla2tools.jar
from Maven Central