labs-lang / labs

LAbS: a Language with Attribute-based Stigmergies - Parser + Code generator
BSD 3-Clause "New" or "Revised" License
7 stars 0 forks source link

Assumptions #12

Closed lou1306 closed 2 years ago

lou1306 commented 6 years ago

Sometimes, full non-deterministic initialization can include more states than the ones the user is interested in verifying.

For instance, suppose the user wants to check that two robots never occupy the same position in a 10x10 grid. She defines the robots as follows:

agent Robot {
    interface = x: 0..10, y: 0..10
    # ...
}

But then, the property trivially fails because there are initial states where the robots start in the same position.

Proposal

Introduce a new section

assume {
    A1 = initially φ
    A2 = always φ
}

where φ follows the syntax of LAbS properties.

lou1306 commented 2 years ago

Partially implemented in bc4e25a0b302b5f8d34f82bc932b5b4f52400b7c