Leonardo de Moura
a39cac4fad
feat(frontends/lean): improve '--info' command line option
...
see issue #756
2015-07-30 11:05:39 -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
384ccf2b6c
feat(frontends/lean/elaborator): change behavior of "show goal" for incomplete "by tactic"
...
If "by tactic" did not completely solved the goal, then we show the
final state when the user presses "C-c C-g"
2015-07-29 17:34:42 -07:00
Leonardo de Moura
ed41a01a51
fix(frontends/lean/elaborator): fixes #755
2015-07-29 16:41:30 -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
69ead0ddd8
feat(frontends/lean/decl_cmds): reject unnecessary "noncomputable" annotations
2015-07-29 13:01:07 -07:00
Leonardo de Moura
74be3031b1
feat(frontends/lean/decl_cmds): sign an error if "noncomputable" keyword is used in the HoTT library or with non-definitions
2015-07-29 13:01:06 -07:00
Leonardo de Moura
308af87b69
feat(library): add 'noncomputable' keyword for the standard library
2015-07-28 21:56:35 -07:00
Leonardo de Moura
7e8a394caf
chore(tests/lean): fix style and adjust tests
2015-07-28 18:15:25 -07:00
Leonardo de Moura
b81d4d50f1
feat(frontends/lean/bultin_cmds): add 'print axioms <declname>' command that prints axioms a giving declaration depends on
2015-07-28 18:15:25 -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
91f83835bb
fix(frontends/lean/elaborator): "show goal" command line option for nested "begin...end" blocks
2015-07-27 20:11:27 -07:00
Leonardo de Moura
d50fa26ca2
fix(frontends/lean/parser): caching problem when using "show hole" and "show goal" command line options
2015-07-27 18:55:20 -07:00
Leonardo de Moura
0786841c71
feat(frontends/lean): use uniform delimiter
2015-07-27 18:45:33 -07:00
Leonardo de Moura
3fb16d6287
feat(frontends/lean): add "show hole" command line option
2015-07-27 18:42:57 -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
966e0109ff
feat(library/simplifier): initialize simplification set.
2015-07-27 14:59:21 -07:00
Leonardo de Moura
bcf057f4f3
feat(frontends/lean): display '[congr]' attribute when printing theorems
2015-07-23 18:52:59 -07:00
Leonardo de Moura
e0209a1532
feat(frontends/lean): better error localization for 'have'-expressions in tactic mode
2015-07-23 18:52:59 -07:00
Leonardo de Moura
946308b187
feat(frontends/lean): allow anonymous 'have'-expressions in tactic mode
2015-07-23 18:52:59 -07:00
Leonardo de Moura
844caf32e4
feat(frontends/lean/bultin_cmds): add 'print [congr]' command for displaying active congruence rules
2015-07-23 18:52:59 -07:00
Leonardo de Moura
3329dc0ec7
feat(library/simplifier/simp_rule_set): add '[congr]' attribute validation
2015-07-23 18:52:58 -07:00
Leonardo de Moura
933f056fff
feat(library/simplifier): add API for extracting simplification rules defined in a given namespace
2015-07-22 18:47:56 -07:00
Leonardo de Moura
18dd7c13f9
feat(frontends/lean): add '[congr]' attribute
2015-07-22 17:21:47 -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
8085123119
refactor(library/simplifier): rename 'rewrite_rule' to 'simp_rule'
2015-07-22 10:39:30 -07:00
Leonardo de Moura
e969c7a8d6
refactor(library): remove 'simp' hack
2015-07-22 10:13:19 -07:00
Leonardo de Moura
092c8d05b9
feat(frontends/lean,library): rename '[rewrite]' to '[simp]'
2015-07-22 09:01:42 -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
812ddf1ef5
feat(frontends/lean): add 'suppose'-expression
...
It is a variant of 'assume' that allow anonymous declarations.
2015-07-19 12:15:12 -07:00
Leonardo de Moura
92f8eb173b
feat(frontends/lean): use 'this' as the name for anonymous 'have'-expression
2015-07-18 13:36:05 -05: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
3ab0e07ba9
feat(frontends/lean): add simp tactic frontend stub
...
This commit also removes the fake_simplifier. It doesn't work anymore
because simp is now a reserved word.
2015-07-14 09:54:53 -04:00
Leonardo de Moura
267545ca0c
feat(frontends/lean): parse 'with_options' tactical
...
see issue #492
2015-07-13 19:13:41 -04:00
Leonardo de Moura
f8d472c9f1
feat(frontends/lean/parse_rewrite_tactic): change the semantics of rewrite[↑f] when f is recursive
...
After this commit it behaves like 'unfold f'.
That is, it will unfold f even if it fails to fold recursive
applications. Now, only 'esimp[f]' will not unfold f-applications when
it cannot fold the recursive applications.
This commit also closes #692 . It is part of a series of commits that
addresses this issue.
closes #692
2015-07-12 13:20:21 -04:00
Leonardo de Moura
a9515ac7a4
feat(library/tactic/rewrite_tactic): try to fold nested recursive applications after unfolding a recursive function
...
See issue #692 .
The implementation still has some rough spots.
It is not clear what the right semantic is.
Moreover, the folds in e_closure could not be eliminated automatically.
2015-07-08 21:19:18 -04:00
Leonardo de Moura
967f9ece8e
fix(frontends/lean/notation_cmd): workaround incorrect warning produced by clang++ on OSX
2015-07-07 21:01:48 -07:00
Leonardo de Moura
26574e29a9
feat(library/normalize,frontends/lean): allow multiple arguments in [unfold] hint
...
closes #693
2015-07-07 18:01:57 -07:00
Leonardo de Moura
a27b20cd9c
feat(frontends/lean/notation_cmd): allow local notation to override reserved notation
...
closes #712
2015-07-07 17:30:46 -07:00
Leonardo de Moura
4b1b3e277f
feat(frontends/lean): rename '[unfold-c]' to '[unfold]' and '[unfold-f]' to '[unfold-full]'
...
see issue #693
2015-07-07 16:37:06 -07:00
Leonardo de Moura
991ff67b45
refactor(library/relation_manager): cleanup and add API for declaring a relation that may not be reflexive, symmetric nor transitive
2015-07-07 15:58:24 -07:00
Leonardo de Moura
fb833a724b
fix(src/frontends/lean/parser): add extra annotations to workaround with clang 6.0.0
2015-07-06 16:39:47 -07:00
Leonardo de Moura
b0c56273e2
fix(frontends/lean/elaborator): fixes #724
2015-07-06 15:19:19 -07:00
Leonardo de Moura
c843690d27
fix(frontends/lean/elaborator): fixes #719
2015-07-03 12:37:28 -07:00
Leonardo de Moura
4ae9f3ea81
feat(library/coercion): new coercion manager
...
closes #668
2015-07-01 16:32:34 -07:00
Leonardo de Moura
d44d576194
refactor(library/coercion): simplify coercion module API
2015-07-01 14:40:12 -07: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
a1d1a8272a
refactor(frontends/lean): move parse_priority to util
2015-06-30 16:22:52 -07:00
Leonardo de Moura
4ea57196ff
chore(frontends/lean/parser_config): remove dead code
2015-06-30 16:04:00 -07:00