Commit graph

114 commits

Author SHA1 Message Date
Leonardo de Moura
e15a656fd2 fix: remove @[reducible] annotation from Function.comp and Function.const
closes #813
2021-11-23 07:29:25 -08:00
tydeu
3f867acfd7 feat: decidable Prop Eq based on propext 2021-11-05 14:09:53 -07:00
Leonardo de Moura
094b70c3d4 feat: add notation for Sum and PSum 2021-09-25 18:24:27 -07:00
Leonardo de Moura
0a898965a3 chore: use snake_case for user-facing tactic names 2021-09-16 10:23:12 -07:00
Leonardo de Moura
6fb2a2b47b chore: remove notation for HEq
We don't really needed it here.
2021-09-15 08:06:32 -07:00
Leonardo de Moura
ab63382158 feat: add helper functions for optimized noConfusion 2021-09-06 10:33:34 -07:00
Leonardo de Moura
33a0da8c6f chore: remove simp annotation from PUnit.eq_punit
closes #635
2021-08-19 11:22:13 -07:00
Leonardo de Moura
8d90872d28 chore: add not_not_intro 2021-08-17 21:32:32 -07:00
François G. Dorais
358a129d78 fix: protect rfl 2021-08-07 13:25:54 -07:00
Leonardo de Moura
9cc94296e5 chore: remove staging workaround theorems 2021-08-07 12:52:31 -07:00
Leonardo de Moura
a821dcbff2 chore: enforce naming convention for theorems
see issue #402

fix: `ElabTerm.lean`
2021-08-07 12:48:38 -07:00
Leonardo de Moura
ea37a29e4c chore: remove TODO 2021-08-02 20:25:29 -07:00
Leonardo de Moura
cfb7e27b87 fix: isStructure vs isStructureLike 2021-08-02 18:54:19 -07:00
François G. Dorais
1db0bca914 fix: protect Equiv 2021-07-02 10:17:38 -07:00
Leonardo de Moura
f4a7ffd8c8 chore: fix codebase and tests 2021-06-29 17:14:52 -07:00
Sebastian Ullrich
6857076df4 feat: leanpkg build without external dependencies 2021-05-30 17:29:54 +02:00
Sebastian Ullrich
a02c6fd3eb chore: adapt stdlib & tests 2021-05-20 15:17:36 -07:00
Leonardo de Moura
4dabfef0e3 chore: remove done 2021-05-15 18:57:27 -07:00
Leonardo de Moura
c7096f54a2 feat: injectivity theorems for types defined in the prelude 2021-05-14 18:32:26 -07:00
Leonardo de Moura
f850820029 feat: add mkInjectiveTheorems 2021-05-13 22:09:50 -07:00
Sebastian Ullrich
99864bbb31 chore: reintroduce as regular notation 2021-05-06 22:41:23 +02:00
Leonardo de Moura
9552b6c95f feat: add Macro.hasDecls and Macro.getCurrNamespace
We need update stage0, and cleanup
2021-04-23 17:51:28 -07:00
Sebastian Ullrich
8895ed47e5 refactor: clean up Thunk
Fixes a bug in the native implementation of `Thunk.bind` by deleting it
2021-04-22 20:29:08 -07:00
Leonardo de Moura
3a80e87793 chore: #405 step 1 2021-04-22 20:03:48 -07:00
Leonardo de Moura
b3ec00b00a chore: use "discriminant refinement" 2021-03-24 10:43:43 -07:00
Leonardo de Moura
d03f5fe318 feat: add trivial extensible (macro) tactic 2021-03-24 09:50:56 -07:00
Leonardo de Moura
2dfd262e4d chore: cleanup 2021-03-24 09:50:56 -07:00
Leonardo de Moura
c54a7c8ccc chore: make HasEquiv more general 2021-03-13 07:02:35 -08:00
Leonardo de Moura
e5f1bd2eb9 chore: fix Core.lean 2021-03-07 12:08:37 -08:00
Leonardo de Moura
e841f16738 fix: typo in theorem
`()` is `Unit`
2021-03-03 19:50:11 -08:00
Leonardo de Moura
162062b3de feat: improve Lawful.lean 2021-02-23 12:38:00 -08:00
Leonardo de Moura
d0574d8eb1 feat: add LawfulMonad for StateT 2021-02-21 10:52:53 -08: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
aae8a35150 feat: add ForIn type class 2021-02-04 17:59:44 -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
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
Sebastian Ullrich
0c91b3769e chore: replace variables in src/ 2021-01-22 14:36:05 +01:00
Leonardo de Moura
ad913de340 refactor: define SizeOf before Core.lean 2021-01-20 17:07:02 -08:00
Leonardo de Moura
244b72befd feat: simpArrow 2021-01-01 17:15:15 -08:00
Leonardo de Moura
ce09e795b9 feat: finalizeProof at rewrite step 2021-01-01 11:33:34 -08:00
Leonardo de Moura
4a06057410 feat: simp 2020-12-31 15:44:18 -08:00
Leonardo de Moura
3b6d65c3c3 chore: use deriving Inhabited 2020-12-13 10:09:20 -08:00
Leonardo de Moura
d734a2605b chore: adjust stdlib 2020-11-29 17:01:56 -08:00
Leonardo de Moura
e21b4a6399 feat: nicer syntax for unification hints 2020-11-27 19:18:18 -08:00
Leonardo de Moura
ebba9d119d feat: unification hints 2020-11-27 18:12:49 -08:00
Leonardo de Moura
0869f38de4 chore: update structure, class, inductive 2020-11-27 15:09:30 -08:00
Leonardo de Moura
d6f778bec4 refactor: arbitrary without explicit arguments
@Kha I was tired of writing `arbitrary _` :)
There 0 places in the stdlib where the type needs to be provided.
If in the future we need to specify the type we can use
`arbitrary (α := <type>)`
2020-11-25 09:07:38 -08:00
Leonardo de Moura
f456e006dc chore: test instance ... where 2020-11-23 18:24:23 -08:00
Leonardo de Moura
304c80d610 feat: use <| 2020-11-19 09:03:38 -08:00