Skip to content

Commit a3dbcb3

Browse files
committed
added witness doc
1 parent 7b19d2b commit a3dbcb3

File tree

1 file changed

+40
-2
lines changed

1 file changed

+40
-2
lines changed

docs/user/ProofScripts/commands.md

Lines changed: 40 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ in the general documentation files on proof scripts.
99

1010
Field | Value
1111
----- | -----
12-
Generated on: | Fri Oct 03 22:50:46 CEST 2025
12+
Generated on: | Mon Oct 06 15:01:02 CEST 2025
1313
Branch: | jmlScripts
1414
Version: | 2.12.4-dev
1515
Commit: | 382f4ce88f33ee3eb90e34b05e23451863271d4c
@@ -301,7 +301,7 @@ Use the command with "close" to make sure the command succeeds for fails without
301301
changes.
302302

303303
#### Usage:
304-
`auto [all] [classAxioms] [dependencies] [expandQueries] [modelsearch] [add:⟨String⟩] [breakpoint:⟨String⟩] [matches:⟨String⟩] [steps:⟨int⟩]`
304+
`auto [all] [classAxioms] [dependencies] [expandQueries] [modelsearch] [add:⟨String⟩] [breakpoint:⟨String⟩] [matches:⟨String⟩] [only:⟨String⟩] [steps:⟨int⟩]`
305305

306306
#### Parameters:
307307

@@ -321,12 +321,20 @@ may be a showstopper (if expansion increases the complexity on the sequent too m
321321
* `add` *(optional named option, type String)*:<br>Additional rules to be used by the auto strategy. The rules have to be given as a
322322
comma-separated list of rule names and rule set names. Each entry can be assigned to a priority
323323
(high, low, medium or a natural number) using an equals sign.
324+
Cannot be combined with the 'only' parameter.
324325

325326

326327
* `breakpoint` *(optional named option, type String)*:<br>When doing symbolic execution by auto, this option can be used to set a Java statement at which symbolic execution has to stop.
327328

328329
* `matches` *(optional named option, type String)*:<br>Run on the formula matching the given regex.
329330

331+
* `only` *(optional named option, type String)*:<br>Limit the rules to be used by the auto strategy. The rules have to be given as a
332+
comma-separated list of rule names and rule set names. Each entry can be assigned to a priority
333+
(high, low, medium or a natural number) using an equals sign.
334+
All rules application which do not match the given names will be disabled.
335+
Cannot be combined with the 'add' parameter.
336+
337+
330338
* `steps` *(optional named option, type int)*:<br>The maximum number of proof steps to be performed.
331339

332340
<hr>
@@ -562,6 +570,36 @@ The available solvers depend on your system: KeY supports at least z3, cvc5.
562570

563571
* `timeout` *(named option, type int)*:<br>
564572

573+
<hr>
574+
575+
### <span style="color: var(--md-primary-fg-color);"> Command `witness`</span>
576+
577+
578+
<span style="float:right;">[Source](https://github.com/KeYProject/key/blob/382f4ce88f33ee3eb90e34b05e23451863271d4c/key.core/src/main/java/de/uka/ilkd/key/scripts/WitnessCommand.java)</span>
579+
580+
Provides a witness symbol for an existential or universal quantifier.
581+
The given formula must be present on the sequent. Placeholders are allowed.
582+
The command fails if the formula cannot be uniquely matched on the sequent.
583+
The witness symbol `as` must be a valid identifier and not already used as function, predicate, or
584+
program variable name. The new function symbol is created as a Skolem constant.
585+
586+
#### Example:
587+
588+
If the sequent contains the formula `\exists int x; x > 0` in the antecedent then the command
589+
`witness "\exists int x; x > 0" as="x_12"` will introduce the witness symbol `x_12` for which "x_12 > 0`
590+
holds and is added to the antecedent.
591+
592+
593+
#### Usage:
594+
`witness ⟨JTerm (formula)⟩ as:⟨String⟩`
595+
596+
#### Parameters:
597+
598+
599+
* `formula` *(1st positional argument, type JTerm)*:<br>The formula containing the quantifier for which a witness should be provided. Placeholders are allowed.
600+
601+
* `as` *(named option, type String)*:<br>The name of the witness symbol to be created.
602+
565603

566604
## Category *Internal*
567605

0 commit comments

Comments
 (0)