summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSon HO2024-05-29 08:11:07 +0200
committerGitHub2024-05-29 08:11:07 +0200
commitacd9eb9caa74d4def48527cfa8b7f12eb78f92ad (patch)
treeb39aa5fc1b0ee14d2b984c14945ba383d6dac2fd
parentdc6737c2a74c2c5caa054c84f39b0f1edea2d1c2 (diff)
parent9ba6fc9b83b773ed4aa0e5a90d9103ecd700323d (diff)
Merge pull request #222 from AeneasVerif/son/readme
Update the README
Diffstat (limited to '')
-rw-r--r--README.md13
1 files changed, 7 insertions, 6 deletions
diff --git a/README.md b/README.md
index 86c1b31e..82f1da55 100644
--- a/README.md
+++ b/README.md
@@ -94,13 +94,11 @@ design a mechanism to allow using Aeneas in combination with tools targeting uns
We have the following limitations, that we plan to address one by one:
- **loops**: no nested loops for now. We are working on lifting this limitation.
-- **no functions pointers/closures/traits**: ongoing work. We are actively working on this
- and plan to have support soon.
+- **no functions pointers/closures**: ongoing work. We have support for traits and
+ will have support for function pointers and closures soon.
- **limited type parametricity**: it is not possible for now to instantiate a type
parameter with a type containing a borrow. This is mostly an engineering
- issue. We intend to quickly address the issue for types (i.e., allow `Option<&mut T>`),
- and later address it for functions (i.e., allow `f<&mut T>` - we consider this to
- be less urgent).
+ issue.
- **no nested borrows in function signatures**: ongoing work.
- **interior mutability**: ongoing work. We are thinking of modeling the effects of
interior mutability by using ghost states.
@@ -123,4 +121,7 @@ A tutorial for the Lean backend is available [here](./tests/lean/Tutorial.lean).
The translation has been formalized and published at ICFP2022: [Aeneas: Rust
verification by functional
translation](https://dl.acm.org/doi/abs/10.1145/3547647)
-([long version](https://arxiv.org/abs/2206.07185)).
+([long version](https://arxiv.org/abs/2206.07185)). We also have a proof that
+the symbolic execution performed by Aeneas during its translation correctly
+implements a borrow checker, and published it in a
+[preprint](https://arxiv.org/abs/2404.02680).