Skip to content

Commit

Permalink
Merge pull request #1188 from informalsystems/th/symbsim
Browse files Browse the repository at this point in the history
Add --random-transitions to run Apalache symbolic simulator
  • Loading branch information
thpani authored Sep 28, 2023
2 parents 8b7bd64 + 6653ae8 commit 576d72b
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 0 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## UNRELEASED

### Added

- Added `--random-transitions` flag for `verify`, enabling symbolic simulation
through Apalache (#1188)

### Changed
### Deprecated
### Removed
Expand Down
2 changes: 2 additions & 0 deletions doc/quint.md
Original file line number Diff line number Diff line change
Expand Up @@ -277,6 +277,8 @@ Options:
--invariant the invariants to check, separated by a comma [string]
--temporal the temporal properties to check, separated by a comma
[string]
--random-transitions choose transitions at random (= use symbolic simulation)
[boolean] [default: false]
--apalache-config Filename of the additional Apalache configuration (in the
HOCON format, a superset of JSON) [string]
--verbosity control how much output is produced (0 to 5)
Expand Down
5 changes: 5 additions & 0 deletions quint/src/cli.ts
Original file line number Diff line number Diff line change
Expand Up @@ -240,6 +240,11 @@ const verifyCmd = {
type: 'string',
coerce: (s: string) => s.split(','),
})
.option('random-transitions', {
desc: 'choose transitions at random (= use symbolic simulation)',
type: 'boolean',
default: false,
})
.option('apalache-config', {
desc: 'Filename of the additional Apalache configuration (in the HOCON format, a superset of JSON)',
type: 'string',
Expand Down
3 changes: 3 additions & 0 deletions quint/src/cliCommands.ts
Original file line number Diff line number Diff line change
Expand Up @@ -644,6 +644,9 @@ export async function verifySpec(prev: TypecheckedStage): Promise<CLIProcedure<V
next: 'q::step',
inv: args.invariant ? ['q::inv'] : undefined,
'temporal-props': args.temporal ? ['q::temporalProps'] : undefined,
tuning: {
'search.simulation': args.randomTransitions ? 'true' : 'false',
},
},
}

Expand Down

0 comments on commit 576d72b

Please sign in to comment.