Leonardo de Moura
5189a002bf
chore(tests/lean/run/ginductive_induction_tactic): remove using ...
...
Otherwise, we are not testing anything.
2017-03-04 15:15:39 -08:00
Leonardo de Moura
35952f2941
test(tests/lean/run/ginductive_pred): mutually inductive predicates
...
@dselsam We do not have a "story" for this kind of inductive definition.
2017-03-04 15:06:36 -08:00
Leonardo de Moura
d50da0feb7
feat(library/tactic/induction_tactic): add support for ginductive in the induction tactic
2017-03-04 14:55:35 -08:00
Leonardo de Moura
1ae23708f5
test(tests/lean/run/nested_inductive_code_gen): add code gen test
2017-03-04 14:23:55 -08:00
Leonardo de Moura
b74740648e
fix(library/tactic): fixes #1414
2017-03-03 20:50:00 -08:00
Jeremy Avigad
f460cbdf2e
feat(library/init/classical): simpler choice axiom
2017-03-03 12:43:31 -08:00
Leonardo de Moura
d9da6f05b5
fix(library/tactic/cases_tactic): issue reported by @johoelzl at slack
2017-03-02 18:00:55 -08:00
Daniel Selsam
5ef892bb45
feat(inductive_compiler): cases_on for mutual and nested
2017-03-02 16:08:00 -08:00
Daniel Selsam
9590f2b7d0
feat(inductive_compiler): support nested inductive propositions
2017-03-02 16:01:45 -08:00
Leonardo de Moura
259d9271ab
fix(library/equations_compiler): use ginductive API
...
fixes #1334
2017-03-02 15:48:03 -08:00
Leonardo de Moura
525242561a
fix(library/init/meta/tactic): use zeta reduction by default in the abstract tactic
...
Abstracting let-exprs may produce type errors.
In the future we may consider another strategy for `abstract`.
First, we try to abstract the `let`, then if it fails, we expand.
Not sure if this is a good idea.
2017-03-02 11:34:28 -08:00
Leonardo de Moura
b1848efbc4
chore(library/init/meta): add head prefix to head reduction tactics, and add zeta tactic (that applies zeta reduction to all subterms)
2017-03-02 10:55:38 -08:00
Daniel Selsam
1f6306d068
perf(library/inductive_compiler): simplification with sizeof lemmas
2017-03-01 21:13:20 -08:00
Jeremy Avigad
4108e5c98b
feat(library/init/classical): replace strong indefinite description with indefinite description
2017-03-01 21:13:03 -08:00
Johannes Hölzl
f44cbb896c
fix(src/library/equations_compiler/elim_match): handle mixing of inaccessible terms and variables
2017-03-01 21:12:42 -08:00
Leonardo de Moura
1542cd750f
feat(library/tactic/induction_tactic): use drec in the induction tactic
...
The new test failed before this change.
2017-03-01 18:34:24 -08:00
Leonardo de Moura
1ded3b70b8
feat(library/constructions/drec): add dcases_on
2017-03-01 15:46:19 -08:00
Leonardo de Moura
2fb5f6a49e
feat(library/init/meta): add subst_vars tactic
2017-03-01 15:11:17 -08:00
Leonardo de Moura
132a629eb7
fix(library/tactic/induction_tactic): use whnf when inferring C.rec name
2017-03-01 14:29:26 -08:00
Leonardo de Moura
7b0a18167b
feat(library/constructions/drec): add drec_on and refactor
2017-03-01 14:12:10 -08:00
Leonardo de Moura
17556758cb
feat(library/constructions,library/inductive_compiler): automatically generate dependent eliminator for inductive predicates
...
The dependent eliminator for an inductive predicate C is called C.drec
TODO: construct dcases_on and drec_on using C.drec
We need this recursor for implementing dependent elimination for
inductive predicates.
We don't need to define acc.drec and eq.drec in the standard library anymore.
2017-02-28 20:58:04 -08:00
Leonardo de Moura
28938090c1
feat(library/data): add hash_map's
2017-02-27 23:17:10 -08:00
Leonardo de Moura
2386c18ee5
fix(library/tactic/eval): make sure old position information nested in the expression being evaluated is not used in type error messages
...
see #1401
2017-02-26 22:38:24 -08:00
Leonardo de Moura
184d505d51
fix(library/compiler/preprocess): do not unfold noncomputable definitions in the compiler
...
see #1401
2017-02-26 22:05:16 -08:00
Leonardo de Moura
5a924699d0
feat(library/tools/mini_crush): add nano crush
2017-02-24 23:14:05 -08:00
Leonardo de Moura
52221cdbd1
fix(frontends/lean/elaborator): {} elaboration issue
2017-02-24 21:20:39 -08:00
Leonardo de Moura
921d72b6c4
feat(library/init/meta): add helper tactics
2017-02-24 16:26:47 -08:00
Gabriel Ebner
9bcfc06bd0
fix(library/module): has_sorry: check examples
2017-02-24 21:08:49 +01:00
Leonardo de Moura
552a185e6a
feat(frontends/lean): 'let' in 'do' blocks
2017-02-24 09:10:36 -08:00
Sebastian Ullrich
dfe1874365
refactor(frontends/lean/{parser,util}): extract quote functions
...
Also fixes ``f when f is private
2017-02-23 01:52:13 +01:00
Sebastian Ullrich
908a7bd9f3
feat(frontends/lean/parser): expr patterns
2017-02-23 01:52:13 +01:00
Leonardo de Moura
3f87fd15eb
feat(library/vm): add liveness analysis, and support destructive updates for lean arrays
2017-02-21 15:09:37 -08:00
Leonardo de Moura
19cf5e916b
chore(script/gen_constants_cpp): generates a warning if automatically generated C++ function is not used in the source code
2017-02-21 12:05:41 -08:00
Leonardo de Moura
7e6a10bd1b
chore(tests/lean): fix tests, and environment.decl_pos
2017-02-21 11:21:02 -08:00
Leonardo de Moura
d1d5428808
feat(library): add check_constants.lean validation, cleanup unused names, minor stdlib fixes
2017-02-21 10:45:31 -08:00
Leonardo de Moura
04fd50e4e8
chore(*): fix tests and style
2017-02-20 23:53:44 -08:00
Leonardo de Moura
e9a98362d3
feat(library): functional arrays
2017-02-20 22:00:02 -08:00
Leonardo de Moura
f5cbdff893
feat(library/tools/mini_crush/default): provide equational lemmas for "relevant" functions to rsimp; make sure we do not get stuck in ematching loop by using try_for
2017-02-19 20:56:13 -08:00
Leonardo de Moura
f140095d7b
feat(library/tools/mini_crush/default): improve mini_crush
2017-02-19 20:26:30 -08:00
Leonardo de Moura
1ca5c78cf8
feat(library/tools/mini_crush): improve mini_crush
2017-02-19 18:33:12 -08:00
Leonardo de Moura
a41aac0e6a
feat(library/tools/mini_crush): add tracing messages, and more examples
2017-02-19 17:27:09 -08:00
Leonardo de Moura
0fb5a01f17
feat(library/tools): add mini_crush
2017-02-19 16:21:12 -08:00
Leonardo de Moura
ec6e1e389b
chore(tests/lean/run/cpdt): simplify
2017-02-19 13:49:19 -08:00
Leonardo de Moura
50f4a28fc3
feat(library/init/meta/smt/interactive): rsimp for smt_tactic
2017-02-19 13:31:03 -08:00
Leonardo de Moura
0d22410e2e
feat(library/tactic): add zeta option, refactor simplify config option, allow users to change simplify_config in interactive mode
2017-02-19 12:11:22 -08:00
Leonardo de Moura
74f7bc0473
feat(frontends/lean): improve notation for converting infix notation into functions
2017-02-17 23:11:22 -08:00
Leonardo de Moura
077176b82f
feat(frontends/lean): add Haskell-like for converting infix notation into functions
...
Examples:
qsort (<) [20, 5, 10, 3, 2, 14, 1]
foldl (+) 0 [1, 2, 3]
2017-02-17 22:51:50 -08:00
Johannes Hölzl
3db0ebdcf0
feat(library/tactic/match_tactic): return also assignments for universe meta-variables
2017-02-17 20:08:09 -08:00
Gabriel Ebner
0c2878e509
fix(frontends/lean/definition_cmds): copy position for equation in meta definitions
...
Fixes #1377 .
2017-02-17 19:57:49 -08:00
Leonardo de Moura
98b2eb893d
chore(tests/lean/run): fix tests
2017-02-17 19:55:49 -08:00