Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
9c8dfb9
Change qsort to use proven in-bounds accesses
lyphyser Sep 14, 2024
5e5aff7
fix whitespace
lyphyser Sep 14, 2024
aaa369d
replace by_cases with dsimp only + split
lyphyser Sep 14, 2024
9b91779
import tactics
lyphyser Sep 14, 2024
3c06e7f
correct imports so that it builds in Init/
lyphyser Sep 14, 2024
b518d33
minor change qsort API to provide bounds as hypotheses
lyphyser Sep 14, 2024
8702e68
make qpartition take a function and call it instead of returning a pair
lyphyser Sep 15, 2024
3ebba57
inline qpartition into qsort
lyphyser Sep 15, 2024
ec4f463
add comment, simplify the code
lyphyser Sep 15, 2024
8b554c7
move swap into else branch, since it's a no-op in the if because i ==…
lyphyser Sep 15, 2024
bd990c5
rename and rearrange code
lyphyser Sep 15, 2024
5319c45
add initial proof that qsort sorts (both ordering and permutation pro…
lyphyser Sep 15, 2024
54b3f48
add size_dite
lyphyser Sep 16, 2024
2e5b27b
State the nat lemmas as iffs with clean proofs
lyphyser Sep 16, 2024
00dc080
rename theorems
lyphyser Sep 16, 2024
52101f7
rename nat lemmas to follow mathlib naming convention
lyphyser Sep 16, 2024
bcdb315
remove unnecessary low <= high hypothesis
lyphyser Sep 16, 2024
65a5ac6
remove high < as.size hypothesis, add single inlined check in qsort
lyphyser Sep 16, 2024
d4b3a77
style
lyphyser Sep 16, 2024
0a1f6e1
do IPerm.trans in the callers to simplify definitions
lyphyser Sep 16, 2024
6a060e5
change IOrdered to support both lt and le
lyphyser Sep 16, 2024
b71ba3a
.
lyphyser Sep 16, 2024
9040692
start, first part of rel work
lyphyser Sep 16, 2024
3707d3f
rel work
lyphyser Sep 16, 2024
f552bf1
new algorithm compiles
lyphyser Sep 16, 2024
5f212f7
ITransLeB compiles!!!
lyphyser Sep 17, 2024
d0beff5
delete commented out code
lyphyser Sep 17, 2024
b12fb8c
Make generic structs take Props instead of Bools
lyphyser Sep 17, 2024
14a124e
delete most implicits in favor of autoimplicit
lyphyser Sep 17, 2024
7330b4b
initial refactor to typeclasses for transport
lyphyser Sep 17, 2024
09fdf1a
more refactor to typeclasses
lyphyser Sep 17, 2024
cccfc74
use repeat' instead of repeat any_goals
lyphyser Sep 17, 2024
ec64dd9
restore glue_with_pivot
lyphyser Sep 17, 2024
b20952b
object refactoring
lyphyser Sep 17, 2024
f6b5d88
fixes
lyphyser Sep 17, 2024
8b598e5
refactor
lyphyser Sep 17, 2024
72d6d30
Proof is now as strict as possible
lyphyser Sep 17, 2024
b07daae
remove duplicated size_ite/size_dite
lyphyser Sep 17, 2024
c8712cb
add theorems that qsort sorts for lawful < and <=
lyphyser Sep 18, 2024
e2b39e4
fix indentation
lyphyser Sep 18, 2024
2f286e4
improve doc comments
lyphyser Sep 18, 2024
0cf4cd2
fix doc comments
lyphyser Sep 18, 2024
06e8e5d
split into multiple files
lyphyser Sep 18, 2024
945db5e
clean up interval preds
lyphyser Sep 18, 2024
bc17d4c
Add doc comment for qsort
lyphyser Sep 18, 2024
eeec6f1
weaken hypotheses on Completion
lyphyser Sep 18, 2024
d4257e1
add proof that ISortOf of TransGen is equal to ISortOf of f in < and …
lyphyser Sep 18, 2024
87917b8
use <-> for props instead of =
lyphyser Sep 18, 2024
6bc8d68
style
lyphyser Sep 18, 2024
f4a2a24
style
lyphyser Sep 18, 2024
e8582e4
rename eq to iff
lyphyser Sep 18, 2024
8496bbb
rename
lyphyser Sep 18, 2024
ba46fb7
more eq to iff
lyphyser Sep 18, 2024
4dc2182
more ISortOf results
lyphyser Sep 18, 2024
cbcbb3d
Merge remote-tracking branch 'upstream/master' into qsort-with-proven…
lyphyser Sep 20, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 0 additions & 5 deletions lean.code-workspace
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,6 @@
"cmake.generator": "Unix Makefiles",
"[markdown]": {
"rewrap.wrappingColumn": 70
},
"[lean4]": {
"editor.rulers": [
100
]
}
},
"tasks": {
Expand Down
Loading