Leonardo de Moura
d3298d518c
fix(library/equations_compiler/elim_match): whnf_pattern
2017-05-31 10:02:59 -07:00
Gabriel Ebner
b1e417805e
fix(frontends/lean/scanner): do not treat 0xFF as end-of-file
...
Fixes #1624 . We just replace 0xFF by 0x00 when reading a new input
byte. This shows up as an unexpected token error.
2017-05-31 16:54:04 +02:00
Sebastian Ullrich
b59e1b0a2e
fix(library/eval_helper): evaluating under-applied functions
2017-05-31 16:18:17 +02:00
Sebastian Ullrich
834375a042
fix(library/eval_helper): evaluating tactics
2017-05-31 16:18:15 +02:00
Sebastian Ullrich
f820f3f97e
fix(frontends/lean/builtin_cmds): abort eval after error recovery and complain about unsynthesized mvars early
2017-05-31 16:05:47 +02:00
Leonardo de Moura
72134a7bbd
feat(library/equations_compiler/wf_rec): provide recursive equations to rel_tac
...
rel_tac is a tactic used for synthesizing a well founded relation.
The default implementation just uses type class resolution.
More sophisticated strategies may need to access the set of recursive
equations. This commit addresses this need.
2017-05-30 16:55:37 -07:00
Leonardo de Moura
d489955600
fix(library/vm/vm_nat): bitwise operators
2017-05-30 13:09:17 -07:00
Leonardo de Moura
8ef5acd615
feat(util/numerics/mpz): add test_bit
2017-05-30 13:08:51 -07:00
Mario Carneiro
9d676776b5
feat(library/vm/vm_nat): implementations of bitwise ops
2017-05-30 12:47:44 -07:00
Leonardo de Moura
d0f73c7041
fix(util/trie): compilation issue
...
See #1619
2017-05-30 10:57:59 -07:00
Sebastian Ullrich
4eab11ec3d
fix(frontends/lean/structure_cmd): even less error recovery
2017-05-30 19:02:25 +02:00
Gabriel Ebner
d5c7d078eb
fix(library/type_context): check for stack overflow
2017-05-29 14:58:34 +02:00
Gabriel Ebner
5ab28548b8
fix(library/type_context): reduce whnf stack space
2017-05-29 14:58:28 +02:00
Gabriel Ebner
b14a248dcd
fix(frontends/lean/structure_cmd): segfault
2017-05-29 07:37:50 +02:00
Leonardo de Moura
1ee1e01f8c
feat(library/tactic/smt/congruence_closure): add builtin support for (@ne A a b)
...
This is needed when using cc in the standard tactic monad.
closes #1608
2017-05-26 17:06:22 -07:00
Leonardo de Moura
82e51ddad5
fix(library/constructions/injective): fixes #1609
...
@dselsam You have assumed that the left-hand-side (t) and
right-hand-side (s) of (t = s) and (t == s) are the last two arguments.
This is a reasonable assumption, and it is correct for eq, but it is
incorrect for heq.
The type of heq is
```
Π {α : Sort u_1}, α → Π {β : Sort u_1}, β → Prop
```
Do you recall other places where we may have made this assumption?
2017-05-26 16:39:38 -07:00
Leonardo de Moura
a31e3a95ae
feat(library/equations_compiler/wf_rec): improve error message for failed decreasing proofs
2017-05-26 13:55:29 -07:00
Leonardo de Moura
4bdb2da1b6
fix(library/equations_compiler): improve pull_nested_rec_fn, and make sure it communicates local propositions to the well founded recursion module
...
The bin_tree and num_consts examples can now be encoded more naturally.
2017-05-26 10:45:39 -07:00
Leonardo de Moura
62c24f9bb5
chore(*): remove pos_num and num from stdlib
2017-05-25 18:24:16 -07:00
Floris van Doorn
3af2a91112
doc(emacs): fix formatting
2017-05-25 17:03:42 -07:00
Leonardo de Moura
7ffd7fea3d
feat(kernel): store depth of composite terms and use it in the hash code computation
...
closes #1589
2017-05-25 16:51:02 -07:00
Leonardo de Moura
438ce08748
feat(library/equations_compiler/util): cleanup equation rhs
...
The idea is to remove hints used to define a function by well founded
recursion. See new div_eqn.lean test for an example.
2017-05-25 13:09:13 -07:00
Leonardo de Moura
9b12559239
fix(library/tactic/dsimplify): fixes #1603
2017-05-25 11:21:06 -07:00
Leonardo de Moura
5583893991
fix(library/equations_compiler/wf_rec): avoid name collision between auxiliary lemmas produced in different modules
2017-05-24 17:50:39 -07:00
Leonardo de Moura
c396e4519a
fix(library/equations_compiler/util): missing case at prove_eq_rec_invertible
...
@dselsam You have used a function similar to prove_eq_rec_invertible in
the inductive compiler.
I'm wondering if this bug (missing case) may also occur in the inductive
compiler.
2017-05-24 14:34:54 -07:00
Sebastian Ullrich
491802409a
chore(*): remove unused macro_definition_cell::pp method
2017-05-24 09:51:23 +02:00
Leonardo de Moura
a1cfe0367b
fix(library/equations_compiler/pack_domain): nested recursive calls
2017-05-23 21:50:26 -07:00
Leonardo de Moura
e163b5c884
feat(library/init/meta/expr): binder_info.other ==> binder_info.aux_decl
2017-05-23 21:42:52 -07:00
Leonardo de Moura
d8713acbdd
fix(library/tactic/eqn_lemmas): fix get_eqn_lemmas_for
2017-05-23 20:39:27 -07:00
Leonardo de Moura
290e7b9cff
feat(library/init): use Sort instead of Type for defining acc and well_founded
2017-05-23 16:40:45 -07:00
Leonardo de Moura
229b730c15
feat(library/equations_compiler): invoke tactics for building well founded relation, and proving recursive calls are "decreasing"
2017-05-23 16:04:55 -07:00
Leonardo de Moura
ca684102f6
refactor(library/tactic,frontends/lean): move tactic_evaluator to library/tactic
2017-05-23 15:30:31 -07:00
Leonardo de Moura
4fbb65d9f1
feat(frontends/lean,library/equations_compiler): store tactics for generating well founded relation and decreasing proofs
2017-05-23 15:00:29 -07:00
Leonardo de Moura
9afb09cc1e
fix(util/trie): fix the build
2017-05-23 15:00:29 -07:00
Gabriel Ebner
ce44566c7d
fix(frontends/lean/parser): do not skip command tokens after error recovery
2017-05-23 11:14:31 -07:00
Gabriel Ebner
47629e9da3
feat(frontends/lean): make most parser_errors recoverable
2017-05-23 11:14:31 -07:00
Gabriel Ebner
95300224aa
fix(frontends/lean/builtin_cmds): suppress unhelpful #check output
2017-05-23 11:14:31 -07:00
Gabriel Ebner
183bf63e26
fix(frontends/lean/parser): pass error-recovery flag from parser to elaborator
2017-05-23 11:14:31 -07:00
Gabriel Ebner
77a2311f09
fix(frontends/lean/elaborator): segfault
2017-05-23 11:14:31 -07:00
Gabriel Ebner
166c07e1fe
fix(frontends/lean/elaborator): do not leak _elab_u names
2017-05-23 11:14:31 -07:00
Gabriel Ebner
99754188e6
feat(library/compiler/eta_expansion): also eta-expand expressions containing sorry
2017-05-23 11:14:31 -07:00
Gabriel Ebner
eea61a1991
fix(frontends/lean/definition_cmds): fix trace messages in proofs
2017-05-23 11:14:31 -07:00
Gabriel Ebner
5f1b5da099
feat(library/compiler/eta_expansion): eta-expand sorrys
2017-05-23 11:14:31 -07:00
Gabriel Ebner
d4b45abad6
fix(frontends/lean/elaborator): ground universe meta-variables in tactic terms
2017-05-23 11:14:30 -07:00
Gabriel Ebner
40eb5d0556
feat(library/module_mgr): skip reverse dependency rebuild if file content is unchanged
2017-05-23 11:14:30 -07:00
Gabriel Ebner
dd91ef3b22
fix(frontends/lean/elaborator): fix compilation with gcc
2017-05-23 11:14:30 -07:00
Gabriel Ebner
6b956ad658
fix(frontends/lean): prevent endless loops
2017-05-23 11:14:30 -07:00
Gabriel Ebner
33c737fc53
feat(frontends/lean/brackets): allow trailing commas in brackets
2017-05-23 11:14:30 -07:00
Gabriel Ebner
345cd1bc2a
feat(frontends/lean/parser): error recovery in interactive tactics
2017-05-23 11:14:30 -07:00
Gabriel Ebner
0b133f1f2a
feat(frontends/lean/elaborator): error recovery for structure instances
2017-05-23 11:14:30 -07:00