Commit graph

594 commits

Author SHA1 Message Date
Gabriel Ebner
3ef9149902 feat(library/tactic/tactic_state): add get_unused_name 2016-09-19 16:38:03 -07:00
Leonardo de Moura
24f1cb2726 chore(frontends/lean): new_elaborator is now the default 2016-09-19 16:34:06 -07:00
Leonardo de Moura
a9b1518042 feat(library/init/nat): make sure constructor like theorems are transparent, otherwise we can't used them as patterns 2016-09-19 15:33:39 -07:00
Leonardo de Moura
564bcaab94 chore(library/init): cleanup using anonymous constructor 2016-09-19 10:31:43 -07:00
Leonardo de Moura
ba974cc1d6 refactor(library/init/state): fix stateT at universe 1 2016-09-18 17:48:37 -07:00
Leonardo de Moura
5b747d75b1 refactor(library/init): make sure we don't use Type* in the stdlib 2016-09-18 10:37:18 -07:00
Leonardo de Moura
382928f0fa fix(library/init/logic): typo 2016-09-18 10:05:55 -07:00
Leonardo de Moura
ac87de33e7 fix(frontends/lean/structure_cmd): universe level validation in the structure command 2016-09-18 10:00:31 -07:00
Leonardo de Moura
4c15c9833d fix(frontends/lean/elaborator): use_elim_elab_core 2016-09-17 20:04:14 -07:00
Leonardo de Moura
75d5087d43 fix(library/type_context): using incorrect local_context at revert 2016-09-17 19:44:38 -07:00
Leonardo de Moura
14db9259f8 refactor(library/init): universe polymorphic monad library 2016-09-17 18:58:27 -07:00
Leonardo de Moura
90bfd84a07 feat(frontends/lean): Type is now (Type 1)
In the standard library, we should use explicit universe variables for
universe polymorphic definitions.

Users that want to declare universe polymorphic definitions but do not
want to provide universe level parameters should use
  Type _
or
  Type*
