Commit graph

2692 commits

Author SHA1 Message Date
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
Leonardo de Moura
81a30a69d2 refactor(library/normalize): remove unfold and unfold_full attributes 2016-09-05 08:40:58 -07:00
Leonardo de Moura
89e852446a feat(library/init/id_locked): add auxiliary definition id_locked 2016-09-04 18:39:34 -07:00
Leonardo de Moura
7747c83915 doc(library/init/meta/declaration): document reducibility_hints 2016-09-04 18:29:24 -07:00
Leonardo de Moura
d6d68cd70a feat(library/vm): expose reducibility_hints 2016-09-04 18:09:10 -07:00
Leonardo de Moura
9a17d567ec refactor(library/init/datatypes): remove notation nobody uses 2016-09-03 16:59:55 -07:00
Leonardo de Moura
dfc897eda6 refactor(library/init): avoid nat cases_on/rec_on hack 2016-09-03 16:22:20 -07:00
Leonardo de Moura
a862c6e89f refactor(library/init/meta/declaration): def will be a keyword 2016-09-03 15:02:27 -07:00
Leonardo de Moura
5e4aabf62d feat(library/init/datatypes): add default has_sizeof instance
Motivation: make sure sizeof is defined for every type
2016-09-02 10:32:37 -07:00
Leonardo de Moura
39dc336310 feat(library/tactic/user_attribute): add set_basic_attribute and unset_attribute tactics 2016-09-01 14:17:05 -07:00
Leonardo de Moura
546f65b542 refactor(init/datatypes, init/logic): define sizeof instances and simp lemmas 2016-09-01 10:33:50 -07:00