Assuming ZOT installed and working, to run the checker
- open the solvers folder
- run gradle run -PappArgs="['exampleProperty.mitli','20']" where exampleProperty.mitli is the property to be checked and 20 is the bound to be used.
The solver produces the following files
- exampleProperty.cltloc the CLTLoc encoding of the formula;
- exampleProperty.vocabulary the vocabulary that assigns each subformula to the corresponding propositions;
- exampleProperty.lisp contains the encodin that is passed to the zot solver
The input file should contain an MITLI formula that is compliant with the following grammar:
An brief overview of the grammar
&& (f1) (f2)
: conjunction.f1
andf2
;-> (f1) (f2)
: implication.f1
impliesf2
;G_ei a b (f)
: globally excluded, included, corresponds to the operatorG(a,b] f
, where the a and b are the lower and the upper bound of the formula andf
is the sub-furmula;G_ii a b (f)
: globally included, excluded, corresponds to the operatorG[a,b] f
, where thea
andb
are the lower and the upper bound of the formula andf
is the sub-furmula;G_i+ a (f)
: globally included infinite, corresponds to the operatorG[a,+inf] f
, wherea
is the lower bound andf
is the sub-furmula;
The QLTLoc framework is made by several modules:
- cltloc module that contains the description of CLTLoc formulae
- mitli module that contains the description of MITLI formulae
- solvers module allows the verification of MITLI formulae
Contains the classes that are used to represent an MITLI formula and to convert the MITLI formula in CLTLoc.
- The class MITLI2CLTLoc.java (in the package convertes) is used to transform an MITLI formula in CLTLoc.
- The class MITLI2CLTLocVisitor.java (in the package visitors) contains the logic (implemented in a visitor) that it is used to transform every MITLI formula in CLTLoc. If a new convertion is required it is sufficient to implement a new visitor.
Contains the classes that are used to represent a CLTLoc formula and to convert the CLTLoc formula in zot.
- The classes CLTLoc2ZotBvzot.java (CLTLoc2ZotDReal.java) which are contained in the package convertes the are used to convert the CLTLoc formula into a zot formula (dreal) formula, respectively.
- The class CLTLoc2ZotVisitor.java (in the package visitors) is used to transform every CLTLoc formula in zot.
To run the tests run
gradle test