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
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
3215af3926
feat(frontends/lean): add '[trans-instance]' attribute
...
see issue #666
2015-06-27 14:07:29 -07:00
Floris van Doorn
c8eee66c5b
feat(hott/relation): add equivalence closure of a relation
2015-06-25 22:31:41 -04:00
Floris van Doorn
ea0f57aef5
feat(hott): various clean-up and small additions
2015-06-25 22:31:40 -04:00
Leonardo de Moura
a4c0699e81
feat(library/tactic/constructor_tactic): restore 'constructor' tactic old semantics, add 'fconstructor' tactic
...
See issue #676
Add new test demonstrating why it is useful to have the old semantics
for 'constructor'
2015-06-17 23:48:54 -07:00
Leonardo de Moura
3d9b557cfd
feat(frontends/lean): allow the user to mark subterms that should be automatically abstracted into new definitions
...
closes #484
2015-06-12 17:49:26 -07:00
Floris van Doorn
ff41886a32
feat(nat/bquant): give instances for quantification bounded with le
...
also add theorems c_iff_c to logic/connectives, where c is a connective
2015-06-04 20:14:13 -04:00
Leonardo de Moura
cfb102cbd1
fix(emacs/lean-mode): disable electric-indent-mode
...
closes #636
2015-06-01 22:42:57 -07:00
Leonardo de Moura
0fbc944cdd
feat(frontends/lean): add '[rewrite]' attribute
2015-06-01 17:58:24 -07:00
Leonardo de Moura
85409a59d3
feat(library/tactic/rewrite_tactic): add xrewrite and krewrite tactic variants
...
closes #511
2015-05-27 16:32:43 -07:00
Floris van Doorn
c64d73aae4
feat(types.nat): prove that inequalities on nat are mere propositions
...
Also some small changes in various other locations
2015-05-26 21:37:01 -07:00
Floris van Doorn
8396c4c824
feat(lean-syntax): color abbreviations yellow
2015-05-26 21:37:01 -07:00
Soonho Kong
c4ec89ae6d
fix(emacs/lean-flycheck.el): use -concat in lean-flycheck-command
2015-05-26 17:00:05 -04:00
Soonho Kong
1d25f9fa06
fix(emacs/lean-util.el): use f-join instead of lean-concat-paths
2015-05-26 17:00:05 -04:00
Soonho Kong
ce10d5ca08
fix(emacs/lean-flycheck.el): use flycheck-increment-error-columns instead of advice
...
Comment from @lunaryorn (flycheck author):
"Please don't use an advice to increment error columns. Flycheck has
:error-filters and there is even a built-in one exactly for your use
case: :error-filter flycheck-increment-error-columsn. Generally never
use advises at all in libraries or modes. They are for user
configuration, or as a very last resort only."
2015-05-26 17:00:05 -04:00
Soonho Kong
ac04b996ab
fix(emacs/lean-flycheck.el): use flycheck-define-command-checker
...
Comment from @lunaryorn (flycheck author):
"eval around flycheck-define-checker breaks byte compilation and
scoping. Please use flycheck-define-command-checker if you need to
create :command dynamically."
2015-05-26 17:00:05 -04:00
Leonardo de Moura
d0987eb3ac
feat(library/tactic): add 'subtvars' tactic
2015-05-25 16:36:44 -07:00
Leonardo de Moura
af3f0088f4
feat(frontends/lean): add 'override' (notation) command
2015-05-20 11:42:16 -07:00
Leonardo de Moura
90ea4995f4
fix(emacs/lean-syntax): remove deprecated keywords
2015-05-19 18:34:14 -07:00
Floris van Doorn
2144036cdb
feat(hott.circle): prove that the fundamental group of the circle is equal to the integers, as groups
...
Also many minor fixes at various places
2015-05-18 15:59:55 -07:00
Leonardo de Moura
c61c049152
feat(library/user_recursors): generalize acceptable use-defined recursors
...
see issue #492
2015-05-18 14:21:10 -07:00
Leonardo de Moura
065a1f7501
feat(library/tactic): add 'induction' tactic skeleton
2015-05-12 20:21:25 -07:00
Leonardo de Moura
750f6d5a43
feat(library,frontends/lean): validate user defined recursors and add attribute to mark them
...
see issue #492
The user-defined recursors will also be used to implement the blast tactic
2015-05-12 15:48:01 -07:00
Jeremy Avigad
95dae11670
feat(src/emacs/lean-input.el): add abbreviations 'mem', 'subeq', etc.
2015-05-11 09:03:56 -07:00
Leonardo de Moura
e9c8de7bdf
feat(frontends/lean): remove unnecessary option
2015-05-09 11:49:55 -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
e59456c19f
feat(frontends/lean): remove 'opaque' keyword
...
see issue #576
2015-05-08 16:45:13 -07:00
Jeremy Avigad
9beb70b292
feat(src/emacs/lean-input.el): add 'empty' as abbreviation for emptyset
2015-05-08 20:04:55 +10:00
Floris van Doorn
20e62c9623
fix(lean-syntax): add all metaclasses and the state tactic to syntax
2015-05-07 16:39:03 -07:00
Leonardo de Moura
b03266be70
feat(library/normalize,frontends/lean): rename '[unfold-m]' hint to '[constructor]', and allow it to be attached to constants
...
closes #587
2015-05-07 12:00:34 -07:00
Leonardo de Moura
7cd444882c
feat(frontends/lean): add 'begin+' and 'by+' that enter tactic mode with the whole context visible
2015-05-05 18:47:25 -07:00
Leonardo de Moura
6571c47353
feat(library/normalize): add '[unfold-m]' hint
...
See issue #496
2015-05-04 14:23:04 -07:00
Leonardo de Moura
b39fe17dee
feat(library/tactic): add 'transitiviy', 'reflexivity' and 'symmetry' tactics
...
closes #500
2015-05-02 15:48:25 -07:00
Leonardo de Moura
cd17618f4a
refactor(library): replace 'calc_trans', 'calc_symm', 'calc_refl' and 'calc_subst' commands with attributes '[symm]', '[refl]', '[trans]' and '[subst]'
...
These attributes are used by the calc command.
They will also be used by tactics such as 'reflexivity', 'symmetry' and
'transitivity'.
See issue #500
2015-05-02 15:15:35 -07:00
Leonardo de Moura
415ca2b93f
feat(library/tactic): add 'congruence' tactic
...
It is the f_equal described at issue #500 .
2015-05-02 12:58:46 -07:00
Leonardo de Moura
9ba8b284a1
fix(library/tactic/apply_tactic): add eapply, and fix issue #361
2015-05-01 15:08:00 -07:00
Leonardo de Moura
63eb155c7e
feat(library/tactic): add 'injection' tactic
...
see issue #500
2015-05-01 12:45:21 -07:00
Leonardo de Moura
d152f38518
feat(library/tactic): add 'constructor', 'split', 'left', 'right' and 'existsi' tactics
...
see issue #500
2015-04-30 17:52:29 -07:00
Leonardo de Moura
1c6067bac2
feat(library/tactic): add 'exfalso' tactic
...
see issue #500
2015-04-30 15:43:07 -07:00
Leonardo de Moura
9c8a63caec
feat(library/tactic): add 'contradiction' tactic
...
see issue #500
Remark: this tactic also applies no_confusion to take care of a contradiction
2015-04-30 13:47:40 -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
Soonho Kong
c1b23f29c9
doc(emacs/README.md): add debian case
...
[skip ci]
2015-04-23 15:05:08 -04:00
Floris van Doorn
d4a929febb
feat(lean-input): add some notation
2015-04-22 13:06:11 -07:00
Floris van Doorn
ee4cba4e0b
style(hott): a bit of cleanup
2015-04-22 13:06:11 -07:00
Leonardo de Moura
91f21c007a
feat(frontends/lean): remove 'context' command
2015-04-22 11:32:02 -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
6f6d106a10
feat(library/tactic): add "check_expr" tactic
...
closes #486
2015-04-19 19:00:05 -07:00
Leonardo de Moura
60e320fd79
feat(frontends/lean): protected constants and axioms
...
fixes #527
2015-04-19 17:45:58 -07:00
Soonho Kong
3d79f89f5e
fix(emacs/lean-mode): lean-execute
...
shell-quote-argument also escapes '~' into '\~' which causes a problem.
This fix first calls 'f-full' to get a absolute path, then call
shell-quote-argument.
close #544
2015-04-16 19:27:42 -04:00
Soonho Kong
20b594e1cd
fix(emacs/lean-mode.el): use 'shell-quote-argument' in lean-execute
...
close #544
2015-04-13 14:19:39 +01:00
Leonardo de Moura
2bc13f6bfd
feat(library/tactic/exact): enforce goal type during elaboration when executing 'exact' tactic
...
Remark: this was the behavior of the 'sexact' tactic.
This commit also adds the 'rexact' (relaxed exact) tactic which does not
enforce the goal type.
closes #495
2015-04-06 13:23:38 -07:00
Leonardo de Moura
d731a4ab13
feat(library/normalize): add '[unfold-f]' hint
...
closes #497
2015-04-05 03:00:13 -07:00
Soonho Kong
1f20fb6e9e
feat(emacs/lean-input): add not(¬) and iff(↔)
...
close leanprover/tutorial#81
2015-04-02 22:13:01 -04:00
Soonho Kong
7c5339d64e
fix(CMakeLists.txt): quote CMake variables
...
close #513
2015-03-28 22:38:11 -04:00
Soonho Kong
7c9b364957
fix(emacs/lean-info): lean-info-list-parse
...
close #302
2015-03-27 11:37:47 -04:00
Soonho Kong
5c1d7458b5
fix(emacs/lean-input): fix input-method.js format
...
[skip ci]
2015-03-26 14:41:45 -04:00
Soonho Kong
c8e1ed9551
feat(emacs/lean-input): add lean-input-export-translations-to-stdout
2015-03-26 12:55:01 -04:00
Leonardo de Moura
0c3fd7427e
feat(frontends/lean): add syntax-sugar for fold
...
closes #503
2015-03-25 18:25:48 -07:00
Leonardo de Moura
b9e3c474c9
feat(library/tactic): add all_goals tactic
...
closes #501
2015-03-25 17:42:34 -07:00
Soonho Kong
4c434f4c02
fix(emacs/lean-info): extract proofstate info by using pos of ","
...
fix #302
2015-03-25 12:36:15 -04:00
Soonho Kong
ca81e9bee2
fix(emacs/lean-mode): add 'display-buffer' at the end of lean-exec-at-pos
2015-03-25 08:35:02 -04:00
Soonho Kong
69d1cfdd52
feat(emacs/lean-mode): add lean-exec-at-pos and lean-define-key-binding
...
Example Usage: add the following in your emacs configuration
(add-hook 'lean-mode-hook '(lambda ()
(lean-define-key-binding "\C-c\C-g"
'(lean-exec-at-pos "lean-goal" "*Lean Goal*" "--goal"))))
close #499
2015-03-24 14:57:49 -04:00
Leonardo de Moura
9b577a7b3e
feat(frontends/lean): add 'migrate' command
2015-03-14 21:48:00 -07:00
Leonardo de Moura
28487ede3b
feat(frontends/lean/decl_cmds): allow 'empty' set of pattern matching equations
2015-03-05 14:37:29 -08:00
Soonho Kong
87c236613a
feat(emacs/lean-mode.el): add configuration menu-item for flycheck
...
close #451
2015-03-05 14:42:59 -05:00
Soonho Kong
b7c852a5c8
feat(src/lean-mode.el): add 'configuration' menu and add toggle option for 'Show type at point'
...
close #456
2015-03-05 14:37:44 -05:00
Leonardo de Moura
abd238aef0
feat(*): add [quasireducible] attribute
2015-03-04 22:12:49 -08:00
Soonho Kong
8265729a82
fix(emacs/README.md): wrong quotation mark
...
[skip ci]
2015-03-04 17:04:39 -05:00
Floris van Doorn
3d7656078d
feat(hott/types): prove that 'is_equiv f' is an hprop
2015-03-04 00:22:51 -05:00
Floris van Doorn
704f2b2697
feat(hott/algebra/category): prove that set is a univalent category assuming is_equiv is an hprop
2015-03-04 00:22:41 -05:00
Leonardo de Moura
11aad4449b
feat(frontends/lean): add '[semireducible]' attribute
...
This commit also renames the elements of reducible_status.
The idea is to use in the C++ implementation the same names used in the
Lean front-end.
2015-03-03 10:48:36 -08:00
Leonardo de Moura
ca57b43698
feat(library/tactic): add 'change' tactic
2015-03-01 14:15:39 -08:00
Floris van Doorn
23a248ab28
style(hott): let inverse notation have higher binding power than application
2015-02-28 01:16:23 -05:00
Soonho Kong
05cfb21c4c
fix(emacs/lean-server.el): split findp info only up-to 1
...
close #446
2015-02-27 20:04:13 -05:00
Soonho Kong
c9ffc2fec8
fix(emacs/lean-util): add hlean support in lean-path-list
...
close #450
2015-02-27 15:27:18 -05:00
Floris van Doorn
c091acc55b
feat(hott): remove funext as type class, add theorems to prove equalities between functors and natural transformations
2015-02-26 12:52:33 -05:00
Soonho Kong
88e287df5a
doc(emacs/README.md): add instructions for unicode-fonts package
...
related issue: #446
2015-02-26 05:09:40 -05:00
Leonardo de Moura
c04c610b7b
feat(frontends/lean): add 'assert H : A, ...' as notation for 'have H [visible] : A, ...'
2015-02-25 14:30:42 -08:00
Soonho Kong
db1fba3ddc
fix(emacs/lean-server.el): lean-server-trace-buffer-name was changed to a function
2015-02-25 14:21:23 -05:00
Leonardo de Moura
21e972e34a
fix(emacs/lean-syntax): syntax-highlight problem in tactics
2015-02-24 11:57:34 -08:00
Soonho Kong
8b8267c7ce
feat(emacs/lean-company.el): show meta and annotation for auto-complete options
...
close #435
2015-02-13 19:41:42 -05:00
Soonho Kong
382bf860fd
fix(emacs/lean-company): import auto-completion for .hlean files
...
fix #434
2015-02-13 19:41:42 -05:00
Soonho Kong
a791953705
chore(emacs/lean-server): make lean-server-restart-all-processes interactive
2015-02-13 19:41:41 -05:00
Soonho Kong
6bcd1a9980
feat(emacs/lean-server): add support for hlean/standard minor-mode
...
Related issue: #389 , #398 , #400 , #428
2015-02-13 19:41:41 -05:00
Soonho Kong
46d99c8077
chore(emacs): move lean-choose-minor-mode-based-on-extension to lean-util.el
2015-02-13 19:41:41 -05:00
Soonho Kong
dcee8ddb1f
feat(emacs/lean-mode): add Standard/HoTT minor modes for lean-mode
2015-02-13 19:41:41 -05:00
Jeremy Avigad
7d60213d9a
fix(src/emacs/lean-syntax.el): add syntax highlighting for [abbreviations]
2015-02-11 22:09:25 -05:00
Leonardo de Moura
8ffadce4ab
feat(frontends/lean): add "premise" and "premises" command
...
It is just an alternative notation for "variable" and "variables"
closes #429
2015-02-11 18:46:03 -08:00
Leonardo de Moura
93f04f3034
feat(emacs): update syntax highlight
2015-02-11 10:35:38 -08:00
Leonardo de Moura
373d4ca4c6
feat(emacs/lean-syntax): highlight 'abbreviation' command
2015-02-10 18:22:03 -08:00
Leonardo de Moura
c04c0e8381
refactor(*): remove transparent_scope hack, replace [strict] with [all-transparent] annotation
2015-02-07 15:19:41 -08:00
Leonardo de Moura
5b25da8c43
feat(frontends/lean): add esimp tactic based on rewrite tactic
...
closes #358
2015-02-06 14:13:32 -08:00
Leonardo de Moura
979d6494e9
feat(emacs/lean-syntax): add syntax-highlight for unfold-c hint attribute
2015-02-06 12:57:11 -08:00
Leonardo de Moura
c845e44777
feat(frontends/lean): parse rewrite tactic
2015-02-04 11:51:39 -08:00
Jeremy Avigad
dc7b432482
feat(src/emacs/README.md): tell user that packages will be installed automatically. Closes #423 .
2015-02-03 13:50:59 -08:00
Jeremy Avigad
875869fdbc
fix(src/emacs/README.md): make minor grammatical corrections
2015-02-03 13:50:59 -08:00
Leonardo de Moura
27741e4fd7
chore(CMakeLists.txt): move Lean logo to make sure we can test leanemacs without installing Lean
2015-01-31 17:38:49 -08:00
Leonardo de Moura
fbb543fdcf
feat(CMakeLists.txt): add alternative image formats
2015-01-30 14:26:46 -08:00