| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Finish CompleteTree.heapRemoveLastWithIndexReturnsItemAtIndex | Andreas Grois | 2024-07-21 | 1 | -1/+105 |
| | | |||||
| * | Heap: Unfinished proof RemoveLastWithIndex returns consistent data. | Andreas Grois | 2024-07-20 | 1 | -0/+34 |
| | | |||||
| * | Minor: Replace some simp by simp only in BinaryHeap | Andreas Grois | 2024-07-20 | 1 | -57/+61 |
| | | |||||
| * | Remove CompleteTree.indexOfLast, add CompleteTree.heapRemoveLastWithIndex | Andreas Grois | 2024-07-20 | 1 | -60/+77 |
| | | | | | | indexOfLast was going through the tree the same way as heapRemoveLast did, so heapRemoveLast now can optionally compute the index. | ||||
| * | Heap: Further nomenclature improvements. | Andreas Grois | 2024-07-19 | 1 | -28/+28 |
| | | |||||
| * | Make CompleteTree.heapRemoveLast private. | Andreas Grois | 2024-07-19 | 1 | -40/+38 |
| | | | | | | | | It's confusing, because it uses breadth-first indexing, and regular indices are depth-first. Also, it's not needed in the public API, as there is the removeAt function that can do the same. | ||||
| * | Heap: Nomenclature clarified. Push and Pop now do what is expected. | Andreas Grois | 2024-07-19 | 1 | -111/+111 |
| | | |||||
| * | Heap: Exchange return values of the remove/replace functions. | Andreas Grois | 2024-07-19 | 1 | -56/+56 |
| | | | | | This makes it easier to extend them, due to the right-associativity of tuples. | ||||
| * | Factor out proofs of CompleteTree.popLast for readability | Andreas Grois | 2024-07-19 | 1 | -52/+44 |
| | | |||||
| * | Heap: Minor cleanup. Do a TODO. | Andreas Grois | 2024-07-17 | 1 | -92/+68 |
| | | |||||
| * | Finish BinaryHeap.RemoveAt. | Andreas Grois | 2024-07-16 | 1 | -25/+119 |
| | | | | | There is still a helper in this that is very inefficient though... | ||||
| * | Continue on CompleteTree.heapReplaceElementAtIsHeap. Nearly done. | Andreas Grois | 2024-07-15 | 1 | -13/+72 |
| | | |||||
| * | Further work on heapReplaceElementAtIsHeap | Andreas Grois | 2024-07-14 | 1 | -2/+23 |
| | | |||||
| * | Continue at CompleteTree.heapReplaceElementAtIsHeap | Andreas Grois | 2024-07-14 | 1 | -1/+22 |
| | | |||||
| * | BinaryHeap.RemoveRoot added, and some proofs cleaned up a bit | Andreas Grois | 2024-07-14 | 1 | -22/+26 |
| | | |||||
| * | Finish CompleteTree.heapReplaceRootIsHeap. | Andreas Grois | 2024-07-14 | 1 | -9/+42 |
| | | |||||
| * | Continue proof for heapReplaceRootIsHeap (heapReplaceElementAtIsHeap) | Andreas Grois | 2024-07-13 | 1 | -7/+56 |
| | | |||||
| * | Squashed commit of the following: | Andreas Grois | 2024-07-12 | 10 | -192/+190 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 7aeefe2e761a4892ff2f438e00f3ec7e6d286c5c Author: Andreas Grois <andi@grois.info> Date: Fri Jul 12 21:59:44 2024 +0200 Finish Lean 4.9 update. commit 8a5576ae983203035f6bf0c807b36f1b4d7b63a6 Author: Andreas Grois <andi@grois.info> Date: Fri Jul 12 21:40:21 2024 +0200 Lean 4.9 upgrade, heap is where it was before... commit db34881e21391c96a6a0b939552b0f6f77d05bd8 Author: Andreas Grois <andi@grois.info> Date: Fri Jul 12 00:31:22 2024 +0200 Further Lean 4.9 compat... commit 22444613d58c5bd1a3fcdad0cd6c8d3aee1f3214 Author: Andreas Grois <andi@grois.info> Date: Thu Jul 11 22:15:11 2024 +0200 Further Lean 4.9 porting commit a4ace32cbb02959f9625578b511c2486e0816367 Author: Andreas Grois <andi@grois.info> Date: Wed Jul 10 23:18:29 2024 +0200 Continue porting to Lean 4.9 commit d0f411bcc42b5cb7c72c2ed65ae35875c72e95dd Author: Andreas Grois <andi@grois.info> Date: Wed Jul 10 23:10:34 2024 +0200 Continue port to Lean 4.9 commit 835ce644b97840048de0df40676ff6f3a8b99985 Author: Andreas Grois <andi@grois.info> Date: Wed Jul 10 22:14:59 2024 +0200 Partial port to Lean 4.9. Not compiling yet. | ||||
| * | Continue on CompleteTree.heapReplaceElementAtIsHeap | Andreas Grois | 2024-07-10 | 2 | -9/+217 |
| | | |||||
| * | Finish CompleteTree.get implementation. Not proven to be correct yet. | Andreas Grois | 2024-06-30 | 2 | -6/+15 |
| | | |||||
| * | partial implementation of CompleteTree.get | Andreas Grois | 2024-06-30 | 1 | -0/+18 |
| | | |||||
| * | CompleteTree.replaceElementAt finished - now needs proof | Andreas Grois | 2024-06-30 | 1 | -22/+40 |
| | | |||||
| * | Partial implementation of CompleteTree.removeAtIndex | Andreas Grois | 2024-06-30 | 2 | -3/+66 |
| | | |||||
| * | CompleteTree.popLastIsHeap finished. | Andreas Grois | 2024-06-29 | 1 | -2/+14 |
| | | |||||
| * | Continue on popLast proof. popLastLeavesRoot finished. | Andreas Grois | 2024-06-28 | 1 | -13/+59 |
| | | |||||
| * | Continue on popLast validity proof. Still incomplete. | Andreas Grois | 2024-06-27 | 1 | -5/+57 |
| | | |||||
| * | Heap: Trivial part of popLastIsHeap proof. | Andreas Grois | 2024-03-31 | 1 | -0/+16 |
| | | |||||
| * | Make BinaryTree.PopLast function work with unfold | Andreas Grois | 2024-01-30 | 1 | -32/+34 |
| | | | | | at the cost of making it harder to read. | ||||
| * | Make Find function take a predicate. Simplify PopLast. | Andreas Grois | 2024-01-25 | 1 | -27/+26 |
| | | |||||
| * | Minor, rename wellDefinedLt to wellDefinedLe | Andreas Grois | 2024-01-13 | 1 | -4/+4 |
| | | |||||
| * | Change heap from less-than to less-than-or-equal. | Andreas Grois | 2024-01-13 | 1 | -148/+83 |
| | | | | | | This not only simplifies the proofs, it also makes the structure easier to use. | ||||
| * | Fix Heap Insert preserves Heap Proof. Preconditions were wrong. | Andreas Grois | 2024-01-13 | 1 | -18/+59 |
| | | | | | | | | | And with wrong I mean "unfulfillable if any elements in the heap should be equal to each other". I'm still not fully happy with this, as it relies on lt being compatible with Eq, but yeah, it works for now. | ||||
| * | Rename not_equal to antisymm, because that's what it is. | Andreas Grois | 2024-01-10 | 1 | -7/+7 |
| | | |||||
| * | (Finally) rename BalancedTree to CompleteTree | Andreas Grois | 2024-01-10 | 1 | -52/+52 |
| | | |||||
| * | Implement actual BinaryHeap.insert function. | Andreas Grois | 2024-01-10 | 1 | -0/+6 |
| | | |||||
| * | Proof that heap insert preserves a heap is done! | Andreas Grois | 2024-01-10 | 1 | -3/+73 |
| | | |||||
| * | Heap.insert: Insert-Left is proven now. | Andreas Grois | 2024-01-10 | 1 | -7/+45 |
| | | |||||
| * | More progress on heap.insert proof | Andreas Grois | 2024-01-09 | 1 | -8/+25 |
| | | |||||
| * | Further progress on heap insert proof. | Andreas Grois | 2024-01-08 | 1 | -12/+10 |
| | | |||||
| * | Progress on the proof that heap.insert keeps the heap intact. | Andreas Grois | 2024-01-08 | 1 | -0/+17 |
| | | |||||
| * | Unfinished proof that insert keeps heap a heap | Andreas Grois | 2024-01-05 | 1 | -31/+99 |
| | | |||||
| * | Even more cleanup in Heap | Andreas Grois | 2023-12-18 | 2 | -6/+6 |
| | | |||||
| * | More cleanup of code in BinaryHeap. | Andreas Grois | 2023-12-18 | 2 | -55/+61 |
| | | | | | | Finally the propositions about even and odd numbers are no longer decidable. Not that I accidentally use them in runtime code! | ||||
| * | Partial cleanup of Heap | Andreas Grois | 2023-12-18 | 3 | -119/+119 |
| | | |||||
| * | Heap now has balancing conditions complete | Andreas Grois | 2023-12-18 | 1 | -18/+174 |
| | | |||||
| * | Heap: At least one subtree needs to be perfect now. | Andreas Grois | 2023-12-15 | 1 | -13/+113 |
| | | |||||
| * | Rename file to BinaryHeap, as it isn't a BTree | Andreas Grois | 2023-12-13 | 2 | -30/+30 |
| | | |||||
| * | BinTreeHeap: Add condition le m n | Andreas Grois | 2023-12-12 | 1 | -19/+51 |
| | | |||||
| * | Incomplete Heap implementation. | Andreas Grois | 2023-12-11 | 5 | -8/+146 |
| | | |||||
| * | Day9: Simplify proof of termination | Andreas Grois | 2023-12-09 | 1 | -1/+1 |
| | | |||||
