Joachim Klein
2c8f5427b5
Expression: add evaluateExact methods
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11556 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Joachim Klein
ea537cc895
Expression.containsTemporalTimeBounds(): do not recurse into P/R/SS subformulas
Expressions such as
P=?[ X F P>0[F<=4 s=7] ]
were problematic before, as the LTL check for time bounds would recurse into the P-subformula
and complain without need.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11036 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Dave Parker
8775d3a993
Small fix in Expression static constructors to make return types more clearly specified. [from Steffen Marcker]
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10959 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Joachim Klein
043c776914
Refactor ConvertForJltl2ba (fix regression due to custom equals/hashCode for ASTElements)
In SVN 10565, custom equals/hashCode methods were introduced for the
various ASTElements/Expressions, providing semantic equality. In the
implementation of ConvertForJltl2ba, a Hashtable was used to store
SimpleLTL formulas for the already handled Expression objects. With
the new equals/hashCode, this can lead to SimpleLTL formulas that
share subtrees, resulting in a DAG instead of a tree.
The SimpleLTL.simplify() function behaves incorrectly for DAGs, e.g.,
for "! (X (s1=7)) | (X (X s1=7))", producing wrong output formulas.
We refactor ConvertForJltl2ba to do a simple recursive transformation
from Expression-based LTL to SimpleLTL. Optionally, sharing of
identical subtrees can be enabled.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10894 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Dave Parker
cec60108c2
Comment clarification.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10845 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Dave Parker
1097ecaaeb
Add a second syntactic co-safe-ness check, which first converts to positive normal form.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10611 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Dave Parker
0d5cc45f53
Bug fix in the check for syntactic co-safe LTL formulas: implication/iff not allowed.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10555 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Dave Parker
5145992646
Bug fix in Expression.isPositiveNormalFormLTL: do not assume type checking has already been done.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10540 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Dave Parker
81f73d19d7
Bugfix in new SimpleLTL-to-Expression method.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10539 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Dave Parker
fe305344df
Utility function to create an Expression from an LTL formula represented as a jltl2ba SimpleLTL object (i.e., the reverse of Expression.convertForJltl2ba()).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10538 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Dave Parker
17a946783d
Disallow properties of the form R[F<=k].
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10343 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
69c8b2ce1f
Bug fix: better detection of R[F] when seeing if it is cosafe.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10338 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
812930e490
Comment typo
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10330 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
b1c31f56e1
Utility methods for detecting syntactically cosafe LTL.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10329 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
e02281dc86
Add Expression.isPathFormula(). [Joachim Klein]
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@9599 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
d9ec3199b9
Refactoring: Expression.convertSimplePathFormulaToCanonicalForm(), converts to (negated) a U b or X a. Use in model checkers. [Joachim Klein]
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@9595 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
6e415b1403
Added Expression.isFunc() tester method.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@8797 bbc10eb1-c90d-0410-af57-cb519fbb1720
12 years ago
Dave Parker
d81ef64ff2
Code refactoring (checking for LTL with time bounds).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@7731 bbc10eb1-c90d-0410-af57-cb519fbb1720
12 years ago
Dave Parker
daedb1e06f
Add isProposition methods to Expression classes.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@7259 bbc10eb1-c90d-0410-af57-cb519fbb1720
13 years ago
Dave Parker
4e1900207a
Separate MDP multi-objective setting from main MDP one.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@6729 bbc10eb1-c90d-0410-af57-cb519fbb1720
13 years ago
Dave Parker
8bbda8f530
Added new expression evaluation methods (needed for explicit model checker). Unfortunately breaks some existing calls to evaluate(constVals, null) due to ambiguities. Need to replace them with evaluate(constVals).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@3254 bbc10eb1-c90d-0410-af57-cb519fbb1720
15 years ago
Dave Parker
3c8ca8495d
Added iff (<=>) to PRISM model/properties language.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@3175 bbc10eb1-c90d-0410-af57-cb519fbb1720
15 years ago
Dave Parker
53a5274cb3
Addition of new statistical model checking stuff (patch difference between trunk and prism-statmc branch at this revision).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@2391 bbc10eb1-c90d-0410-af57-cb519fbb1720
15 years ago
Dave Parker
a6627b8c5a
Filters, new property semantics and corresponding code tidying.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@1712 bbc10eb1-c90d-0410-af57-cb519fbb1720
16 years ago
Dave Parker
d199d035ed
Integration of prism-explicit branch into trunk, i.e. merge of trunk@1015-prism-explicit@1405 into trunk.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@1406 bbc10eb1-c90d-0410-af57-cb519fbb1720
17 years ago
Dave Parker
9d59912d3b
Working (but untidied) version of MDP LTL model checking.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@752 bbc10eb1-c90d-0410-af57-cb519fbb1720
18 years ago
Dave Parker
4afcadb8b6
Error in LTL type checking.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@739 bbc10eb1-c90d-0410-af57-cb519fbb1720
18 years ago
Dave Parker
9254bd041d
Added model checking of negated temporal operators (not simulator).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@736 bbc10eb1-c90d-0410-af57-cb519fbb1720
18 years ago
Dave Parker
4b889ef3e2
Removed PathExpression classes.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@710 bbc10eb1-c90d-0410-af57-cb519fbb1720
18 years ago
Dave Parker
e572ad0b2d
Added weak until (W) and release (R) to properties language.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@700 bbc10eb1-c90d-0410-af57-cb519fbb1720
18 years ago
Dave Parker
5d3d24bc17
Merged prism-parser branch (revs 577:659) into trunk.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@660 bbc10eb1-c90d-0410-af57-cb519fbb1720
18 years ago