Leonardo de Moura
ebd912d243
feat(library/eqn_lemmas): add map function name => equational lemmas
2016-10-09 11:48:55 -07:00
Leonardo de Moura
476684a284
refactor(library,library/tactic/defeq_simplifier): use simp_lemmas in the defeq_simplifier
2016-10-08 22:15:27 -07:00
Leonardo de Moura
1e93c2c235
refactor(library/rfl_lemmas): simplify
2016-10-06 16:49:20 -07:00
Leonardo de Moura
d0d75c0923
refactor(kernel): reduce number of configurations supported in the kernel
...
Now, eta and impredicativity are assumed to be always true.
Motivation: the rest of the system assumes eta.
Regarding impredicativity, we decided to support only the standard library.
2016-09-27 17:07:01 -07:00
Leonardo de Moura
823357462e
feat(library/equations_compiler/structural_rec): validation
2016-09-23 13:50:55 -07:00
Leonardo de Moura
9068dd9a88
chore(library/equations_compiler/equations): style
2016-09-23 10:05:18 -07:00
Leonardo de Moura
c8e13cd391
feat(frontends/lean): minimize errors being reported
2016-09-23 09:20:31 -07:00
Leonardo de Moura
5e5285ee67
refactor(library): rename pr1/pr2 ==> fst/snd
2016-09-21 09:48:39 -07:00
Leonardo de Moura
89f62edaf0
refactor(library): reduce dependecies on old code, simplify normalize module
2016-09-19 22:12:34 -07:00
Leonardo de Moura
c66dbf202b
chore(library/equations_compiler): remove old equation compiler
2016-09-19 17:13:30 -07:00
Leonardo de Moura
9a967001be
chore(library/equations_compiler/compiler): use exception until well_founded recursion support is implemented
2016-09-19 14:41:25 -07:00
Leonardo de Moura
9d9f2b2636
fix(library/equations_compiler/structural_rec): bug at check_arg_type
2016-09-18 18:36:20 -07:00
Leonardo de Moura
5df705ebe8
fix(library/equations_compiler/compiler): nested match-exprs in meta_definitions
2016-09-18 17:20:52 -07:00
Leonardo de Moura
194d1be0dd
fix(library/equations_compiler/structural_rec): reflexive type support
2016-09-18 16:15:31 -07:00
Leonardo de Moura
6657876566
feat(library/equations_compiler): add support for meta_definitions
2016-09-18 10:52:38 -07:00
Leonardo de Moura
7fb407d2fd
fix(library/equations_compiler/structural_rec): typo
2016-09-16 07:56:28 -07:00
Leonardo de Moura
2248dccfd4
feat(library/equations_compiler/elim_match): do not create auxiliary definition when compiling meta-definitions and/or lemmas
2016-09-12 12:54:01 -07:00
Leonardo de Moura
d43764b6fb
refactor(library/tactic/defeq_simplifier): move defeq_simp_lemmas to library
...
This commit also renames them to "rfl_lemmas".
Reason: these lemmas will be used at type_context::is_def_eq and type_context::whnf
2016-09-12 10:36:11 -07:00
Leonardo de Moura
6ac64c7250
feat(library/equations_compiler/elim_match): make process_transport more robust
2016-09-11 16:21:15 -07:00
Leonardo de Moura
932d14241b
chore(kernel): remove support for mutually inductive datatypes from the kernel
2016-09-10 17:39:17 -07:00
Leonardo de Moura
e6dd5242fc
feat(library/equations_compiler): add option eqn_compiler.zeta
2016-09-10 14:00:16 -07:00
Leonardo de Moura
50ef0185d9
fix(library/equations_compiler/structural_rec): missing relaxed_whnf
2016-09-10 12:14:00 -07:00
Leonardo de Moura
96d27b6b8f
fix(library/equations_compiler/elim_match): missing case for is_complete_transition
2016-09-10 12:13:31 -07:00
Leonardo de Moura
4df0c1fe93
feat(library/equations_compiler/compiler): do not use let-expresssions at pull_nested_rec_fn
2016-09-09 18:20:36 -07:00
Leonardo de Moura
c25ac7f54f
feat(library/equations_compiler): pull nested recursive calls
2016-09-09 17:56:56 -07:00
Leonardo de Moura
1d5f0895d4
chore(library/equations_compiler/util): disable sanitizer by default
2016-09-09 17:53:13 -07:00
Leonardo de Moura
a0fb3eb2f9
feat(library/equations_compiler/equations): add helper function
2016-09-09 17:43:42 -07:00
Leonardo de Moura
15f3622cbb
fix(library/equations_compiler/pack_domain): missing case
2016-09-09 13:39:51 -07:00
Leonardo de Moura
c1521b8416
feat(library/equations_compiler/elim_match): improve process_no_equation case
2016-09-09 12:40:16 -07:00
Leonardo de Moura
f64d1483e9
fix(library/equations_compiler/elim_match): avoid nontermination at process_no_equation
2016-09-09 09:00:57 -07:00
Leonardo de Moura
3857ae09f7
feat(library/equations_compiler/elim_match): add max number of steps
2016-09-09 08:48:34 -07:00
Leonardo de Moura
96fa8856bc
feat(library/equations_compiler): add mk_nonrec
2016-09-08 14:09:05 -07:00
Leonardo de Moura
14d009ce92
refactor(library/equations_compiler): improve mk_equation_lemma
2016-09-08 11:50:58 -07:00
Leonardo de Moura
f4f92ed2d1
chore(library/equations_compiler/util): add comment
2016-09-08 10:28:30 -07:00
Leonardo de Moura
7d56382baa
feat(library/equations_compiler/util): generate equation lemmas for equations using invertible functions
2016-09-07 17:57:10 -07:00
Leonardo de Moura
f7699d8719
fix(library/equations_compiler/elim_match): support dependent functions handling invertible functions
2016-09-07 16:04:08 -07:00
Leonardo de Moura
2f7a1a3579
feat(library/equations_compiler/elim_match): add support for invertible functions
2016-09-07 08:53:56 -07:00
Leonardo de Moura
bedb508a8f
feat(library/equations_compiler): do not generate bytecode for lemmas
2016-09-06 15:14:47 -07:00
Leonardo de Moura
c9cee9a702
feat(library/equations_compiler): add flag indicating whether we are compiling a lemma or not
2016-09-06 15:09:54 -07:00
Leonardo de Moura
385a28a410
chore(library/equations_compiler/util): use nested_exception
2016-09-06 13:37:10 -07:00
Leonardo de Moura
01107f7aae
feat(library/equations_compiler): generate bytecode for auxiliary definitions
2016-09-06 13:29:12 -07:00
Leonardo de Moura
ff9500d7f9
feat(library/exception): add nested_exception
2016-09-06 12:57:06 -07:00
Leonardo de Moura
d8caecff49
refactor(library/exception): avoid throw_generic_exception functions
2016-09-06 12:37:56 -07:00
Leonardo de Moura
a0b8766ffb
refactor(library): merge exception modules
2016-09-06 09:12:26 -07:00
Leonardo de Moura
120bffce25
chore(library/equations_compiler/elim_match): add cases/induction tactic error message to trace
2016-09-04 17:33:26 -07:00
Leonardo de Moura
029766495b
feat(library/equations_compiler/util): try to improve performance of lemma generation
...
There are still performance problems. Lemma generation is fine, but the
kernel is timing out when checking the lemma. We need to provide hints
to the kernel to avoid the performance problem.
2016-09-03 13:24:44 -07:00
Leonardo de Moura
cfbffb41ef
feat(library/equations_compiler): prove equation lemmas that use if-then-else
2016-09-03 13:23:09 -07:00
Leonardo de Moura
4d7c233684
feat(library/equations_compiler/elim_match): use if-then-else when next pattern for every equation is a variable or value
2016-09-03 13:22:25 -07:00
Leonardo de Moura
6dcf0725d7
fix(library/equations_compiler): erase inaccessible annotations
2016-09-02 14:11:03 -07:00
Leonardo de Moura
13f0d4e09a
refactor(library/equations_compiler): new equation lemma generation
...
The idea is to generate a lemma based on the left-hand-side provided by
the user. This feature is essential for supporting the derived inductive
datatype constructors.
2016-09-02 14:04:09 -07:00