Tags: boogie-org/boogie
Tags
Don't create trivial labeled assumptions (#823) Previously, `{:id ...}` attributes were copied from `assert` statements to `assume` statements unconditionally, even when subsumption was disabled. This led to `{:id ...}` attributes on `assume true` statements, which will never be necessary for a proof, so there's no reason to track them.
Fix crashes with verification coverage + counterexamples (#817) Previously, running Boogie with `/trackVerificationCoverage` and `/enhancedErrorMessages:1` (or anything that leads to counterexample parsing) would lead to crashes when verification failed. This fixes that issue.
More thorough checks for exceeding resource limit (#812) Sometimes Z3 doesn't tell us that it exceeded its resource limit. So, if it returns "unknown", with an unknown reason, and the reported resource count exceeds the provided limit, report that it ran out of resources. Fixes #803. Addresses dafny-lang/dafny#4804
Allow task scheduler parameter to ExecutionEngine (#794) This allows the creator of an `ExecutionEngine` to pass in a `CustomStackSizePoolTaskScheduler` so that the scheduler can be shared between different instantiations of an execution engine. We normally want only one scheduler per machine, but sometimes want multiple execution engines.
Allow absolute paths to prover plugins (#764) Previously, the `/proverDll` option allowed only relative paths, since it looked for `/` or `\` _within_ a name, but not at the beginning, to determine whether the given name was a filename or a portion of an internal DLL name. This changes it to also interpret a name as a filename when either of those characters is the first character.