Skip to content

Commit cfdf1aa

Browse files
committed
configuration: Replace Set of <goal>s with list. Only first goal is active
1 parent 4eab015 commit cfdf1aa

2 files changed

Lines changed: 12 additions & 17 deletions

File tree

prover/drivers/base.md

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
Configuration
22
=============
33

4-
The configuration consists of a assoc-commutative bag of goals. Only goals
5-
marked `<active>` are executed to control the non-determinism in the system. The
6-
`<k>` cell contains the Matching Logic Pattern for which we are searching for a
7-
proof. The `<strategy>` cell contains an imperative language that controls which
8-
(high-level) proof rules are used to complete the goal. The `<trace>` cell
9-
stores a log of the strategies used in the search of a proof and other debug
10-
information. Eventually, this could be used for constructing a proof object.
4+
The configuration consists of a list of goals. The first goal is considered
5+
active. The `<k>` cell contains the Matching Logic Pattern for which we are
6+
searching for a proof. The `<strategy>` cell contains an imperative language
7+
that controls which (high-level) proof rules are used to complete the goal. The
8+
`<trace>` cell stores a log of the strategies used in the search of a proof and
9+
other debug information. Eventually, this could be used for constructing a proof
10+
object.
1111

1212
```k
1313
module PROVER-CONFIGURATION
@@ -23,8 +23,7 @@ module PROVER-CONFIGURATION
2323
<prover>
2424
<exit-code exit=""> 1 </exit-code>
2525
<goals>
26-
<goal multiplicity="*" type="Set" format="%1%i%n%2, %3, %4%n%5%n%6%n%7%n%8%n%d%9">
27-
<active format="active: %2"> true:Bool </active>
26+
<goal multiplicity="*" type="List" format="%1%i%n%3, %3%n%4%n%65n%6%n%7%n%d%8">
2827
<id format="id: %2"> .K </id>
2928
<parent format="parent: %2"> .K </parent>
3029
<k> $COMMANDLINE:CommandLine ~> $PGM:Pgm </k>

prover/strategies/core.md

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -89,18 +89,16 @@ completed, its result is replaced in the parent goal and the subgoal is removed.
8989
```k
9090
syntax Strategy ::= goalStrat(GoalId)
9191
rule <prover>
92-
<goal> <id> PID </id>
93-
<active> _ => true </active>
94-
<strategy> goalStrat(ID) => RStrat ... </strategy>
95-
...
96-
</goal>
9792
( <goal> <id> ID </id>
98-
<active> true:Bool </active>
9993
<parent> PID </parent>
10094
<strategy> RStrat:TerminalStrategy </strategy>
10195
...
10296
</goal> => .Bag
10397
)
98+
<goal> <id> PID </id>
99+
<strategy> goalStrat(ID) => RStrat ... </strategy>
100+
...
101+
</goal>
104102
...
105103
</prover>
106104
```
@@ -116,7 +114,6 @@ Proving a goal may involve proving other subgoals:
116114
( .Bag =>
117115
<goal>
118116
<id> ID:Int </id>
119-
<active> true </active>
120117
<parent> PARENT </parent>
121118
<strategy> SUBSTRAT </strategy>
122119
<k> SUBGOAL </k>
@@ -127,7 +124,6 @@ Proving a goal may involve proving other subgoals:
127124
)
128125
<goal>
129126
<id> PARENT </id>
130-
<active> true => false </active>
131127
<strategy> subgoal(ID, SUBGOAL, SUBSTRAT) => goalStrat(ID:Int) ... </strategy>
132128
<local-context> LC::Bag </local-context>
133129
<trace> TRACE </trace>

0 commit comments

Comments
 (0)