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