Changes between Version 13 and Version 14 of Language


Ignore:
Timestamp:
05/18/23 12:47:49 (3 years ago)
Author:
siegel
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Language

    v13 v14  
    445445=== Assumptions: `$assume`
    446446
     447The system function `$assume` has signature
     448{{{
     449void $assume(_Bool expr);
     450}}}
     451During verification, the given expression is assumed to hold. If this leads to a contradiction on some execution, that execution is simply ignored. It never reports a violation, it only restricts the set of possible executions that will be explored by the verification algorithm.
     452Like an assertion call, an assume call can be used any place a statement is expected. In addition, an assume call can be used in file scope to place restrictions on the global variables of the programs. For example,
     453{{{
     454$input int B, N;
     455$assume(1<=N && N<=B);
     456}}}
     457declares `N` and `B` to be integer inputs and restricts consideration to inputs satisfying 1 ≤ `N` ≤ `B`.
     458
    447459=== `$assume_push`
    448460