Commit graph

4828 commits

Author SHA1 Message Date
Leonardo de Moura
68370d5c8e feat(frontends/lean): process "show goal" command line option 2015-07-27 17:44:43 -07:00
Daniel Selsam
214b5b8b58 refactor(src/library/export): prefix export keywords with # 2015-07-27 15:07:12 -07:00
Leonardo de Moura
b2bd6b1ff8 feat(library/simplifier): simplification sets for hypothesis and conclusion 2015-07-27 14:59:21 -07:00
Leonardo de Moura
966e0109ff feat(library/simplifier): initialize simplification set. 2015-07-27 14:59:21 -07:00
Leonardo de Moura
4131bb3dec feat(util/name_set): add to_name_set auxiliary function 2015-07-27 14:59:21 -07:00
Soonho Kong
6de86ff749 fix(emacs/lean-mode.el): attach sentinel to lean-exec-at-pos
Close #499

Usage:

(add-hook 'lean-mode-hook '(lambda ()
(lean-define-key-binding "\C-c\C-g"
                     '(lean-exec-at-pos "lean-goal" "*Lean Goal*" "--goal"))))
2015-07-27 13:17:16 -07:00
Leonardo de Moura
5c7a20e5bd fix(library/unifier): crash when unifying constraints of the form (pr t =?= s)
where pr is a projection and t is a stuck term

see issue #737
2015-07-24 11:52:46 -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
3e6b80d38c feat(library/util): disable local constant purification when pretty printing goals
This feature generates confusion.
2015-07-23 18:52:59 -07:00
Leonardo de Moura
f1a19a10c4 fix(library/util): incorrect hypothesis renaming when pretty printing goals 2015-07-23 18:52:59 -07:00
Leonardo de Moura
e221d38790 feat(library/tactic/assert_tactic): allow duplicate names for hypotheses in assert tactic 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
5f4576a7f7 test(tests/lean): add test for '[congr]' attribute validation 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
a07b42ad9e refactor(library/simplifier): the simplifier expects relations to be transitivie and reflexive 2015-07-22 15:46:00 -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
b5c287d3d1 refactor(library/simplifier): cleanup 2015-07-22 08:39:55 -07:00
Leonardo de Moura
e74c6eef3d feat(library/simplifier): add 'simp.funext' and 'simp.propext' options 2015-07-21 18:23:10 -07:00
Leonardo de Moura
0c0f07332e feat(library/simplifier/simp_tactic): add simp tactic configuration options 2015-07-21 16:15:04 -07:00
Leonardo de Moura
b02b3d362f feat(library/simplifier): add simplifier procedure skeleton 2015-07-21 15:08:56 -07:00
Leonardo de Moura
9a85a95893 fix(cmake/Modules/CleanOlean.cmake): problem with 'clean-olean'
For some reason it was not working anymore on OSX
2015-07-20 23:21:51 -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
18dd57978d feat(CMakeLists.txt): .dmg generation 2015-07-20 20:33:33 -07:00
Leonardo de Moura
a99c44b644 fix(CMakeLists.txt): disable problematic tests on Windows
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2015-07-20 08:14:31 -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
Soonho Kong
c72e661a9e feat(CMakeLists.txt): add option USE_GITHASH (default:on)
related issue: #733
2015-07-17 16:55:22 -04:00
Soonho Kong
014a5ea83e fix(emacs/load-lean.el): add let-alist
close #729
2015-07-15 16:07:35 -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
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
84b439507b chore(library/tactic): fix style 2015-07-13 19:43:33 -04:00
Leonardo de Moura
c2edc330ef fix(library/tactic/rewrite_tactic): remove incorrect assertion 2015-07-13 19:19:12 -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
9c5bf98ed6 feat(library/tactic): add 'with_options' tactical
see issue #494
2015-07-13 18:34:31 -04:00
Leonardo de Moura
0f714e36b0 feat(library/tactic): add 'location' macro 2015-07-13 17:56:42 -04:00
Leonardo de Moura
58291024a9 fix(library/simplifier/ceqv): polish conditional rewrite internalization procedure 2015-07-13 16:40:18 -04:00
Leonardo de Moura
3cb8568fb5 feat(library/simplifier): we can "rewrite" with transitive relations
The simplifier does not really need the relation to be an equivalence.
Transitivity is the main required property (we need to chain rewrites
together).
2015-07-12 14:24:05 -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
4c0a656ecc fix(library/tactic/unfold_rec): support indexed families + brec_on at unfold_rec
see issue #692
2015-07-12 12:45:05 -04:00
Leonardo de Moura
584f9e3f49 fix(library/tactic/unfold_rec): support indexed families at unfold_rec
This commit also removes many (now unnecessary) folds from the HoTT
library.

See issue #692

We still have to implement support for recursive definitions based on
brec_on that recurse over inductive families.
2015-07-12 12:32:58 -04:00
Leonardo de Moura
7fa5c3e5da feat(library/tactic/unfold_rec): take '[recursor]' annotations into account at unfold_rec 2015-07-12 11:33:40 -04:00
Leonardo de Moura
b0ac78c2cb feat(library/user_recursors): add is_user_defined_recursor predicate 2015-07-12 11:25:50 -04:00
Leonardo de Moura
8e8e08cfe7 feat(library/tactic): use occurrence object in unfold tactic family 2015-07-11 18:53:45 -04:00