Commit graph

189 commits

Author SHA1 Message Date
Leonardo de Moura
20de22a8ad feat(frontends/lean): automatically include anonymous instance implicit variables/parameters (whenever their parameters have been included) 2015-12-13 13:20:54 -08:00
Leonardo de Moura
a9b567296c feat(frontends/lean/parser): add anonymous inst implicit name generator 2015-12-13 11:46:48 -08:00
Leonardo de Moura
d26a83da02 feat(frontends/lean/parser): allow anonymous instance implicit arguments 2015-12-13 11:46:48 -08:00
Leonardo de Moura
cf61adc5d5 feat(frontends/lean): identifiers starting with '_' are now reserved 2015-12-10 22:32:03 -08:00
Leonardo de Moura
1abaa9eb71 fix(frontends/lean/parser): fixes #858 2015-12-10 10:31:14 -08:00
Leonardo de Moura
3f9549485f feat(frontends/lean/parser): restore config options in the end of sections/namespaces 2015-12-09 11:24:37 -08:00
Leonardo de Moura
f84c6a6cfa fix(library/blast,frontends/lean): handling pattern hints after unfolding 2015-12-02 22:52:55 -08:00
Leonardo de Moura
f78e57fd52 feat(shell,frontends/lean): add command line option --dir
See #821
See #788
2015-11-19 08:34:23 -08:00
Leonardo de Moura
d1e111fd6c fix(hott,frontends/lean,library,library/tactic): make sure we can still compile the HoTT library 2015-11-08 14:04:55 -08:00
Leonardo de Moura
8ee214f133 checkpoint: new numeral encoding 2015-11-08 14:04:55 -08:00
Leonardo de Moura
b07a364d2f feat(frontends/lean/parser): process multiple parsing actions
closes #800
2015-08-17 09:42:10 -07:00
Leonardo de Moura
ea04414058 feat(frontends/lean): allow user to overload notation containing foldr/foldl and/or scoped expressions
see new tests for a summary of new features

see issue #800
2015-08-16 18:24:30 -07:00
Leonardo de Moura
602626803b fix(frontends/lean/builtin_cmds): 'print axioms' and theorem queue 2015-08-11 21:08:45 -07:00
Leonardo de Moura
5d8d226640 fix(frontends/lean/parser): add support for decimals
Decimal numbers are notation for rationals.
If rat.of_num is not available, then an error is generated.

closes #793
2015-08-11 18:44:48 -07:00
Leonardo de Moura
cc4f18c062 feat(frontends/lean): add "--info" command line option for extracting identifier/keyword information
see issue #756
2015-07-30 10:18:03 -07:00
Leonardo de Moura
be61fb0566 feat(frontends/lean/elaborator): add "noncomputable theory" command, display "noncomputable" when printing definitions
When the command "noncomputable theory" is used, Lean will not sign an
error when a noncomputable definition is not marked as noncomputable
2015-07-29 17:54:35 -07:00
Leonardo de Moura
0bda39c8ac feat(frontends/lean): check for noncomputability when moving theorems from theorem_queue to environment 2015-07-29 13:01:07 -07:00
Leonardo de Moura
cfa9412f96 fix(frontends/lean): "show goal" localization, add "position", support "by tactic" 2015-07-28 12:48:12 -07:00
Leonardo de Moura
68370d5c8e feat(frontends/lean): process "show goal" command line option 2015-07-27 17:44:43 -07:00
Leonardo de Moura
cc396cba76 feat(frontends/lean): allow backticks in binder declarations 2015-07-22 13:54:47 -07:00
Leonardo de Moura
b9451549d1 feat(frontends/lean): add type notation for referencing hypotheses 2015-07-20 21:43:47 -07:00
Leonardo de Moura
f5c546e810 feat(frontends/lean/parse_simp_tactic): add simp tactic parser 2015-07-14 14:21:39 -04:00
Leonardo de Moura
cabe30ba71 feat(frontends/lean): allow user to assign priorities to notation declarations 2015-06-30 17:10:27 -07:00
Leonardo de Moura
8a85e4ee87 feat(frontends/lean/builtin_cmds): improve print <id> when <id> is a not yet revealed theorem
We add a remark saying the command `reveal <id>` should be used to
access `<id>` definition.
2015-06-13 12:12:22 -07:00
Leonardo de Moura
c53b96c8d3 feat(frontends/lean): print all options for overloaded identifier
closes #608
2015-05-18 17:14:17 -07:00
Leonardo de Moura
b1ece388a6 feat(frontends/lean,library/tactic/induction_tactic): improve induction tactic notation, expand induction tactic implementation 2015-05-18 09:25:07 -07:00
Leonardo de Moura
7f8afcf04b fix(frontends/lean/builtin_exprs): bug in 'using' expressions 2015-05-14 17:17:48 -07:00
Leonardo de Moura
11fbee269b fix(frontends/lean/parser): must save state of name_generator in parser snapshot
To provide typing and auto-completion information, we create a
background process by starting lean with the option --server.
In "server" mode, we create snapshots of the parser state.
The idea is to be able to quickly reprocess a file when the user makes a
modification. This commit fixes a bug in the snapshot operation.
It was not saving in the snapshots the unique name generator used by the parser.
By creating a fresh name generator, we may accidentally
assign the same internal name to two different constants.
This bug triggered the crash described in issue #593.

