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 |
|
Leonardo de Moura
|
03902d4b45
|
refactor(library/unifier): add option m_discard too unifier, if m_discard == false, then unsolved flex-flex constraints are returned, the unifier also does not apply "last resource" techniques that may miss many solutions.
|
2014-09-11 14:49:35 -07:00 |
|
Leonardo de Moura
|
935ba35292
|
feat(library/unifier): keep normalization result when processing universe level unification constraints
|
2014-09-11 14:49:35 -07:00 |
|
Leonardo de Moura
|
187661aa6a
|
feat(library/unifier): consider whnf case-split on flex-rigid constraints whenever the rhs contains a local constant that is not in the lhs
|
2014-09-09 09:27:26 -07:00 |
|
Leonardo de Moura
|
a5698a55ec
|
fix(library/unifier): catch type error when checking is_def_eq of type incorrect expressions
|
2014-09-09 09:27:26 -07:00 |
|
Leonardo de Moura
|
fd85d4702e
|
refactor(library/unifier): move all_local outside of the class
|
2014-09-09 09:27:26 -07:00 |
|
Leonardo de Moura
|
ebde1bcfad
|
feat(library/unifier): option 'unifier.computation true' will force elaborator to always consider an extra case-split when the right-hand-side of a flex-rigid constraint is not in weak-head-normal-form
|
2014-09-09 09:27:26 -07:00 |
|
Leonardo de Moura
|
b9628842cf
|
feat(library/unifier): remove mk_macro_imitation, we instead expand the macro before solving flex-rigid constraints
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-28 17:34:03 -07:00 |
|
Leonardo de Moura
|
641624a277
|
fix(library/unifier): bug in expand_rhs
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-28 14:35:11 -07:00 |
|
Leonardo de Moura
|
e303651dee
|
refactor(library/unifier): cleanup mk_macro_imitation
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-28 13:19:19 -07:00 |
|
Leonardo de Moura
|
4c9723e5ed
|
fix(library/unifier): assertion violation
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-26 09:07:34 -07:00 |
|
Leonardo de Moura
|
fbf13994d8
|
refactor(*): use + for concatenating format objects
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-24 09:35:25 -07:00 |
|
Leonardo de Moura
|
b746492ac8
|
refactor(library/simple_formatter): rename simple_formatter to print
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-22 10:32:08 -07:00 |
|
Leonardo de Moura
|
7d987df429
|
refactor(kernel/formatter): move simple_formatter to library
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-22 10:26:45 -07:00 |
|
Leonardo de Moura
|
937c465685
|
fix(library/unifier): too much reduction
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-21 21:37:51 -07:00 |
|
Leonardo de Moura
|
6cf73b51e2
|
fix(library/unifier): bug in occurs_check, the dependency may be eliminated by reducing term
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-21 17:56:18 -07:00 |
|
Leonardo de Moura
|
bb6dbe0e6f
|
fix(library/unifier): we should preprocess choice constraints before we start solving any constraint, fixes #85
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-21 16:58:25 -07:00 |
|
Leonardo de Moura
|
e5057ed155
|
fix(library/unifier): remove incorrect assertion, a local constant may occur in the type of a metavariable that was not instantiated yet
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-20 18:22:43 -07:00 |
|
Leonardo de Moura
|
f5987b7bda
|
refactor(library/unifier): make it easier to add new options to the unifier
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-20 17:30:08 -07:00 |
|
Leonardo de Moura
|
0450e81392
|
feat(library/unifier): allow computation when solving flex-rigid constraints
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-20 16:46:20 -07:00 |
|
Leonardo de Moura
|
fa342c8ea7
|
fix(library/unifier): missing set_conflict
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-20 16:46:19 -07:00 |
|
Leonardo de Moura
|
9588336c15
|
refactor(kernel/type_checker): remove "global" constraint buffer from type_checker, and use constraint_seq instead
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-20 16:46:19 -07:00 |
|
Leonardo de Moura
|
4cf3d32e0c
|
chore(*): create alias for std::pair
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-20 16:46:19 -07:00 |
|
Leonardo de Moura
|
4a96fefd96
|
fix(library/unifier): bug in unifier priority queue
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-18 18:58:50 -07:00 |
|
Leonardo de Moura
|
1436212a34
|
fix(library/unifier): use depth-first search strategy for solving class-instance constraints
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-08-16 13:51:24 -07:00 |
|