-
Notifications
You must be signed in to change notification settings - Fork 14
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add an AVL tree in the examples (#283)
* tests: add AVL example Signed-off-by: Ryan Lahfa <[email protected]> * tests: add Lean formalization for AVL Signed-off-by: Ryan Lahfa <[email protected]> * Fix minor extraction issues * Start fixing the AVL tree example * Commit some missing files * Make a minor modification * Update the code of the AVL tree * Fix the code of the AVL tree * Regenerate the code of the AVL tree * Make progress on updating the proofs of the AVL trees * Make progress on updating the proofs of the AVL tree * Make minor modifications to the AVLs * Move and update the code of the AVL tree * Regenerate the Lean model for the AVL tree * Generate simp lemmas for the custom field projectors * Regenerate the types for the AVL test * Make progress on the proof of the AVL tree * Make progress on the proofs * Make progress on the proofs of the AVL tree * Make progress on the proofs of the AVL * Cleanup a bit * Cleanup a bit * Do more cleanup * Make progress on the AVL tree * Make good progress on the avl * Make minor modifications * Fix pspec for mutually recursive functions * Regenerate the test files * Improve pspec and progress and cleanup a bit * Add a comment * Fix an issue with the CI and regenerate the tests * Cleanup * Do more cleanup * Make progress generate warnings instead of errors if there are too many ids * Fix a CI issue * Fix a bug in destructure_abs * Cleanup a bit * Fix a minor issue in the flake.nix --------- Signed-off-by: Ryan Lahfa <[email protected]> Co-authored-by: Ryan Lahfa <[email protected]>
- Loading branch information
Showing
33 changed files
with
2,474 additions
and
86 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
import Lean | ||
|
||
-- This simplification lemma is very useful especially for the kind of theorems we prove, | ||
-- which are of the shape: `∃ x y ..., ... ∧ ... ∧ ...`. | ||
-- Using this simp lemma often triggers simplifications like the instantiation of the | ||
-- existential quantifiers when there is an equality somewhere: | ||
-- `∃ x, x = y ∧ P x` gets rewritten to `P y` | ||
attribute [simp] and_assoc |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.