Commit graph

11725 commits

Author SHA1 Message Date
Leonardo de Moura
cf2db32cf3 feat(tmp/micro_lenses): better definition that supports destructive updates 2017-03-07 11:18:31 -08:00
Leonardo de Moura
943576b8e9 feat(library/compiler/extract_values): restrict extra_values to nat/int/char/string/name 2017-03-07 11:14:32 -08:00
Leonardo de Moura
9a263a2766 chore(library/init): instances are reducible and are inlined by the compiler
So, these instances would create two copies of `p` after inlining
2017-03-07 10:58:09 -08:00
Leonardo de Moura
faeac14ed7 feat(library/parray): add trace option for tracking destructive updates 2017-03-07 10:57:40 -08:00
Leonardo de Moura
09c70a7e03 chore(tmp/micro_lenses): experiment for RFC 2017-03-07 09:44:10 -08:00
Leonardo de Moura
425b5ffc11 chore(library/data/dlist): make local notation less cryptic 2017-03-06 18:09:32 -08:00
Leonardo de Moura
0d6d52004b feat(library/data/dlist): difference lists 2017-03-06 17:23:26 -08:00
Leonardo de Moura
f2faea9b9f refactor(frontends/lean/equations_validator): move validation code to another file 2017-03-06 14:36:42 -08:00
Daniel Selsam
4330e733c5 feat(inductive_compiler): API for is_ginductive_inner_* 2017-03-06 14:01:59 -08:00
Daniel Selsam
5f0ebf90de fix(frontends/lean/structure_cmd): call inductive compiler without params in type 2017-03-06 14:01:46 -08:00
Daniel Selsam
d122f4417a chore(src/library/print): update to use Sort 2017-03-06 14:01:33 -08:00
Leonardo de Moura
1d71103f29 feat(library/tactic/cases_tactic): add support for generalized inductive datatypes at 'cases' tactic 2017-03-06 11:49:04 -08:00
Sebastian Ullrich
2394f1faa5 fix(frontends/lean/util): do not fall back to current position 2017-03-06 11:02:51 -08:00
Sebastian Ullrich
c4ebfab14c fix(frontends/lean/structure_cmd): inheriting defaulted field depending on field starting with implicit parameter 2017-03-06 11:02:51 -08:00
Sebastian Ullrich
87b98d5aa2 fix(frontends/lean/structure_cmd): fix assertion violation when field depends on defaulted field 2017-03-06 11:02:50 -08:00
Sebastian Ullrich
e5018ee4f8 chore(bin/lean-gdb): fix macro pretty-printing 2017-03-06 11:02:50 -08:00
Jeremy Avigad
803e1958fa refactor(library/init/classical.lean): move definition of some 2017-03-06 10:54:42 -08:00
Daniel Selsam
ce1ec69ea6 fix(frontends/lean/decl_utils.cpp): closes #1417 2017-03-06 10:54:22 -08:00
Daniel Selsam
d461cb001e feat(inductive_compiler): get_ginductive_num_indices 2017-03-06 10:53:58 -08:00
Leonardo de Moura
4608782669 fix(init/logic): eq.mpr and eq.mp can be use for type casting
So, they should be `def`. Otherwise code generation will fail.
2017-03-06 09:13:39 -08:00
Leonardo de Moura
045fe4ad25 fix(frontends/lean/structure_cmd): allow default values for function fields 2017-03-06 07:41:42 -08:00
Leonardo de Moura
156e5603d6 feat(library/init/category/combinators): put list combinators in the namespace list
In this way we can use them with the ^. notation
2017-03-05 21:30:30 -08:00
Leonardo de Moura
59c0cbd2e4 chore(library): test new '^.' notation in the standard library, and cleanup definitions using it 2017-03-05 21:21:50 -08:00
Leonardo de Moura
61c9a7d466 feat(frontends/lean/elaborator): address issue described at https://github.com/leanprover/lean/issues/1403#issuecomment-282846138
see #1403
2017-03-05 21:01:12 -08:00
Leonardo de Moura
fa99861788 feat(frontends/lean/elaborator): add new ^. notation
see #1403
2017-03-05 20:12:49 -08:00
Leonardo de Moura
7cae7a5b02 feat(library/init/data/fin/ops): add def lemmas 2017-03-05 16:57:36 -08:00
Leonardo de Moura
0049a42336 feat(library/init/data/fin): add div 2017-03-05 16:43:15 -08:00
Leonardo de Moura
1cdf13821c feat(library/init/data/unsigned): add basic unsigned operations 2017-03-05 16:14:16 -08:00
Leonardo de Moura
6134a4a70e feat(library/init): basic operations for (fin n) 2017-03-05 16:00:02 -08:00
Leonardo de Moura
931820c06d chore(library/equations_compiler/structural_rec): update comment 2017-03-05 11:03:36 -08:00
Leonardo de Moura
832246c06b chore(tests/lean/run/soundness): remove old comment 2017-03-05 09:55:42 -08:00
Leonardo de Moura
959fa737eb fix(library/equations_compiler/structural_rec): motive for brec_on 2017-03-05 09:50:38 -08:00
Leonardo de Moura
76f989d51c chore(library/init/data/bool/lemmas): add (coe tt) and (coe ff) simp lemmas 2017-03-05 09:50:01 -08:00
Sebastian Ullrich
ddfdca2e57 chore(init/meta): replace some uses of to_expr `(...) with ``(...) 2017-03-05 08:37:16 -08:00
Sebastian Ullrich
876a2bee46 feat(frontends/lean/elaborator): flag expr quotes containing universe params 2017-03-05 08:37:16 -08:00
Sebastian Ullrich
5d68938a9c feat(frontends/lean): expr literals ```(...) 2017-03-05 08:37:16 -08:00
Sebastian Ullrich
4bad1bea82 chore(script/gen_*): +x 2017-03-05 08:37:16 -08:00
Sebastian Ullrich
3dd7a69068 chore(bin/lean-gdb): fix mismatched type? 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
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
c456bceafa feat(library/tactic/cases_tactic): remove m_dep_elim since we are now always using dependent eliminators 2017-03-04 14:35:42 -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
22988bb95d feat(library/compiler): avoid pack/unpack overhead produced by the inductive_compiler in the code generator
TODO: make sure the user is not manually using cases_on for the
auxiliary datatype generated by the inductive_compiler to
destruct nested inductives.
2017-03-04 13:54:44 -08:00
Leonardo de Moura
060d6b66b2 fix(library/inductive_compiler/ginductive): incorrect assertion 2017-03-04 13:31:34 -08:00