Leonardo de Moura
|
e3a0e62859
|
fix(library/unifier): try to generate approximate solution for flex-flex constraints before discarding them
fixes #662
|
2015-06-09 14:36:31 -07:00 |
|
Leonardo de Moura
|
f830bf54c2
|
refactor(*): clarify name_generator ownership
|
2015-05-21 14:32:36 -07:00 |
|
Leonardo de Moura
|
4f12409c63
|
fix(library/unifier): assertion violation
This assertion violation was introduced when we added "projection
macros" to speedup the elaboration process.
|
2015-05-19 10:07:31 -07:00 |
|
Leonardo de Moura
|
19361f0196
|
feat(library/unifier): do not fire type class resolution as last resort when type contains metavariables
see discussion at #604
|
2015-05-18 15:45:23 -07:00 |
|
Leonardo de Moura
|
57ea660963
|
refactor(*): start process for eliminating of opaque definitions from the kernel
see issue #576
|
2015-05-08 16:06:04 -07:00 |
|
Leonardo de Moura
|
eb3a236119
|
fix(library/unifier): typo
fixes #588
|
2015-05-07 16:30:02 -07:00 |
|
Leonardo de Moura
|
88cd6e9a63
|
chore(library/unifier): remove dead code
|
2015-05-07 15:49:33 -07:00 |
|
Leonardo de Moura
|
eb23a30626
|
feat(library/unifier): additional memory checks
|
2015-04-20 17:41:08 -07:00 |
|
Leonardo de Moura
|
28dad944c5
|
fix(library/unifier): cyclic assignment (?M <- ?M)
This was producing nonterminating behavior on example described at issue #489
|
2015-04-20 17:35:37 -07:00 |
|
Leonardo de Moura
|
9fe2d5c74c
|
refactor(library/unifier): use new assign method in the unifier
|
2015-03-12 15:01:40 -07:00 |
|
Leonardo de Moura
|
8f004671a2
|
fix(library/unifier): typo
|
2015-03-12 13:15:23 -07:00 |
|
Leonardo de Moura
|
3e4d849a4a
|
refactor(kernel/metavar.h): simplify API
|
2015-03-12 12:50:53 -07:00 |
|
Leonardo de Moura
|
1244f01518
|
chore(library/unifier): remove dead code
|
2015-03-09 14:07:14 -07:00 |
|
Leonardo de Moura
|
9a6c675908
|
feat(library/unifier): add option to disable nonchronological backtracking
|
2015-03-09 12:08:58 -07:00 |
|
Leonardo de Moura
|
abd238aef0
|
feat(*): add [quasireducible] attribute
|
2015-03-04 22:12:49 -08:00 |
|
Leonardo de Moura
|
7db6ed7c14
|
refactor(library/unifier): move m_pattern configuration option to unifier_config
|
2015-03-03 20:24:18 -08:00 |
|
Leonardo de Moura
|
341a9a2010
|
refactor(library/unifier): remove dead code
|
2015-03-03 20:14:17 -08:00 |
|
Leonardo de Moura
|
7e2f0f9a36
|
fix(library/unifier): in the context_check, we should not consider local constants that occur in the type of other constants
This was a performance bug.
We were missing higher-order pattern constraints due to this bug.
|
2015-03-02 17:28:56 -08:00 |
|
Leonardo de Moura
|
72eed42ac8
|
feat(library/unifier): ignore irrelevant branches when solving flex-rigid constraints
|
2015-02-26 13:43:54 -08:00 |
|
Leonardo de Moura
|
fcd67649ed
|
refactor(kernel): expose may_reduce_later method
|
2015-02-07 20:36:26 -08:00 |
|
Leonardo de Moura
|
b57f93bad5
|
refactor(kernel): remove unnecessary procedures
|
2015-02-07 20:14:19 -08:00 |
|
Leonardo de Moura
|
dbc8e9e13a
|
refactor(*): add method get_num_univ_params
|
2015-01-28 17:22:18 -08:00 |
|
Leonardo de Moura
|
2717adde94
|
feat(library/unifier): add option 'unifier.conservative', use option by default in the calc_assistant
|
2015-01-19 16:23:29 -08:00 |
|
Leonardo de Moura
|
2e4a2451e6
|
refactor(library/reducible): simplify reducible/irreducible semantics
|
2015-01-08 18:52:18 -08:00 |
|
Leonardo de Moura
|
597f7385e8
|
fix(library/unifier): incorrect fix
|
2015-01-07 16:57:02 -08:00 |
|
Leonardo de Moura
|
2990a6d029
|
fix(library/unifier): missing "set_conflict" in process_delta
|
2015-01-07 12:41:01 -08:00 |
|
Leonardo de Moura
|
2867789bec
|
fix(library/unifier): handle missing first-order flex-flex case
|
2014-12-10 22:11:30 -08:00 |
|
Leonardo de Moura
|
050104cdfd
|
fix(library/unifier): assertion violation
|
2014-12-02 12:17:59 -08:00 |
|
Leonardo de Moura
|
06f436840f
|
fix(library/unifier): postpone class-instance constraints whose type could not be inferred
|
2014-12-01 22:27:23 -08:00 |
|
Leonardo de Moura
|
19d14678ef
|
refactor(library/unifier): remove dead code
|
2014-12-01 21:57:34 -08:00 |
|
Leonardo de Moura
|
f1e915a188
|
feat(frontends/lean): add 'find_decl' command
|
2014-11-23 23:00:59 -08:00 |
|
Leonardo de Moura
|
8c8bf41e39
|
feat(frontends/lean/server): do not unfold definitions in FINDG
|
2014-11-23 19:03:39 -08:00 |
|
Leonardo de Moura
|
00df34a1c4
|
feat(library/unifier): generalize method process_succ_eq_max_core
|
2014-11-14 14:25:41 -08:00 |
|
Leonardo de Moura
|
51719145f9
|
feat(library/unifier): solved universe constraints of the form succ^k1 a = max k2 ?m (when k1 >= k2)
|
2014-11-12 17:28:33 -08:00 |
|
Leonardo de Moura
|
ea739100b3
|
fix(library/unifier): broken optimization in the unifier
See new comments and tests for details.
|
2014-10-28 16:09:41 -07:00 |
|
Leonardo de Moura
|
78bc3ef7e4
|
feat(library/unifier): improve FailLocal/FailCircular failures in the unifier by using normalization
This improvements was marked as TODO, and was preventing us from
elaborating the example in the new test vector3.lean
|
2014-10-27 16:49:29 -07:00 |
|
Leonardo de Moura
|
096c67b2e5
|
fix(library/unifier): occurs-check bug
|
2014-10-25 00:16:02 -07:00 |
|
Leonardo de Moura
|
8974b52f7b
|
perf(library/unifier): avoid unnecessary wasteful computation
|
2014-10-16 17:16:49 -07:00 |
|
Leonardo de Moura
|
9ba59c6b25
|
feat(library/universe): improve support for universe level constraints in the unifier
|
2014-10-09 20:28:39 -07:00 |
|
Leonardo de Moura
|
8fa171cb92
|
refactor(library/unifier): allow general 'unify' procedure to take an initial substitution as argument
|
2014-10-07 17:30:57 -07:00 |
|
Leonardo de Moura
|
60d8369688
|
fix(library/unifier): missing justification when updating choice constraints
The bug was not producing incorrect results, but really bad error
messages.
See: empty.lean.expected.out
|
2014-10-04 10:40:53 -07:00 |
|
Leonardo de Moura
|
9f6a8827e0
|
refactor(*): use name_map
|
2014-09-28 10:23:11 -07:00 |
|
Leonardo de Moura
|
22e47430b5
|
feat(library/unifier): add 'on-demand' choice constraints, they are processed as soon as their type does not contain meta-variables anymore
|
2014-09-27 21:50:39 -07:00 |
|
Leonardo de Moura
|
cd87539de5
|
fix(library/unifier): bug in the new next_delta_unfold_case_split
|
2014-09-25 09:56:32 -07:00 |
|
Leonardo de Moura
|
0488ee4ee2
|
perf(library/unifier): process delta expansion case split lazily
|
2014-09-24 19:16:12 -07:00 |
|
Leonardo de Moura
|
4dd7abb14e
|
refactor(library): explicit initialization/finalization
|
2014-09-23 10:45:14 -07:00 |
|
Leonardo de Moura
|
b1ee888aae
|
refactor(*): start move to explicit initialization/finalization,
explicitly initialize/finalize options
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-09-22 10:41:07 -07:00 |
|
Leonardo de Moura
|
08ccd58eb6
|
feat(frontends/lean): add 'reducible' modifier for controlling which
definitions are unfolded during elaboration
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-09-19 15:54:32 -07:00 |
|
Leonardo de Moura
|
d647954f93
|
feat(frontends/lean/elaborator): constraints associated with 'proof-qed'
blocks are solved independently, closes #82
|
2014-09-13 10:21:10 -07:00 |
|
Leonardo de Moura
|
85f7132efe
|
feat(frontends/lean/placeholder_elaborator): perform class-instance resolution in a completely independent unifier object, it also triggers the resolution when expected type does not contain metavariables, closes #175, closes #173, closes #68
|
2014-09-11 14:49:35 -07:00 |
|