2016-09-17 14:30:54 -07:00
Leonardo de Moura
5e8f2add84 refactor(library/init): use universe variables 2016-09-17 12:25:02 -07:00
Leonardo de Moura
3bc71dd847 refactor(library/init/quot): use new elaborator 2016-09-17 11:31:03 -07:00
Daniel Selsam
52f87760d8 feat(src/library/inductive_compiler): support for nested inductive types 2016-09-16 12:50:59 -07:00
Leonardo de Moura
9e37a8d665 refactor(library/init/fin): use new elaborator 2016-09-16 12:50:52 -07:00
Leonardo de Moura
a53abd5d65 fix(library/type_context): branch is reachable 2016-09-16 09:04:59 -07:00
Leonardo de Moura
63be1418f7 refactor(library/init): move files to new elaborator 2016-09-16 08:31:21 -07:00
Leonardo de Moura
80e8315959 refactor(library/init): move files to new elaborator 2016-09-16 07:48:09 -07:00
Leonardo de Moura
c9e925dfb8 refactor(library/init/classical): use new elaborator 2016-09-15 18:48:15 -07:00
Leonardo de Moura
80ddb0e706 feat(frontends/lean/elaborator): use type class resolution for _ arguments even when @ (or @@) is used 2016-09-15 17:29:38 -07:00
Leonardo de Moura
30c3f87c30 refactor(library/init/classical): moving file to lean3 elaborator 2016-09-15 15:45:57 -07:00
Leonardo de Moura
7b1811ccd6 refactor(library/init): move more files to new elaborator 2016-09-15 14:58:52 -07:00
Leonardo de Moura
f42afe2b65 feat(frontends/lean/elaborator): [elab_with_expected_type] is the new default strategy 2016-09-15 14:45:52 -07:00
Leonardo de Moura
688178a2ae chore(library/init/logic): cleanup proofs 2016-09-15 14:21:41 -07:00
Leonardo de Moura
7f5fe55859 fix(library/init/logic): make sure logic.lean compiles with latest changes 2016-09-15 14:09:12 -07:00
Leonardo de Moura
0871b7734c chore(library/init/logic): remove leftover 2016-09-14 09:47:35 -07:00
Leonardo de Moura
83cc67ba67 feat(frontends/lean/definition_cmds): use . instead of [none] to represent the empty set of equations 2016-09-14 09:38:30 -07:00
Leonardo de Moura
6c84a0a7b1 feat(frontends/lean): use new notation for declaring universes in constant and structure decls 2016-09-13 21:45:16 -07:00
Leonardo de Moura
ce53c035bc feat(frontends/lean/decl_util): use the same notation for declaring universes in mutual and single decls 2016-09-13 21:05:18 -07:00
Leonardo de Moura
20cce8a0f6 feat(frontends/lean/parser): nicer notation for providing universes 2016-09-13 20:41:00 -07:00
Leonardo de Moura
06de4d156a refactor(library/init/logic): port to new elaborator 2016-09-13 16:36:09 -07:00
Leonardo de Moura
24049d8f40 refactor(library/init/logic): rename decidable.tt/ff to decidable.is_true/is_false 2016-09-13 13:40:02 -07:00
Leonardo de Moura
4971089e84 refactor(library/init): move files to new elaborator 2016-09-13 09:14:26 -07:00
Leonardo de Moura
00725d12b0 refactor(library/init): using new elaborator
We cannot use the `dec_trivial` workarounds on these files because the
tactic framework has not been defined yet.
2016-09-13 08:49:05 -07:00
Leonardo de Moura
4feef7d0be refactor(library/init): move more library files to new elaborator 2016-09-13 08:47:39 -07:00
Leonardo de Moura
d79fbee421 fix(frontends/lean/elaborator): visit_app_with_expected
Mark ite and dite with elab_with_expected_type.
2016-09-12 16:48:21 -07:00
Leonardo de Moura
aa2f9fadee feat(frontends/lean/elaborator): add support for nondependent eliminators in the new elaborator 2016-09-12 15:26:13 -07:00
Leonardo de Moura
9e601cb1cd feat(library/init/nat): port nat.lean to new elaborator 2016-09-12 13:43:08 -07:00
Sebastian Ullrich
5e3e54e208 feat(library/tactic/user_attribute): Support pure function caching for user-defined attributes 2016-09-12 10:38:48 -07:00
Leonardo de Moura
ef5350759b chore(library/init/quot): annotate quot eliminators 2016-09-10 22:51:07 -07:00
Leonardo de Moura
f53ff9a3b6 feat(frontends/lean/elaborator): add [elab_as_eliminator] attribute 2016-09-10 21:58:30 -07:00
Daniel Selsam
b0c5744eea feat(inductive_compiler): support for mutually inductive types 2016-09-10 14:22:27 -07:00
Leonardo de Moura
91994ff823 feat(frontends/lean/elaborator): switch to new let-decls 2016-09-10 13:00:53 -07:00
Leonardo de Moura
2a7d259252 refactor(library/init/nat): cleanup 2016-09-08 19:19:43 -07:00
Leonardo de Moura
c6d44d2e49 chore(library/init/nat): fix style 2016-09-08 16:31:42 -07:00
Leonardo de Moura
5043e30c8e feat(library/init/nat): add helper lemmas for proving that two nat numerals are different 2016-09-08 16:29:44 -07:00
Leonardo de Moura
983d15e486 chore(library/init/quot): remove unnecessary universe constraint 2016-09-06 18:01:26 -07:00
Leonardo de Moura
31de40ff4d refactor(frontends/lean): rename attribute [constructor] ==> [elab_with_expected_type] 2016-09-06 13:12:51 -07:00
Leonardo de Moura
2a912c2650 feat(frontends/lean, library): move constructor attribute to frontend
Now, it only affects the elaborator.
2016-09-05 09:34:45 -07:00