Commit graph

1156 commits

Author SHA1 Message Date
Leonardo de Moura
7ae778e925 feat(frontends/lean): generalize '~>' notation, and add alias '^.' for '~>' 2016-09-23 08:18:19 -07:00
Leonardo de Moura
b7abd61579 feat(frontends/lean): change subtype notation (again)
We had conflicts with the set notation.
2016-09-21 17:02:18 -07:00
Leonardo de Moura
973bc5f1d6 feat(frontends/lean): add notation for 'sep' 2016-09-21 16:29:59 -07:00
Leonardo de Moura
c0ff9967af feat(frontends/lean): add basic notation for collections 2016-09-21 16:20:57 -07:00
Leonardo de Moura
2b570e1eae refactor(frontends/lean): remove old attributes 2016-09-21 14:22:17 -07:00
Leonardo de Moura
41d1e9b8df feat(library/init): add type classes for collections 2016-09-21 14:15:12 -07:00
Leonardo de Moura
dde5f7ac70 feat(frontends/lean): add aliases such as: .1 for ~>1 2016-09-21 11:32:02 -07:00
Leonardo de Moura
5e5285ee67 refactor(library): rename pr1/pr2 ==> fst/snd 2016-09-21 09:48:39 -07:00
Leonardo de Moura
b716827206 chore(library/init): uniform style 2016-09-21 09:21:37 -07:00
Leonardo de Moura
8f2c428800 chore(library/init/logic): enforce style 2016-09-21 09:01:24 -07:00
Leonardo de Moura
318ef761d3 feat(frontends/lean): lambda+anonymous_constructor+match notation 2016-09-21 08:49:05 -07:00
Leonardo de Moura
9df712581b chore(frontends/lean): remove 'new_elaborator' option 2016-09-20 08:32:37 -07:00
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