Skip to content

Commit fa64807

Browse files
Update proof-trace.md with new changes (#1079)
This small PR removes the mention of the sentinel delimiter at the end of KORE terms and replaces the output method from redirecting it to a file to use the proper output flag of `krun` (`--output-file`) and of `kore-rich-header` (the recently added `-o`). --------- Co-authored-by: Bruce Collie <[email protected]>
1 parent 4176d80 commit fa64807

File tree

1 file changed

+8
-10
lines changed

1 file changed

+8
-10
lines changed

docs/proof-trace.md

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,22 +8,20 @@ flag should have been passed to `kompile` or directly to `llvm-kompile`.
88
We currently offer two modes of instrumentation: the default one is enabled with the flag
99
`--proof-hint-instrumentation`, while a slower one that generates a longer trace with all
1010
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
1212
development on it continues. Watch for the version of the trace format in the header of
13-
the trace.
13+
the trace.
1414

1515
## Overview
1616

1717
The information presented by the trace starts with the initial configuration of the execution,
1818
followed by a sequence of rewrite steps consisting of which rule applied and the variable substitutions
1919
for that rule, and finally the configuration at the end of the execution. If slow instrumentation
2020
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.
2222

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.
2725

2826
## Grammar
2927

@@ -90,7 +88,7 @@ We provide a tool to deserialize the binary trace to a human-readable format. Th
9088
and it takes two arguments: the path to the binary header and to the binary trace file.
9189
It can take 3 flags:
9290
- `--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
9492
- `--streaming-parser` to use the streaming parser instead of the default one.
9593

9694
The tool will output the trace in a human-readable format to the standard output.
@@ -141,12 +139,12 @@ state(s(s(z())), z())
141139

142140
```Bash
143141
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
145143
```
146144

147145
### Commands to print the Proof Trace in human-readable format
148146

149147
```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
151149
kore-proof-trace add-rewrite.header input.add-rewrite.hints --expand-terms --verbose
152150
```

0 commit comments

Comments
 (0)