sybila / biodivine-sketchbook

Biodivine SketchBook is a multi-platform application for designing and analysing large-scale logical models.
MIT License
0 stars 1 forks source link

Generic static properties + asynchronous inference algorithm #48

Closed ondrej33 closed 2 months ago

ondrej33 commented 2 months ago

In this PR, we are introducing two main concepts:

1) We are adding support for writing custom static properties as first-order formulas. There is a new tokenizer, parser, and evaluator for these formulas. They are directly added to the inference process, and also to the consistency validation check. We will make a guide on formula writing in the future. Just as an example of how one can reason about uninterpreted or update functions:

2) The whole inference computation now runs completely asynchronously. This means it no longer blocks the main backend thread. It now also reports progress to the front end and is partially cancellable (in particular checkpoints, such as just before starting the evaluation of some property). We also added error handling to the inference process. The symbolic context for each computation is now created automatically based on the properties. Different symbolic contexts are used for different kinds of properties.