Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | compiler: map `core::mem::swap` to the pure swap | Ryan Lahfa | 2024-04-24 | 1 | -0/+2 |
| | | | | | | | | | In the pure functional model, `swap` is mostly about borrow checking and should simplify to the pure swap in our backends. Other backends than Lean are not done in this commit. Signed-off-by: Ryan Lahfa <ryan.lahfa@inria.fr> | ||||
* | compiler: map `core::option::Option::take` to identity function | Ryan Lahfa | 2024-04-17 | 1 | -0/+2 |
| | | | | | | | | `take` in a pure functional model is the identity function and everything related to borrow checking is handled by the forward/backward mechanism. Signed-off-by: Ryan Lahfa <ryan.lahfa@inria.fr> | ||||
* | lean: scalars form a preorder | Ryan Lahfa | 2024-04-12 | 1 | -0/+10 |
| | | | | | | | | | | Via the canonical injection, we can easily define an induced preorder on scalars and inherit all nice properties. It's useful to reason on specific scalar preorders w.r.t. Ordering, see the binary search tree verification example. Signed-off-by: Ryan Lahfa <ryan.lahfa@inria.fr> | ||||
* | Add more definitions to the Lean library | Son Ho | 2024-04-12 | 4 | -0/+127 |
| | |||||
* | Reorganize the files in the Lean backend a bit | Son Ho | 2024-04-12 | 5 | -241/+266 |
| | |||||
* | Start adding integer functions to the Lean library | Son Ho | 2024-04-12 | 3 | -3/+266 |
| | |||||
* | Fix a proof | Son Ho | 2024-04-12 | 1 | -1/+0 |
| | |||||
* | Update the core.num.checked_* definitions | Son Ho | 2024-04-12 | 1 | -31/+233 |
| | |||||
* | Merge branch 'son/clean' into checked-ops | Son Ho | 2024-04-11 | 13 | -240/+241 |
|\ | |||||
| * | Merge remote-tracking branch 'origin/main' into son/clean | Son Ho | 2024-04-11 | 10 | -23/+26 |
| |\ | |||||
| | * | Update the lean toolchain and fix the proofs | Son Ho | 2024-04-05 | 9 | -20/+12 |
| | | | |||||
| | * | Fix the coerce notation for scalars and update some lemmas | Son Ho | 2024-04-04 | 1 | -4/+15 |
| | | | |||||
| * | | Rename Result.ret as Result.ok in the backends | Son Ho | 2024-04-04 | 8 | -217/+215 |
| |/ | |||||
* / | Add builtins for some checked ops such as checked_add | Zyad Hassan | 2024-04-03 | 1 | -0/+29 |
|/ | |||||
* | backend(/tests)/lean: 4.6.0-rc1 → 4.6.1 | Ryan Lahfa | 2024-03-25 | 1 | -1/+1 |
| | | | | | | 4.6.0 has been released in https://github.com/leanprover/lean4/releases/tag/v4.6.0 Signed-off-by: Ryan Lahfa <ryan.lahfa@inria.fr> | ||||
* | Fix a minor issue | Son Ho | 2024-03-18 | 1 | -1/+3 |
| | |||||
* | Regenerate the constants tests and update Primitives/Base.lean | Son Ho | 2024-03-18 | 1 | -1/+1 |
| | |||||
* | Fix an issue with the divergent encoding | Son Ho | 2024-03-09 | 1 | -3/+27 |
| | |||||
* | Fix tuple indexing for Lean backend | Zyad Hassan | 2024-03-08 | 1 | -1/+1 |
| | |||||
* | Update the generation of constant bodies for Lean | Son Ho | 2024-03-08 | 1 | -2/+2 |
| | |||||
* | Update the tuples syntax | Son Ho | 2024-03-08 | 1 | -1/+3 |
| | |||||
* | Update the tuples notations | Son Ho | 2024-03-08 | 3 | -51/+81 |
| | |||||
* | Remove some comments | Son Ho | 2024-03-08 | 1 | -31/+0 |
| | |||||
* | Update the handling of notations like #u32 or #isize | Son Ho | 2024-03-08 | 4 | -70/+104 |
| | |||||
* | Update the notation for heterogeneous negation | Son Ho | 2024-03-08 | 1 | -3/+12 |
| | |||||
* | Introduce a notation for constant scalars in match patterns | Son Ho | 2024-03-07 | 1 | -0/+29 |
| | |||||
* | Add a notation for tuple field accesses in Lean | Son Ho | 2024-03-07 | 1 | -0/+51 |
| | |||||
* | Cleanup a bit Scalar.lean | Son Ho | 2024-02-09 | 1 | -198/+198 |
| | |||||
* | Update the .gitignore files | Son Ho | 2024-02-02 | 1 | -1/+2 |
| | |||||
* | Fix more proofs | Son Ho | 2024-02-02 | 3 | -13/+16 |
| | |||||
* | Fix more proofs | Son Ho | 2024-02-02 | 1 | -56/+55 |
| | |||||
* | Update lean to v4.6.0-rc1 and start fixing the proofs | Son Ho | 2024-02-02 | 8 | -93/+120 |
| | |||||
* | Add some lemmas to the Lean backend | Son Ho | 2024-01-27 | 1 | -4/+14 |
| | |||||
* | Fix a minor issue with the progress tactic | Son Ho | 2024-01-27 | 2 | -82/+112 |
| | |||||
* | Improve the Lean backend | Son Ho | 2024-01-26 | 5 | -10/+52 |
| | |||||
* | Fix minor issues | Son Ho | 2023-12-22 | 1 | -0/+42 |
| | |||||
* | Fix the models for core::mem::replace | Son Ho | 2023-12-22 | 1 | -1/+1 |
| | |||||
* | Update the Lean standard library | Son Ho | 2023-12-22 | 5 | -81/+38 |
| | |||||
* | Update the extraction to handle casts between integers/bools | Son Ho | 2023-12-13 | 1 | -0/+4 |
| | |||||
* | Inline the let-bindings in the validity proofs | Son Ho | 2023-12-12 | 1 | -7/+40 |
| | |||||
* | Fix a minor issue with the divergent encoding | Son Ho | 2023-12-12 | 1 | -53/+80 |
| | |||||
* | Fix minor issues with the divergence encoding | Son Ho | 2023-12-12 | 1 | -14/+5 |
| | |||||
* | Make progress on supporting higher-order divergent functions | Son Ho | 2023-12-12 | 2 | -53/+95 |
| | |||||
* | Implement a map-reduce visitor for expressions and fix issues with ↵ | Son Ho | 2023-12-12 | 1 | -31/+81 |
| | | | | get{M,F}VarIds | ||||
* | Update the validity proofs for higher-order functions | Son Ho | 2023-12-11 | 2 | -11/+96 |
| | |||||
* | Start working on higher-order examples for Diverge | Son Ho | 2023-12-11 | 4 | -218/+355 |
| | |||||
* | Cleanup a bit | Son Ho | 2023-12-11 | 1 | -16/+47 |
| | |||||
* | Update Diverge/Elab.lean to use the more general FixII definitions | Son Ho | 2023-12-11 | 3 | -195/+387 |
| | |||||
* | Reorganize a bit | Son Ho | 2023-12-11 | 3 | -94/+49 |
| | |||||
* | Reactivate the sanity checks for the progress tactic | Son Ho | 2023-12-11 | 3 | -26/+24 |
| |