Merge pull request #185 from AdrienChampion/invGen-no-explicit

Invariant generation, one state and two state
Improving Lustre translation

Just committing before merging develop branch
Re-use node calls with same inputs
Reduce number of state variables

- Reuse node calls
- Reuse abstractions
- Use let-bindings for inputs of node calls
Merge pull request #186 from chsticksel/inv-gen

Optimize translation to internal transition relation
Merge remote-tracking branch 'upstream/inv-gen' into invGen-no-explicit
Annotate properties with source, better slicing

Slice to cone of influence of properties in the top node, not regarding
those properties that were instantiated from subnodes.
Merge remote-tracking branch 'upstream/inv-gen' into invGen-no-explicit
Merge pull request #187 from chsticksel/inv-gen

Annotate properties with source, better slicing
Merge remote-tracking branch 'upstream/inv-gen' into invGen-no-explicit
Merge remote-tracking branch 'upstream/inv-gen' into invGen-no-explicit
Deactivated trivial invariant pruning.
Options for candidate lifting and trivial invariant pruning.
Backward k-induction deactivated by default.
Merge remote-tracking branch 'upstream/inv-gen' into invGen-explicit-unrolling
Merge remote-tracking branch 'origin/invGen-no-explicit' into invGen-explicit-unrolling
Prune trivial and lift candidates as default.
Better options for invgen.
Slice to top properties, tag invariants with scope

Do not consider properties from subrange constraints in the top node for
the cone of influence.

Enable tagging discovered invariants with a node scope to communicate
subnode invariants.
Merge pull request #189 from chsticksel/inv-gen

Slice to top properties, tag invariants with scope