Commit graph

2411 commits

Author SHA1 Message Date
Sebastian Ullrich
187a614575 chore: make tryFinally a def 2021-02-17 12:04:20 +01:00
Leonardo de Moura
d1009e8405 chore: add simp lemmas, theorem naming convention 2021-02-16 11:53:49 -08:00
Leonardo de Moura
504a015f9b fix: borrowing annotations 2021-02-16 10:30:30 -08:00
Sebastian Ullrich
e8812ed834 fix: memory leak at Nat.ble 2021-02-16 14:24:28 +01:00
Leonardo de Moura
4ec85a39a5 fix: Not should not be reducible, special support for Ne
Unification hint for `Not`
2021-02-15 17:36:11 -08:00
Leonardo de Moura
99ba21a881 chore: annotations for simp 2021-02-15 17:04:47 -08:00
Leonardo de Moura
1c5de9842d feat: use decide at simp 2021-02-15 13:08:45 -08:00
Leonardo de Moura
51bdf670fa chore: add simp helper lemmas 2021-02-15 12:42:13 -08:00
Leonardo de Moura
9528c1abd7 chore: add basic simp lemmas
TODO: consistent naming convention for theorems.

cc @Kha
2021-02-15 11:32:19 -08:00
Leonardo de Moura
2944da2a0b feat: use simp itself as default method for discharging hypotheses of conditional rewriting rules 2021-02-13 18:55:19 -08:00
Leonardo de Moura
1a4eaa2418 chore: arguments occurring in the lhs should be marked as implicit 2021-02-13 18:55:19 -08:00
Sebastian Ullrich
75243e7f24 feat: change back seqLeft/Right signature
This was originally changed for the sake of `do`, which does not depend on it anymore
2021-02-12 17:08:06 -08:00
Leonardo de Moura
16a6778fb6 fix: avoid nonstandard instances at ite and dite congruence lemmas
cc @gebner
2021-02-12 16:52:56 -08:00
Leonardo de Moura
3a66dbf0fd chore: annotate ite/dite congruence lemmas 2021-02-11 17:55:42 -08:00
Leonardo de Moura
c0f5ab1fa5 feat: add congruence lemmas for simp 2021-02-11 14:07:01 -08:00
Leonardo de Moura
09ad6cc50a fix: fixes #306 fixes #307 2021-02-06 12:31:51 -08:00
Leonardo de Moura
f57c184dbd chore: remove = true old workarounds
@Kha The old `= true` workarounds are not needed anymore, they were
due to another issue and are not related to yesterday's issue.
That is, the one exposed by the `ForIn` typeclass.
2021-02-05 13:48:03 -08:00
Leonardo de Moura
d0ffecd419 chore: consistency
Make sure `Array.all` and `Array.any` parameter order is similar to
`List.all` and `List.any`.
2021-02-04 20:39:28 -08:00
Leonardo de Moura
53539b1dff chore: use polymorphic method forIn 2021-02-04 18:13:01 -08:00
Leonardo de Moura
aae8a35150 feat: add ForIn type class 2021-02-04 17:59:44 -08:00
Leonardo de Moura
d956f0ae9f feat: use destructTuple to compile for in notation instead of pattern matchin 2021-02-04 17:17:51 -08:00
Leonardo de Moura
768f2642bd chore: document why alternative Stream design does not work 2021-02-04 17:17:51 -08:00
Sebastian Ullrich
bdf7b15a41 feat: basic unexpanders for Exists & Sigma
A bit brittle and not quite complete, but probably good enough in practice
2021-02-04 11:04:37 +01:00
Leonardo de Moura
f4c9f7e163 chore: remove id_delta (aka idDelta)
It is a leftover from Lean 3.
2021-02-02 13:59:37 -08:00
Leonardo de Moura
fba719ff02 chore: adjust WF.lean 2021-02-01 18:08:48 -08:00
Leonardo de Moura
e583b3bdc0 feat: allow @ modifier at inductionAlt 2021-02-01 17:13:51 -08:00
Leonardo de Moura
af7db05000 chore: remove nested outParam 2021-01-29 17:13:03 -08:00
Wojciech Nawrocki
28d6a1ebe1 fix: go-to-def paths on Windows 2021-01-28 11:45:33 -08:00
Leonardo de Moura
4a19a5d2a4 refactor: move Eq.trans to Prelude.lean
We need it at `SizeOf.lean`
2021-01-27 18:27:04 -08:00
Leonardo de Moura
5f704b6b6f chore: fix option name 2021-01-26 18:30:46 -08:00
Leonardo de Moura
be7ddef689 refactor: move congr and congrFun to Prelude.lean
We use them to generate the `sizeOf` lemmas.
2021-01-25 17:18:08 -08:00
Leonardo de Moura
d408c835d2 fix: defaultInstance priorities for Neg Int and OfScientific Float 2021-01-25 13:21:07 -08:00
Leonardo de Moura
d834d88b88 fix: performance bottleneck
@Kha @dselsam

The instances
```
instance (sep) : Coe (Array Syntax) (SepArray sep)

instance (sep) : Coe (SepArray sep) (Array Syntax)
```
The instances above generate a loop. The current `isNewAnswer`
predicate is too weak and assumes that answers with different
metavariables are different. Note that, using `isDefEq` there is
incorrect and too expensive. I will fix this later in the future.
In the meantime, I am using `CoeTail` to avoid the loop.
2021-01-24 17:45:50 -08:00
Leonardo de Moura
7ff62ee46b feat: add CoeHTCT 2021-01-24 17:45:50 -08:00
Leonardo de Moura
acfac85ac0 feat: add IO.getNumHeartbeats 2021-01-24 17:45:50 -08:00
Sebastian Ullrich
446f953461 feat: allow hygienic capture of section variables in quotations 2021-01-24 11:46:04 -08:00
Wojciech Nawrocki
a3f5aca22f fix: tail-recursive readBinToEnd 2021-01-22 18:02:31 +01:00
Wojciech Nawrocki
8addea6e74 chore: remove Handle.size 2021-01-22 18:02:31 +01:00
Sebastian Ullrich
0c91b3769e chore: replace variables in src/ 2021-01-22 14:36:05 +01:00
Leonardo de Moura
1f88d66035 feat: add missing instances 2021-01-21 10:35:22 -08:00
Leonardo de Moura
e8401ea6e7 chore: remove old instances 2021-01-20 18:12:35 -08:00
Leonardo de Moura
7c6d09496e chore: define SizeOf Lean.Name instance manually 2021-01-20 18:07:14 -08:00
Leonardo de Moura
46c62a3fed chore: add missing instances 2021-01-20 17:53:43 -08:00
Leonardo de Moura
ce11b23a59 feat: use deriving insertion sizeOf for types defined at Prelude.lean 2021-01-20 17:48:17 -08:00
Leonardo de Moura
ad913de340 refactor: define SizeOf before Core.lean 2021-01-20 17:07:02 -08:00
Sebastian Ullrich
21a826ee51 chore: naming 2021-01-20 22:47:18 +01:00
Mohamed Al-Fahim
53750ddae6 chore: fix typos 2021-01-20 22:43:25 +01:00
Sebastian Ullrich
a9f96ace3e chore: naming 2021-01-20 16:48:50 +01:00
Sebastian Ullrich
79107a2316 feat: copy & store whole ref range in SourceInfo 2021-01-20 16:48:50 +01:00
Sebastian Ullrich
462e1d54a3 chore: replace uses of copyInfo with automatic position copying in syntax quotations
We could introduce a `copyPos` alternative, but turns out we don't need it right now
2021-01-20 16:48:50 +01:00