Skip to content
Snippets Groups Projects
Commit d0716dc6 authored by Ralf Jung's avatar Ralf Jung
Browse files

more edits

parent 1d6d9a6d
No related branches found
No related tags found
No related merge requests found
...@@ -20,7 +20,9 @@ You can also run them in Miri via "Tools" - "Miri", which will show a Stacked Bo ...@@ -20,7 +20,9 @@ You can also run them in Miri via "Tools" - "Miri", which will show a Stacked Bo
We have given informal proof sketches of optimizations based on Stacked Borrows We have given informal proof sketches of optimizations based on Stacked Borrows
in the paper. To further increase confidence in the semantics, we formalized in the paper. To further increase confidence in the semantics, we formalized
these arguments in Coq (about 14KLOC). We have carried out the proofs of the these arguments in Coq (about 14KLOC). We have carried out the proofs of the
transformations mentioned in the paper: `example1`, `example2`, `example2_down`, `example3_down`. transformations mentioned in the paper: `example1`, `example2`, `example2_down`,
`example3_down`; as well as two more variants to complete the picture,
`example1_down` and `example3`.
### What to look for ### What to look for
...@@ -36,10 +38,10 @@ The directory structure is as follows: ...@@ -36,10 +38,10 @@ The directory structure is as follows:
- Adequacy (that the simulation implies behavior inclusion) is in `sim/local_adequacy.v`, `sim/global_adequacy.v`, and `sim/program.v`. - Adequacy (that the simulation implies behavior inclusion) is in `sim/local_adequacy.v`, `sim/global_adequacy.v`, and `sim/program.v`.
- Properties of the simulation with respect to the operational semantics are - Properties of the simulation with respect to the operational semantics are
proven in `sim/body.v`, `sim/refl_pure_step.v`, `sim/refl_mem_step.v`, proven in `sim/body.v`, `sim/refl_pure_step.v`, `sim/refl_mem_step.v`,
`sim/left_step.v`, `sim/right_step.v`, `sim/simple.v`. `sim/left_step.v`, `sim/right_step.v`.
- The fundamental property that the simulation is reflexive is proven in - The main invariant needed for these properties is defined in `sim/invariant.v`.
`sim/refl.v`. - In `sim/simple.v`, we define an easier-to-use but less powerful derived simulation relation.
- The main invariant needed for these properties is in `sim/invariant.v`. - The fundamental property that the simulation is reflexive for well-formed terms is proven in `sim/refl.v`.
* `theories/opt`: Proofs of optimizations. * `theories/opt`: Proofs of optimizations.
For example, `theories/opt/ex1.v` provides the proof that the optimized For example, `theories/opt/ex1.v` provides the proof that the optimized
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment