Sebastian Ullrich
f998fed50e
fix(.travis.yml): fix script working dir
2017-07-25 14:02:16 +02:00
Sebastian Ullrich
a93dba699e
feat(.appveyor.yml): add artifact with version-independent name
2017-07-25 13:46:13 +02:00
Sebastian Ullrich
586d355703
feat(.travis.yml): deploy nightly builds to Github Pages
2017-07-25 13:33:36 +02:00
Gabriel Ebner
d68665f7a2
chore(library/init/meta/tactic): fix copy-paste error in docstring
2017-07-23 09:48:08 +01:00
Gabriel Ebner
25aa847aba
fix(library/constructions/brec_on): make motive explicit in *.below
...
Otherwise you can't figure out the type from the pretty-printed output
`nat.below n`.
2017-07-23 09:38:44 +01:00
Gabriel Ebner
537b11f358
fix(library/tactic/cases_tactic): do not let internal exception escape
...
This was doubly ungood since the contained vm_obj was shared across
threads. @digama0 wseq.exists_of_lift_rel_left should work now.
2017-07-22 15:25:56 +01:00
Mario Carneiro
667e1e1381
fix(CMakeLists): remove executable before overwriting on windows, third try
...
This one is tested to work on my machine
2017-07-21 05:09:02 -07:00
Leonardo de Moura
c7c8387bd8
chore(tests/lean/run/bin_tree): fix broken test
2017-07-21 05:05:42 -07:00
Leonardo de Moura
4faae27069
perf(frontends/lean): add notation #[...]
...
The new notation should be use to input long sequences.
Closes #1755
2017-07-21 04:20:48 -07:00
Leonardo de Moura
3bcbfbf348
perf(library/compiler/elim_recursors): beta_reduce ==> head_beta_reduce
...
This commit fixes the byte code generation performace problem
exposed by #1755
2017-07-21 03:32:23 -07:00
Leonardo de Moura
af80c2890d
chore(library/init/meta/tactic): define focus_aux using is_assigned
2017-07-21 02:39:55 -07:00
Mario Carneiro
94ecc3292f
fix(tests): fix tests
2017-07-21 02:10:48 -07:00
Mario Carneiro
97a01d25fd
fix(init/meta/tactic): skip solved goals in seq_focus and seq
...
and all/any_goals. This occurs when solving the first subgoal generated by `tac1; tac2` closes the second goal as well, before the second `tac2` invocation is run. Reported by @jldodds on gitter.
2017-07-21 02:10:48 -07:00
Gabriel Ebner
17a501f024
fix(CMakeLists): remove executable before overwriting on windows, second try
...
@digama0 Does this fix the problem for you?
2017-07-21 10:03:32 +01:00
Gabriel Ebner
3943ffccfb
fix(shell/CMakeLists): remove lean executable before copying
...
On windows, running executables cannot be overwritten.
2017-07-21 02:00:36 -07:00
Sebastian Ullrich
7e619487f0
fix(frontends/lean/elaborator): suppress error messages containing synthetic sorrys
2017-07-21 01:46:31 -07:00
Sebastian Ullrich
46c1a1a844
refactor(frontends/lean/elaborator,kernel/error_msgs): remove duplicate code
2017-07-21 01:46:31 -07:00
Sebastian Ullrich
f8cfc4ea1b
feat(kernel/error_msgs,frontends/lean/elaborator): add more context to 'type/function expected' errors
2017-07-21 01:46:31 -07:00
Corey Richardson
ed0c3d227a
chore(cmake): let MINGW_INSTALL_PATH be configurable
2017-07-20 21:50:23 +01:00
Corey Richardson
5fd504bec3
dist: add leanpkg.bat script for invocation on Windows
2017-07-20 21:50:23 +01:00
Sebastian Ullrich
ae5bc52d97
fix(frontends/lean/elaborator): pass expected type through visit_function
2017-07-20 01:58:29 -07:00
Sebastian Ullrich
9e8d30ec74
fix(frontends/lean/elaborator): suppress errors in visit_overloaded
2017-07-20 01:58:29 -07:00
Sebastian Ullrich
a1066525ca
feat(init/meta/interactive): auto-generalize inductive major premise args
...
Like Isabelle
2017-07-20 01:51:00 -07:00
Sebastian Ullrich
9ed72acabe
fix(frontends/lean/builtin_exprs): allow constant patterns in do notation
2017-07-20 01:51:00 -07:00
Sebastian Ullrich
20c2232bc6
feat(init/meta/interactive): auto-generalize induct parameter
...
Like Isabelle
2017-07-20 01:51:00 -07:00
Sebastian Ullrich
7d39b3e948
refactor(init/meta/interactive): merge generalize and generalize2 and introduce nicer syntax
2017-07-20 01:51:00 -07:00
Mario Carneiro
89e860ac8b
doc(init/core): Document init_quotient in lean
...
This way people can search for "constant quot" and find it in the lean source. Plus the init_quotient command only occurs once, so this way people know what it means.
2017-07-20 01:36:28 -07:00
Mario Carneiro
dfbcb72f38
chore(init/meta/tactic): remove superfluous fail clause
2017-07-20 01:28:21 -07:00
Mario Carneiro
4ae2f87bc8
refactor(init/meta/tactic): use dite instead of cases in by_cases
...
This fixes the issue in PR #1752 by using `dite`, which is essentially nondependent cases, so that the decidable instances are not substituted.
2017-07-20 01:28:21 -07:00
Gabriel Ebner
53898d47b0
fix(library/tactic/smt/congruence_tactics): fix cc_state.add
2017-07-20 09:17:23 +01:00
Gabriel Ebner
776b440d55
fix(library/constructions/projection): fix macro expansion
...
Thanks to @fpvandoorn for noticing this issue in Lean 2! We encountered
this situation when the inferred type of the projection argument did not
reduce to the structure type with the current transparency setting of
the type context.
2017-07-18 19:56:20 +01:00
Gabriel Ebner
ba2718a89d
feat(library/init/meta/environment): expose function to unfold all macros
2017-07-18 19:49:53 +01:00
Gabriel Ebner
e94095cdf3
chore(library/tactic/cases_tactic): add a bit more information to error message
2017-07-18 09:07:09 +01:00
Gabriel Ebner
317319ded3
chore(library/tactic/cases_tactic): improve error message for unsupported equalities
...
@leodemoura Should we add a flag to introduce the equalities as
hypotheses in this case?
2017-07-18 08:55:36 +01:00
Sebastian Ullrich
9c2d42b269
fix(frontends/lean/parser): to_pattern_fn: replace invalid choice pattern with sorry
...
Fixes #1749
2017-07-17 14:59:07 +02:00
Sebastian Ullrich
cbf65c1339
fix(init/meta/interactive): implement generalize2 via generalize/kabstract
2017-07-17 13:59:21 +02:00
Gabriel Ebner
573525fb9f
fix(library/kernel_serializer): fix build error
2017-07-16 16:29:30 +01:00
Leonardo de Moura
9afb53fad5
feat(kernel/expr): allow metavariables to have user-facing names
...
We need this feature for:
1) Defining nonlinear search patterns. Example: (?m <= ?m + 1)
2) Preprocessing recursive equations and support the pattern
refinement approach used in Agda. Example: in Agda, they accept
```
def append {A : Type} : Π (m n : nat), Vec A m -> Vec A n -> Vec A (m + n)
| m n nil ys := ys
| m n (cons m' x xs) ys := cons x (append m' n xs ys)
```
These equations have to be refined. For example, `m` has to be
replaced with `0` (in the first equation), and `succ m'` in the
second. To implement this kind of refinement, we need to convert
the pattern variables (local constants) into metavariables during
elaboration. Then, the unassigned metavariables become local constants
again. This preprocessing step will fix some of the issues on #1594 .
To completely fix #1594 , we will need yet another preprocessing step
which will implement "complete transition" used in the equation
compiler before we start elim_match.cpp
2017-07-16 07:16:41 -07:00
Gabriel Ebner
246d71f3ff
feat(library/equations_compiler): error recovery
2017-07-16 05:17:38 -07:00
Gabriel Ebner
bac64d49c9
feat(doc/export_format): advertise trepplein
2017-07-15 22:49:24 +01:00
Gabriel Ebner
9367e94900
fix(frontends/lean/pp): hide proof terms in non-proofs by default
...
This is mainly to reduce clutter. Proof term printing can still be
forced using the `pp.proofs` option.
2017-07-15 22:21:22 +01:00
Gabriel Ebner
37d9e03cc1
feat(frontends/lean/pp): show substituted expressions for delayed abstractions
...
@leodemoura I tried to look up the unique names in the local context,
but this pretty much always fails. AFAICT we never remember the local
context when pretty-printing expression texts.
2017-07-15 21:34:05 +01:00
Gabriel Ebner
9dcd95df2f
chore(tests/lean/anc1): fix tests
2017-07-15 21:13:33 +01:00
Gabriel Ebner
563c1bcffe
chore(library/init/meta/tactic): make first argument of id_locked implicit
2017-07-15 17:47:46 +01:00
Gabriel Ebner
68ee9396c6
fix(frontends/lean/parser): support backtracking from empty expressions
...
Fixes #1745 .
2017-07-15 11:12:09 +01:00
Gabriel Ebner
ee56f71260
fix(library/init/data/nat/lemmas): make various lemmas rfl
2017-07-15 10:38:06 +01:00
Leonardo de Moura
b093b3c1ee
chore(extras/depgraph): remove leandeps
...
There is no reason to implement this tool in Python anymore.
If someone wants (I don't), they should do it in Lean, and store it as
a Lean package in a separate git repository.
Closes #1744
2017-07-15 02:27:17 -07:00
Gabriel Ebner
1d6716d1fb
fix(kernel/type_checker): eagerly check for proof irrelevant definitional equality
...
Fixes #1716 . @leodemoura I did not observe any performance effect on
the standard library.
2017-07-14 21:46:04 +01:00
Gabriel Ebner
2fd50bf460
fix(checker/checker): set the printing function
2017-07-14 21:45:39 +01:00
Gabriel Ebner
0579e68ab8
feat(library/export): add option to only export a single declaration
2017-07-14 09:49:24 +01:00