Commit graph

2675 commits

Author SHA1 Message Date
Sebastian Ullrich
ddfdca2e57 chore(init/meta): replace some uses of to_expr `(...) with ``(...) 2017-03-05 08:37:16 -08:00
Sebastian Ullrich
5d68938a9c feat(frontends/lean): expr literals ```(...) 2017-03-05 08:37:16 -08:00
Simon Hudon
b34eac6f1d feat(library/init/data/nat): add theorem decomposing numbers into quotient and remainder 2017-03-05 08:29:34 -08:00
Leonardo de Moura
471c3644a3 chore(library/init/data/option/basic): add lift for option_t 2017-03-05 08:17:55 -08:00
Leonardo de Moura
aeb370ac6b feat(library/init/data/bool/lemmas): add more simp lemmas for bool 2017-03-04 17:01:52 -08:00
Leonardo de Moura
c812e12651 chore(library/init/data/list/lemmas): remove old comment 2017-03-04 16:31:31 -08:00
Leonardo de Moura
05962604f1 feat(library/init/data/bool): add basic simp lemmas for bool 2017-03-04 16:31:16 -08:00
Leonardo de Moura
0768bb28f4 chore(library/init/wf): rename parameter 2017-03-03 16:56:40 -08:00
Jeremy Avigad
f460cbdf2e feat(library/init/classical): simpler choice axiom 2017-03-03 12:43:31 -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
Leonardo de Moura
d8371a4b0d feat(library/data/hash_map): avoid read' and write' operations that require an extra test 2017-03-01 22:06:48 -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
Leonardo de Moura
04991692bf feat(library/init/data/nat/lemmas): aux lemmas 2017-03-01 20:28:27 -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
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
04e27eb96f feat(library/init/meta/tactic): add applyc tactic 2017-02-25 12:55:28 -08:00
Leonardo de Moura
7ec0505e94 chore(library/init/meta/vm): style 2017-02-25 12:47:58 -08:00
Leonardo de Moura
35acad642c feat(library/init/meta/tactic): add to_string instance 2017-02-25 12:47:46 -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
57c125c60e chore(library/init/meta/expr): unsigned ==> nat 2017-02-24 19:34:11 -08:00
Leonardo de Moura
921d72b6c4 feat(library/init/meta): add helper tactics 2017-02-24 16:26:47 -08:00
Gabriel Ebner
c6ccda0f98 chore(library/tools/super/factoring): use modern syntactic sugar 2017-02-24 21:08:46 +01:00
Gabriel Ebner
d27ff2e68b refactor(library/tools/super/prover_state): derived_clause.update_proof 2017-02-24 20:21:52 +01:00
Gabriel Ebner
79afaa7421 feat(library/init/meta/tactic): add timetac combinator 2017-02-24 20:17:19 +01:00
Leonardo de Moura
552a185e6a feat(frontends/lean): 'let' in 'do' blocks 2017-02-24 09:10:36 -08:00
Leonardo de Moura
5c7ade4ee4 chore(library/init/meta/vm): indentation 2017-02-23 09:32:20 -08:00
Jared Roesch
9b80e3bb62 feat(library/init/meta/vm): add decidable_eq for vm_obj_kind 2017-02-23 09:31:57 -08:00
Sebastian Ullrich
8c50efeb75 refactor(init/meta/lean/parser): simplify sep_by 2017-02-23 01:52:14 +01:00
Sebastian Ullrich
a443a5b7a6 chore(init/meta,tools/super): remove obsolete set_option eqn_compiler.max_steps 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
b9204cefbc feat(library/init/data/array): add helper functions and instances 2017-02-21 13:45:03 -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
Sebastian Ullrich
69741061b0 refactor(init/meta): drop obsolete X.to_expr functions 2017-02-21 11:06:39 -08:00
Sebastian Ullrich
a053175714 refactor(init/meta,library/vm): use structure for position information 2017-02-21 11:06:39 -08:00
Daniel Selsam
5f630e5866 fix(library/init/data/option/basic.lean): remove unused type parameter in instance 2017-02-21 11:00:40 -08:00
Leonardo de Moura
613a4d6e45 chore(shell/CMakeFiles): enable SMT2 tests 2017-02-21 10:53:03 -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
9863755ae1 feat(shell/lean,library/smt): fix SMT2 frontend 2017-02-21 09:28:21 -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