This commit fixes the test in the comment
https://github.com/leanprover/lean/issues/593#issuecomment-101768484

This commit also adds a smaller version of the problem to the test suite
2015-05-13 12:28:23 -07:00
Leonardo de Moura
4e35afedcc feat(frontends/lean): rename 'wait' to 'reveal'
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2015-05-08 20:54:16 -07:00
Leonardo de Moura
f8e2f68ce0 feat(frontends/lean): add 'wait' command
This commit also fixes several problems with -j option (parallel
compilation). The .olean files were not missing data when -j was used

see issue #576
2015-05-08 20:05:21 -07:00
Leonardo de Moura
57ea660963 refactor(*): start process for eliminating of opaque definitions from the kernel
see issue #576
2015-05-08 16:06:04 -07:00
Leonardo de Moura
5fdf140096 refactor(frontends/lean): simplify local_decls data-structure
This is the first step for fixing #584
2015-05-07 11:10:15 -07:00
Leonardo de Moura
616f49c2e4 feat(frontends/lean): improved 'obtains' expression 2015-05-05 18:30:16 -07:00
Leonardo de Moura
8aefcc182e feat(frontends/lean/parser): add 'parse_simple_binders' 2015-05-05 18:30:16 -07:00
Leonardo de Moura
87aaf373f4 fix(frontends/lean): fix '#' override notation on the left-hand-side of recursive equations (and match-expressions) 2015-05-03 21:08:09 -07:00
Leonardo de Moura
441f1f9fe2 feat(frontends/lean): import error message for "unknown" tactics when parsing 2015-05-02 18:57:58 -07:00
Leonardo de Moura
2d9c950144 feat(library/tactic/constructor_tactic): allow 'constructor' tactic without index
see issue #500
2015-04-30 21:15:07 -07:00
Leonardo de Moura
d6d30f12c6 feat(frontends/lean): add "polymorphic" print command
closes #524
2015-04-29 16:17:33 -07:00
Leonardo de Moura
1be72f1faa feat(frontends/lean): parse argument of unary tactis with rbp=0, tokens may have a different precedence in expression and tactic modes 2015-04-28 13:43:05 -07:00
Leonardo de Moura
a23118d357 feat(frontends/lean): add tactic_notation command
This addresses the first part of issue #461

We still need support for tactic definitions
2015-04-27 17:46:13 -07:00
Leonardo de Moura
2613e7c444 fix(frontends/lean): bug when handling identifiers in tactics
This bug was reported by Jeremy in the Lean Google group:
https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!msg/lean-discuss/ZKJ8WPPEVJA/n05x6rPRzvMJ
2015-04-22 16:03:22 -07:00
Leonardo de Moura
dc93603b4a feat(frontends/lean): parameter and variable binder type update
see issue #532
2015-04-22 12:28:11 -07:00
Leonardo de Moura
53653c3526 fix(frontends/lean): pretty printing in sections with parameters
fix #530
2015-04-21 22:44:09 -07:00
Leonardo de Moura
df05edf333 feat(frontends/lean): generate warning when 'exit' is used
closes #553
2015-04-20 14:45:39 -07:00
Leonardo de Moura
26c914173c feat(frontends/lean): add --profile option 2015-03-31 11:53:55 -07:00
Leonardo de Moura
9b577a7b3e feat(frontends/lean): add 'migrate' command 2015-03-14 21:48:00 -07:00
Leonardo de Moura
b88b98ac22 feat(frontends/lean): try to add definition/theorem as axiom when it fails to be processed
The idea is to avoid a "tsunami" of error messages when a heavily used
theorem breaks in the beginning of the file
2015-03-13 14:47:21 -07:00
Leonardo de Moura
3b721fe675 feat(frontends/lean): add missing 'help' command 2015-03-06 13:56:20 -08:00
Leonardo de Moura
368f9d347e refactor(frontends/lean): approach used to parse tactics
The previous approach was too fragile

TODO: we should add separate parsing tables for tactics
2015-03-05 18:11:21 -08:00
Leonardo de Moura
30d20e8029 chore(frontends/lean/parser): remove dead code 2015-02-11 16:29:58 -08:00