

How to use the verifier:

A) use the verifier to check a Hoare triple with cplex:

    1. Install cplex and include it in your python environment (https://www.ibm.com/ch-de/products/ilog-cplex-optimization-studio)
    1. Write Hoare triple in .txt file
    1a. The Hoare triple must consist of preconditions, a program using assignments, postconditions
    1b. pre and postconditions must be on one line and enclosed with curly brackets {}. Several conditions may
        be separated by a comma.
    1c. A condition consists of a simple equality or inequality. Allowed comparators are: <, <=, >, >=, == and !=
        for the postconditions. Do not use != for preconditions
    1d. The program may consist of assignments only. An assignment has a single variable on the left, then a = symbol
        and the right side may be an arithmetic operation of variables and integers. One may not multiply several
        variables, but one can multiply variables by integers. Allowed operations are multiplication, division and addition
    2. Include the path to your file in Main.py
    3. set onlyStrings to False
    4. run Main.py


B) use the verifier to produce preconditions as strings:
    1. Write a Hoare triple in a .txt file
    1a. The conditions must be on one line and enclosed by curly brackets
    1b. The program may consist of Assignments, While Statements, If Statements and Skip Statements
        The Syntax is as depicted below. C1 and C2 can be arbitrary programs. Please note that
        the If Statement always requires an else and that the line breaks must be as depicted below

        If Statement:

        IF branchingCondition
            C1
        END
        ELSE
            C2
        END

        While Statement:

        WHILE branchinCondition
        {loopInvariant}
        C1
        END


        Skip Statement:

        SKIP

        Assignment (as explained in the first section)

        variable = 'arithmetic operation'



    2. Include the path to your file in Main.py
    3. set onlyStrings to False
    4. run Main.py