@@ -8,22 +8,20 @@ flag should have been passed to `kompile` or directly to `llvm-kompile`.
8
8
We currently offer two modes of instrumentation: the default one is enabled with the flag
9
9
` --proof-hint-instrumentation ` , while a slower one that generates a longer trace with all
10
10
intermediate configurations is enabled with the flag ` --proof-hint-instrumentation-slow ` .
11
- Note that this trace format is in its early stages and will probably change quite a bit as
11
+ Note that this trace format is in its early stages and will probably change quite a bit as
12
12
development on it continues. Watch for the version of the trace format in the header of
13
- the trace.
13
+ the trace.
14
14
15
15
## Overview
16
16
17
17
The information presented by the trace starts with the initial configuration of the execution,
18
18
followed by a sequence of rewrite steps consisting of which rule applied and the variable substitutions
19
19
for that rule, and finally the configuration at the end of the execution. If slow instrumentation
20
20
has been enabled, the trace additionally contains the intermediate configurations after each rewrite
21
- event, as well as the kore terms that are passed as arguments in function events.
21
+ event, as well as the KORE terms that are passed as arguments in function events.
22
22
23
- The format of the kore terms themselves are in binary format, and in the proof trace we delimit
24
- them with 64-bit sentinel values of 0xffffffffffffffff at the beginning and 0xcccccccccccccccc
25
- at the end. Recent changes to the binary kore format that include the length of the binary term
26
- have rendered this unnecessary, but the change hasn't been implemented yet.
23
+ The format of the KORE terms themselves are in binary format, and in the proof trace, we delimit
24
+ them with 64-bit sentinel values of 0xffffffffffffffff at the beginning.
27
25
28
26
## Grammar
29
27
@@ -90,7 +88,7 @@ We provide a tool to deserialize the binary trace to a human-readable format. Th
90
88
and it takes two arguments: the path to the binary header and to the binary trace file.
91
89
It can take 3 flags:
92
90
- ` --verbose ` for verbose output,
93
- - ` --expand-terms ` for printing the KORE terms in the trace instead of their sizes and
91
+ - ` --expand-terms ` for printing the KORE terms in the trace instead of their sizes and
94
92
- ` --streaming-parser ` to use the streaming parser instead of the default one.
95
93
96
94
The tool will output the trace in a human-readable format to the standard output.
@@ -141,12 +139,12 @@ state(s(s(z())), z())
141
139
142
140
``` Bash
143
141
kompile add-rewrite.k --llvm-proof-hint-instrumentation
144
- krun input.add-rewrite --proof-hint > input.add-rewrite.hints
142
+ krun input.add-rewrite --proof-hint --output-file input.add-rewrite.hints
145
143
```
146
144
147
145
### Commands to print the Proof Trace in human-readable format
148
146
149
147
``` Bash
150
- kore-rich-header add-rewrite-kompiled/definition.kore > add-rewrite.header
148
+ kore-rich-header add-rewrite-kompiled/definition.kore -o add-rewrite.header
151
149
kore-proof-trace add-rewrite.header input.add-rewrite.hints --expand-terms --verbose
152
150
```
0 commit comments