Leonardo de Moura
28970ef717
feat(library/blast/congruence_closure): proof extraction
2015-11-20 12:23:32 -08:00
Leonardo de Moura
1e3f549c39
feat(library/blast/subst_action): add option for disabling subst action
2015-11-20 10:53:02 -08:00
Leonardo de Moura
028a2ab785
feat(library/blast): add get_config()
2015-11-20 10:39:26 -08:00
Leonardo de Moura
c76b04719c
feat(library/app_builder): add lift_from_eq
2015-11-20 10:27:58 -08:00
Leonardo de Moura
f6ba746b03
chore(library/blast/trace): fix signature
2015-11-20 08:55:44 -08:00
Leonardo de Moura
ffacf70230
chore(library/io_state_stream): remove unused variable
2015-11-20 08:20:29 -08:00
Leonardo de Moura
628608ca7d
chore(library/blast/congruence_closure): fix style
2015-11-19 19:49:59 -08:00
Leonardo de Moura
d5b0a45aa4
chore(library/blast/simplifier/simplifier_actions): fix warnings
2015-11-19 19:47:04 -08:00
Daniel Selsam
21cb409e6c
refactor(library/blast/simplifier): move simplifier module into blast
2015-11-19 19:43:04 -08:00
Daniel Selsam
2c72f46adc
feat(library/blast/forward): opportunistically delete dead hypotheses
2015-11-19 19:40:40 -08:00
Leonardo de Moura
2d93fe4b76
feat(library/blast/congruence_closure): implement congruence closure
...
Proof extraction is still missing
2015-11-19 19:37:11 -08:00
Leonardo de Moura
968b615390
feat(library/blast/congruence_closure): add "add_eqv"
2015-11-19 15:56:21 -08:00
Leonardo de Moura
f9ced4b3e1
feat(library/blast): add "ppb" helper class for pretty printing expression in blast
2015-11-19 15:55:22 -08:00
Leonardo de Moura
86ad8c348e
fix(library/norm_num): memory leaks
2015-11-19 14:32:47 -08:00
Leonardo de Moura
ee3083c12c
feat(library/blast): add action based on congruence closure module
2015-11-19 12:30:45 -08:00
Leonardo de Moura
b1777855cf
chore(util/rb_multi_map): remove unnecessary includes
2015-11-19 11:45:20 -08:00
Daniel Selsam
5ada4312d7
feat(library/blast/forward): propositional forward chaining
2015-11-19 11:44:53 -08:00
Daniel Selsam
3523e32345
chore(library/blast/simplifier): use blast's app_builder
2015-11-19 10:57:33 -08:00
Daniel Selsam
e856de5ab4
chore(library/blast/simplifier): remove old comment
2015-11-19 10:57:33 -08:00
Leonardo de Moura
193c446fc4
fix(library/blast/blast): metavariable assignment validation
2015-11-19 10:52:18 -08:00
Soonho Kong
b4b365239f
feat(emacs/lean-mode.el): use --dir
option in lean-exec-at-pos
...
See #821 and #788
2015-11-19 12:56:07 -05:00
Leonardo de Moura
f78e57fd52
feat(shell,frontends/lean): add command line option --dir
...
See #821
See #788
2015-11-19 08:34:23 -08:00
Leonardo de Moura
4bb58a04db
fix(CMakeLists): remove tests for dead module, fixes #883
2015-11-19 07:59:57 -08:00
Leonardo de Moura
3bd83b8e41
feat(library/blast/backward/backward_strategy): don't try constructor action by default
2015-11-18 19:14:37 -08:00
Leonardo de Moura
aa1451888c
fix(library/blast): spurious trace messages, typo
2015-11-18 19:12:29 -08:00
Leonardo de Moura
d85e26898e
fix(library/blast): uninitialized variables
2015-11-18 18:56:19 -08:00
Leonardo de Moura
fbeee674b3
chore(library/blast/union_find): remove dead code
2015-11-18 18:35:00 -08:00
Leonardo de Moura
f8a20341cb
refactor(library/blast): get_hypothesis_decl return a reference
2015-11-18 18:20:02 -08:00
Leonardo de Moura
b61eb3ea0c
fix(library/blast): compilation errors in debug mode
2015-11-18 18:01:58 -08:00
Leonardo de Moura
808e6f0089
chore(library/blast/backward/backward_rule_set): unused variable
2015-11-18 17:59:31 -08:00
Daniel Selsam
413989afd6
feat(library/blast/backward): backward chaining strategy
2015-11-18 17:48:39 -08:00
Daniel Selsam
39a9ab6bf8
fix(library/blast/simplifier): misc cleanup
2015-11-18 17:32:08 -08:00
Leonardo de Moura
5251752b9c
chore(library/blast/state): document branch extension methods
2015-11-18 17:29:01 -08:00
Leonardo de Moura
70a1aebfe3
feat(library/blast/state): add initialized event handler for branch extensions.
2015-11-18 17:24:04 -08:00
Leonardo de Moura
107c155574
chore(library/blast/state): fix style
2015-11-18 15:50:24 -08:00
Leonardo de Moura
223e77c4a9
refactor(library/blast): use branch_extension for recursor_action
2015-11-18 15:49:02 -08:00
Leonardo de Moura
6823a34935
feat(library/blast): branch extensions
2015-11-18 15:30:59 -08:00
Leonardo de Moura
bf5fe8d180
feat(library/blast): add trace module
2015-11-18 12:59:53 -08:00
Leonardo de Moura
453e90261b
refactor(library/blast): make sure all actions return action_result, add macros for simplifying strategy definition
...
revert is not an action, but a procedure for helping us to build actions.
2015-11-18 12:29:43 -08:00
Leonardo de Moura
59e676e4fa
fix(library/blast/strategy): initialization
...
A strategy is supposed to solve the current branch.
2015-11-18 10:20:02 -08:00
Leonardo de Moura
93a0f62cd3
chore(library/blast/congruence_closure): fix style
2015-11-17 19:16:42 -08:00
Leonardo de Moura
dde4aa72f9
chore(library/blast/congruence_closure): fix warnings
2015-11-17 19:14:12 -08:00
Leonardo de Moura
3734cc671a
feat(library/blast/congruence_closure): add is_eqv
2015-11-17 19:10:00 -08:00
Leonardo de Moura
d833410f0d
feat(library/blast/congruence_closure): add proved/disproved aux methods
2015-11-17 19:06:23 -08:00
Leonardo de Moura
3f6b79227f
refactor(library/blast/congruence_closure,library/app_builder): add helper methods for theorems heavily used in the congruence closure module
2015-11-17 18:57:40 -08:00
Leonardo de Moura
3de9a89d93
feat(library/blast/congruence_closure): congruence_closure basics
2015-11-17 18:45:22 -08:00
Leonardo de Moura
de67288305
fix(library/app_builder): mk_rel supports relations where the lhs and rhs are not necessarily the last two arguments (e.g., heq)
2015-11-17 18:45:22 -08:00
Leonardo de Moura
f363975856
feat(frontends/lean): add command #congr_rel for testing new congruence lemma for equivalence relations
2015-11-17 18:45:22 -08:00
Leonardo de Moura
16bcd2f522
feat(congr_lemma_manager): add congruence lemma for equivalence relation over iff/eq
2015-11-17 18:45:22 -08:00
Leonardo de Moura
491c7c55e1
feat(library/simplifier/simp_rule_set): add priorities for simp and congr rules
2015-11-16 22:34:06 -08:00
Leonardo de Moura
f7c6eee791
feat(library/head_map): add head_map_prio
2015-11-16 22:07:04 -08:00
Daniel Selsam
a689c66b1e
fix(library/blast/simplifier): handle scalar in fusion
2015-11-16 20:39:15 -08:00
Daniel Selsam
49ff8640d9
fix(library/blast/simplifier): use ac rules for numerals
2015-11-16 20:39:15 -08:00
Daniel Selsam
8ca5d87f0b
feat(library/blast/simplifier): rely on norm_num for recursion
2015-11-16 20:33:22 -08:00
Daniel Selsam
56efc969fd
feat(library/simplifier/simp_rule_set): throw exception for null simp rule
2015-11-16 20:33:22 -08:00
Daniel Selsam
9f1dda5622
style(library/blast/simplifier): follow else brace rules
2015-11-16 20:33:22 -08:00
Daniel Selsam
6ba42bb7bc
test(simplifier11.lean): add rule for (not P)
2015-11-16 20:33:22 -08:00
Daniel Selsam
b9a516783c
fix(library/blast/simplifier): remove unnecessary casts
2015-11-16 20:33:22 -08:00
Daniel Selsam
550cac6065
feat(library/norm_num): use type_context
2015-11-16 20:33:22 -08:00
Leonardo de Moura
770ca546be
fix(library/norm_num): unused variables warnings
2015-11-16 19:02:02 -08:00
Leonardo de Moura
ab98be633a
fix(library/blast/simplifier): warning when compiling using clang on OSX
2015-11-16 18:56:35 -08:00
Leonardo de Moura
d5d8ac8b44
fix(kernel/expr): warning when compiling using clang on OSX
2015-11-16 18:50:34 -08:00
Leonardo de Moura
f482e09cc2
fix(compiler/preprocess_rec): warning when compiling using clang on OSX
2015-11-16 18:38:41 -08:00
Leonardo de Moura
4dc27fb43b
chore(library/blast): use "override" consistently for proof_step objects
2015-11-16 18:30:59 -08:00
Leonardo de Moura
38436468e2
chore(library/type_context): remove dead code
2015-11-16 18:23:45 -08:00
Leonardo de Moura
4afd366a2c
fix(library/congr_lemma_manager): warnings when compiling using clang on OSX
2015-11-16 18:23:17 -08:00
Leonardo de Moura
8e4fd50913
chore(frontends/lean/builtin_cmds): fix style
2015-11-16 16:10:01 -08:00
Leonardo de Moura
39ec756331
feat(library/blast): add congruence closure skeleton
2015-11-16 16:07:00 -08:00
Leonardo de Moura
60945e95b4
feat(library/blast): add 'discard' action for detecting irrelevant hypotheses
2015-11-16 11:43:51 -08:00
Leonardo de Moura
7abb0d6b96
chore(frontends/lean/builtin_cmds,library/blast/simplifier): fix style
2015-11-16 11:10:12 -08:00
Leonardo de Moura
a567cce685
fix(library/blast/simplify_actions): compilation error due to recent changes in the simplifier API
2015-11-16 10:13:27 -08:00
Daniel Selsam
5e8068b2b2
feat(library/blast/simplifier): draft of fusion
2015-11-16 09:13:07 -08:00
Daniel Selsam
c694d443d7
feat(library/blast/simplifier): placeholder for fusion
2015-11-16 09:13:07 -08:00
Daniel Selsam
f72da014d4
feat(library/blast/fusion): refactor
2015-11-16 09:13:07 -08:00
Daniel Selsam
d852be0d79
feat(library/blast/simplifier): option for fusing
2015-11-16 09:12:29 -08:00
Leonardo de Moura
db59c6829c
feat(library/blast): add basic support for non-recursive recursors/eliminators in the simple_strategy, fix bug at recursor_action
2015-11-15 18:39:12 -08:00
Leonardo de Moura
a545860aa1
feat(library/blast/intros_action): apply head_beta_reduce at intros
2015-11-15 18:14:12 -08:00
Leonardo de Moura
2e057477ef
feat(library/blast/recursor_action): ignore type class instances in the recursor action
2015-11-15 18:04:08 -08:00
Leonardo de Moura
24ed427c2f
feat(library/blast): add "recursor" (aka elimination/induction) action
2015-11-15 18:00:32 -08:00
Leonardo de Moura
9e8627380a
chore(library/blast/simple_strategy): fix style
2015-11-15 15:08:01 -08:00
Leonardo de Moura
1308c7c4e2
feat(library/blast): add action for not(a ~ a) when ~ is a reflexive relation
2015-11-15 15:00:25 -08:00
Leonardo de Moura
96bc8ac208
fix(library/relation_manager): typo
2015-11-15 14:59:21 -08:00
Leonardo de Moura
ffd0c2b09a
refactor(library/blast/simple_strategy): eliminate duplicated code
2015-11-15 14:30:24 -08:00
Leonardo de Moura
2549e49e72
feat(library/blast): add priority_queue for hypotheses we want to eliminate (apply recursion over)
2015-11-15 13:32:43 -08:00
Leonardo de Moura
4cd5e18bd0
refactor(library/blast): add strategy abstract object
2015-11-15 13:12:21 -08:00
Leonardo de Moura
bae37d287d
fix(library/blast/state): bad style warnings
2015-11-15 12:38:07 -08:00
Leonardo de Moura
ff73fb22fb
feat(library/user_recursors): store whether recursor is recursive or not
2015-11-15 12:37:35 -08:00
Leonardo de Moura
e18e4e3200
fix(library/user_recursors): bug at get_num_minors
2015-11-15 11:48:34 -08:00
Leonardo de Moura
eae26cdfae
feat(library/user_recursors): add get_num_minors
2015-11-15 11:35:55 -08:00
Leonardo de Moura
ccdaa524f7
fix(library/relation_manager): bad style warnings
2015-11-15 11:35:20 -08:00
Leonardo de Moura
fd41a4f76d
feat(library/blast): add simplify_target action
2015-11-14 16:18:12 -08:00
Leonardo de Moura
6a554f6ba7
fix(library/blast/simple_actions): missing include
2015-11-14 15:41:54 -08:00
Leonardo de Moura
4d68e2a520
feat(library,hott): add eq.mpr and eq.mp lemmas
2015-11-14 15:40:47 -08:00
Leonardo de Moura
b5db77961d
feat(library/blast): add "trivial" action
2015-11-14 15:02:14 -08:00
Leonardo de Moura
2ba9979822
feat(library/relation_manager): add helper procedures
2015-11-14 14:11:52 -08:00
Leonardo de Moura
0803db21d3
refactor(library/blast): add "_action" suffix to files defining actions
2015-11-14 13:22:12 -08:00
Leonardo de Moura
9921228dd5
feat(library/blast): add simp_rule_sets to branch
2015-11-14 13:16:00 -08:00
Leonardo de Moura
0f4e59a84f
feat(library/blast): add "no_confusion" action
2015-11-13 18:19:05 -08:00
Leonardo de Moura
29d472788f
feat(library/blast/subst): avoid unnecessary proof step
2015-11-13 16:31:07 -08:00
Leonardo de Moura
3849aff674
fix(library/blast/subst): bug in subst action, add hypothesis_idx_buffer_set (helper class), refine revert_action interface
2015-11-13 16:10:25 -08:00
Leonardo de Moura
33036befc6
fix(library/blast/intros): corner case
2015-11-13 15:25:55 -08:00
Leonardo de Moura
6c038626f8
fix(library/blast/simple_strategy): tracing
2015-11-13 15:22:09 -08:00
Leonardo de Moura
ca4c078089
feat(library/blast): add "subst" action
2015-11-13 15:21:26 -08:00
Leonardo de Moura
cc4608a392
feat(library/blast): add "revert" auxiliary action
2015-11-13 14:15:48 -08:00
Leonardo de Moura
92a7c38260
feat(kernel/expr): add mk_app that takes a list of arguments
2015-11-13 14:01:15 -08:00
Leonardo de Moura
950f9ff79f
feat(util/rb_tree): buffer => rb_tree
2015-11-13 14:00:35 -08:00
Leonardo de Moura
0dd6d6b140
feat(library/blast): avoid default name when creating hypotheses
2015-11-13 13:13:48 -08:00
Leonardo de Moura
bc8c5a3f68
feat(library/blast): basic tracing for blast
2015-11-13 13:05:20 -08:00
Leonardo de Moura
2889ec5870
feat(library/blast/state): add methods for deleting hypotheses
2015-11-13 11:59:34 -08:00
Leonardo de Moura
0a25652885
feat(library/blast/intros): intros is now a silent step.
2015-11-13 10:55:15 -08:00
Leonardo de Moura
4aa20fcff0
feat(library/blast/state): add support for "silent" proof steps.
2015-11-13 10:54:10 -08:00
Leonardo de Moura
2e32cf51f9
feat(library/blast/state): do not track dependecies to values
2015-11-13 10:38:25 -08:00
Leonardo de Moura
a7fdf5cc73
fix(library/blast/blast): avoid unnecessary calls to set_local_instances
...
This was producing a performance problem since the cache is invalidated/flushed
whenever we call this method.
2015-11-13 10:08:29 -08:00
Daniel Selsam
1276f2f050
feat(library/blast/simplifier): struct for cache key
2015-11-12 21:21:52 -08:00
Daniel Selsam
f17320eccf
fix(library/abstract_expr_manager): remove weight and lt
2015-11-12 21:21:52 -08:00
Daniel Selsam
4e85d59785
style(library/abstract_expr_manager): whitespace
2015-11-12 21:21:52 -08:00
Daniel Selsam
3703938e55
feat(library/abstract_expr_manager): compare exprs ignoring subsingletons
2015-11-12 21:21:51 -08:00
Daniel Selsam
031979cb49
feat(library/blast/simplifier): take simp_rule_sets as argument
2015-11-12 21:20:16 -08:00
Rob Lewis
44a099f6f1
feat(norm_num): performance and style fixes
2015-11-12 20:53:37 -08:00
Rob Lewis
4bf0519843
feat(norm_num): numeral normalizer works for +, -, *, /
2015-11-12 20:53:37 -08:00
Rob Lewis
616450be64
feat(library/norm_num): extend norm_num to handle subtraction
2015-11-12 20:53:37 -08:00
Leonardo de Moura
8f378db661
feat(library/blast): add normalize procedure to blast API
2015-11-12 20:42:58 -08:00
Leonardo de Moura
e1f81cfdcd
feat(library/type_context): add normalizer for type_context
2015-11-12 20:31:36 -08:00
Leonardo de Moura
d9816b6e21
fix(library/type_context): avoid errors in the infer type method due to opaque constants
2015-11-12 20:04:46 -08:00
Leonardo de Moura
9aaa2d0991
feat(frontends/lean): add new command for testing new congruence lemmas
...
Remark: #congr_simp is the old command, and #congr is the new one.
2015-11-12 18:55:25 -08:00
Leonardo de Moura
1d1cd0fc24
feat(library/congr_lemma_manager): add congruence lemma for normalization and congruence closure
2015-11-12 18:54:12 -08:00
Leonardo de Moura
15cd92f89f
fix(library/type_context): methods assign and force_assign were not processing postponed constraints
2015-11-12 18:52:31 -08:00
Leonardo de Moura
1e436b8b3e
fix(library/blast/state): incorrect assertions
2015-11-12 16:28:09 -08:00
Leonardo de Moura
98f91931bf
fix(library/blast/state): compilation errors
2015-11-12 16:25:59 -08:00
Leonardo de Moura
6eef52196e
feat(library/blast): add gexpr "generalized expressions"
2015-11-11 16:11:51 -08:00
Leonardo de Moura
5ceac83b6a
feat(frontends/lean/elaborator): restrict the number of places where coercions are considered
...
We do not consider coercions around meta-variables anymore.
2015-11-11 12:37:19 -08:00
Leonardo de Moura
fa3baed701
feat(frontends/lean): add new option (elaborator.coercions) for disabling coercions
2015-11-11 11:57:44 -08:00
Leonardo de Moura
9bedbbb739
refactor(library,hott): remove coercions between algebraic structures
...
They are classes, and mixing coercion with type class resolution is a
recipe for disaster (aka counterintuitive behavior).
2015-11-11 11:57:44 -08:00
Leonardo de Moura
fee0cff295
feat(library/blast): add simple indexing data-structure for active hypotheses
2015-11-11 00:02:47 -08:00
Leonardo de Moura
41e14fddf8
feat(library/head_map): support local name in the head_map
2015-11-10 20:02:31 -08:00
Leonardo de Moura
bd06bf9fb1
doc(library/blast): document action_result
2015-11-10 17:49:41 -08:00
Leonardo de Moura
48eb6cb138
refactor(library/blast/state): simplify state
2015-11-10 17:27:39 -08:00
Leonardo de Moura
511337a4e9
fix(library/blast): missing file
2015-11-10 17:00:26 -08:00
Leonardo de Moura
f8f3f9402e
feat(library/blast): major reorg and basic backward chaining action
2015-11-10 17:00:16 -08:00
Leonardo de Moura
5be1893d98
fix(library/blast/state): bug at instantiate_urefs_mrefs
2015-11-10 16:38:44 -08:00
Leonardo de Moura
6f01a7339a
refactor(library/blast): move simple search strategy to separate module
2015-11-10 11:44:18 -08:00
Leonardo de Moura
6ac2bf9c6c
refactor(library/blast): add choice_point object
2015-11-10 11:28:59 -08:00
Leonardo de Moura
b76cdb1c68
refactor(library/blast): move blast options to separate module
2015-11-10 11:03:54 -08:00
Leonardo de Moura
f1c2a88e17
feat(library/blast): add proof_expr thin layer for creating proof terms at blast
2015-11-10 10:50:58 -08:00
Leonardo de Moura
5304f62f54
feat(library/blast/hypothesis): track proof depth in hypotheses
2015-11-10 09:54:28 -08:00
Leonardo de Moura
409ad18f9b
refactor(library/blast/state): cleanup state interface
2015-11-10 09:20:44 -08:00
Daniel Selsam
fc5dba4cd1
fix(library/simplifier/simp_rule_set): use lists instead of vectors
2015-11-10 08:58:46 -08:00
Leonardo de Moura
b59dd2305c
refactor(library/blast): rename state::get ==> state::get_hypothesis_decl
2015-11-09 14:52:21 -08:00
Leonardo de Moura
fb7a47cf2b
refactor(library/blast): avoid auxiliary local when creating hypothesis for intros
2015-11-09 14:40:39 -08:00
Leonardo de Moura
a14bb86148
feat(library/blast/state): add mk_lambda/mk_pi for abstracting hrefs
2015-11-09 14:20:19 -08:00
Leonardo de Moura
973a5c4812
feat(library/blast): improve blast type_context push/pop operations
2015-11-09 13:36:49 -08:00
Leonardo de Moura
9c364b410e
refactor(library/blast): hypothesis m_depth ==> m_dep_depth
2015-11-09 13:29:07 -08:00
Leonardo de Moura
9a557958f4
refactor(library/blast): merge state and branch classes
...
We will keep only one active branch in blast.
All other branches are implicit.
2015-11-09 13:24:30 -08:00
Leonardo de Moura
9bdf3a0d33
refactor(library/blast): we should reuse uref/mref/href in idxs
...
Motivation: avoid nasty bugs when caching results
2015-11-09 12:41:52 -08:00
Leonardo de Moura
d952a1d299
refactor(library/blast/expr): remove unnecessary complexity
2015-11-09 12:27:33 -08:00
Leonardo de Moura
c5117785a8
feat(library/blast): add intros action
2015-11-08 19:18:40 -08:00
Leonardo de Moura
78f1679b03
feat(library/blast): add basic assumption action
2015-11-08 18:16:34 -08:00
Leonardo de Moura
6340b1ae5b
feat(library/blast): very basic search procedure and iterative deepening
2015-11-08 17:57:37 -08:00
Leonardo de Moura
1d39b6d5d4
feat(util/rb_map): add erase_min
2015-11-08 17:29:30 -08:00
Leonardo de Moura
c1392e60be
feat(util/rb_tree): add double_cmp
2015-11-08 17:10:49 -08:00
Leonardo de Moura
8308e87a6c
feat(library/blast/blast): initialize local instances at type_context objects
2015-11-08 15:20:05 -08:00
Leonardo de Moura
39019b6873
refactor(library/blast/simplifier): use app_builder mk_congr, mk_congr_arg and mk_congr_fun
2015-11-08 14:05:03 -08:00
Leonardo de Moura
1374f8cba1
fix(library/blast/simplifier): compilation warnings
2015-11-08 14:05:03 -08:00
Leonardo de Moura
b8857b078b
feat(library/blast): add get_app_builder to blast API
2015-11-08 14:05:03 -08:00
Leonardo de Moura
1d1f043192
refactor(library/app_builder): throw exception instead of returning none_expr
2015-11-08 14:05:03 -08:00
Daniel Selsam
0061d595d0
feat(library/blast/simplifier): use generated congruence lemmas
2015-11-08 14:05:03 -08:00
Daniel Selsam
b2368ba81b
style(library/blast/simplifier): whitespace
2015-11-08 14:05:03 -08:00
Daniel Selsam
f1d5cc5d5b
test(library/blast/simplifier): add asserts
2015-11-08 14:05:03 -08:00
Leonardo de Moura
afc7a2af84
feat(library/blast): expose mk_congr_lemma_for_simp and get_fun_info
2015-11-08 14:05:03 -08:00
Leonardo de Moura
f74e8288bd
refactor(library/congr_lemma_manager): API
2015-11-08 14:05:03 -08:00
Leonardo de Moura
f19fcf255a
chore(library/constants.cpp): regenerate automatically generated file
2015-11-08 14:05:03 -08:00
Daniel Selsam
f3caeb77cd
style(library/blast/simplifier): whitespace
2015-11-08 14:05:03 -08:00
Daniel Selsam
6c2c82f47c
feat(library/blast/simplifier): conditional rewriting
2015-11-08 14:05:03 -08:00
Daniel Selsam
d4e410162b
feat(library/blast/simplifier): expand macros
2015-11-08 14:05:02 -08:00
Daniel Selsam
b727d5810a
feat(library/blast/simplifier): rewrite with tmp locals
2015-11-08 14:05:02 -08:00
Daniel Selsam
3f331a261a
fix(library/blast/simplifier): stack of caches for local context
2015-11-08 14:05:02 -08:00
Daniel Selsam
b81aa35221
feat(library/blast/simplifier): more informative tracing
2015-11-08 14:05:02 -08:00
Daniel Selsam
0ad41173bb
fix(library/blast/simplifier): caches for each relation
2015-11-08 14:05:02 -08:00
Daniel Selsam
a304f6a9df
fix(library/blast/simplifier): loop rewrite rules
2015-11-08 14:05:02 -08:00
Daniel Selsam
a73e4e30a3
feat(library/blast/simplifier): use new blast_tmp_type_context constructor
2015-11-08 14:05:02 -08:00
Daniel Selsam
8e5e8e6540
feat(library/blast/simplifier): basic infrastructure
2015-11-08 14:05:02 -08:00
Leonardo de Moura
78a9116a23
chore(library/congr_lemma_manager): fix style
2015-11-08 14:05:02 -08:00
Leonardo de Moura
77c0866599
feat(library/congr_lemma_manager): fallback to simple congruence theorem if needed
2015-11-08 14:05:02 -08:00
Leonardo de Moura
0eb0a679e8
feat(library/congr_lemma_manager): add support for complex lemmas
2015-11-08 14:05:02 -08:00
Leonardo de Moura
ba477a0e98
feat(library/congr_lemma_manager): handle simple congruence lemmas
2015-11-08 14:05:02 -08:00
Leonardo de Moura
3dc8f72c32
feat(frontends/lean/builtin_cmds): display congr lemma arg mask
2015-11-08 14:05:02 -08:00
Leonardo de Moura
df94864809
fix(library/congr_lemma_manager): use abstract_local
2015-11-08 14:05:02 -08:00
Leonardo de Moura
8a7321714a
feat(library/congr_lemma_manager): add mk_congr_simp that takes the number of expected arguments
...
Use sorry to be able to test first part
2015-11-08 14:05:02 -08:00
Leonardo de Moura
5a48a2cebe
feat(library/app_builder): add mk_sorry method
2015-11-08 14:05:02 -08:00
Leonardo de Moura
c16423194c
feat(library/fun_info_manager): add method for getting information about function prefix
2015-11-08 14:05:02 -08:00
Leonardo de Moura
559c5a26a3
fix(library/congr_lemma_manager): take resulting type into account when computing congruence lemma
2015-11-08 14:05:02 -08:00
Leonardo de Moura
b89b4cb5f0
fix(library/fun_info_manager): bug tracking dependecies
2015-11-08 14:05:02 -08:00
Leonardo de Moura
76032eea90
feat(kernel/expr): change dummy expression used in default constructor
2015-11-08 14:05:02 -08:00
Leonardo de Moura
7d588636a1
feat(library/fun_info_manager): collect additional information
2015-11-08 14:05:02 -08:00
Leonardo de Moura
9b34526030
feat(frontends/lean): add #congr debugging command
2015-11-08 14:05:02 -08:00
Leonardo de Moura
22dcf6825e
feat(library/congr_lemma_manager): add congr_lemma_manager skeleton and compute type of congruence lemma
...
proof is still missing
2015-11-08 14:05:02 -08:00
Leonardo de Moura
01bde866d6
feat(library/util): add auxiliary recognizers
2015-11-08 14:05:01 -08:00
Leonardo de Moura
2d04156959
fix(library/app_builder): bug in eq_drec
2015-11-08 14:05:01 -08:00
Leonardo de Moura
34d5882b9a
refactor(library/util): rename old is_eq_rec
2015-11-08 14:05:01 -08:00
Leonardo de Moura
2482c49729
test(frontends/lean): add #replace command for debugging purposes
2015-11-08 14:05:01 -08:00
Leonardo de Moura
6519e570f3
feat(library/fun_info_manager): safer "replace" function
2015-11-08 14:05:01 -08:00
Leonardo de Moura
78b1d4279b
fix(library/blast/state): compilation problems in debug mode
2015-11-08 14:05:01 -08:00
Leonardo de Moura
7e7919950d
fix(library/type_context): compilation warning
2015-11-08 14:05:01 -08:00
Leonardo de Moura
8d9d84f33c
refactor(library/blast): we don't require maximally shared terms anymore in blast
...
This commit also removes the blast::mk_* expr and level functions.
They were just noops.
I kept only mk_uref, mk_href and mk_mref
2015-11-08 14:05:01 -08:00
Leonardo de Moura
45c02cb65c
feat(library/blast/blast): add extra constructor
2015-11-08 14:05:01 -08:00
Leonardo de Moura
980eb95e0c
fix(library/type_context,library/blast/blast): blast uses multiple type_context objects, this commit makes sure all of them use the same local name generator
2015-11-08 14:05:01 -08:00
Leonardo de Moura
749d468440
feat(library): add fun_info_manager
2015-11-08 14:05:01 -08:00
Leonardo de Moura
e23523bb02
feat(library/type_context): add mk_subsingleton_instance
2015-11-08 14:05:01 -08:00
Daniel Selsam
a104b478f3
feat(library/type_context): make expand_macro public
2015-11-08 14:05:01 -08:00
Leonardo de Moura
f84f024b92
refactor(library/app_builder): change app_builder constructor
2015-11-08 14:05:01 -08:00
Leonardo de Moura
98b79373cc
feat(library/blast/blast): add blast::internalize
2015-11-08 14:05:01 -08:00
Leonardo de Moura
43efc11f36
feat(library/blast/blast): automatically clear tmp_type_context at recycling time
2015-11-08 14:05:01 -08:00
Leonardo de Moura
3517a3dfa9
feat(library/blast): add blast_tmp_type_context
2015-11-08 14:05:01 -08:00
Leonardo de Moura
b2c9f2f6c5
feat(library/type_context): document our approach for managing meta-variables in type_context
2015-11-08 14:05:01 -08:00
Leonardo de Moura
aa697206e8
refactor(library/type_context): rename set_context to set_local_instances
2015-11-08 14:05:01 -08:00
Leonardo de Moura
fb7efa9337
feat(library/type_context): new tmp local_constant policy
2015-11-08 14:05:01 -08:00
Leonardo de Moura
333ba83087
feat(library/type_context): add mk_tmp_local that allows us to specify the pretty printing name
...
We also modify the type inference procedure to preserve the binder names.
2015-11-08 14:05:01 -08:00
Leonardo de Moura
01259a2d1c
feat(library/app_builder): add helper functions for creating eq.rec applications
2015-11-08 14:05:01 -08:00
Leonardo de Moura
5b71025b07
fix(library/blast/blast): temporary type_context for blast must handle external meta-variables.
2015-11-08 14:05:01 -08:00
Leonardo de Moura
d1fa547335
feat(frontends/lean/builtin_cmds): change mask notation at #app_builder command
2015-11-08 14:05:01 -08:00
Leonardo de Moura
f21102a725
feat(frontends/lean): add test commands for new app_builder features
2015-11-08 14:05:01 -08:00
Leonardo de Moura
1c2c2a6077
feat(library/app_builder): mk_app with mask
2015-11-08 14:05:01 -08:00
Leonardo de Moura
8e0a3eec3f
chore(library/relation_manager): fix bogus style warnings
2015-11-08 14:05:01 -08:00
Leonardo de Moura
0f631889b7
feat(library/app_builder): add helper methods for creating binary relations, and refl/symm/trans proofs
2015-11-08 14:05:00 -08:00
Leonardo de Moura
b5c40e30ef
feat(library/app_builder): add set_context
2015-11-08 14:05:00 -08:00
Leonardo de Moura
137ec27059
feat(library/app_builder): add constructor for app_builder that may take subclasses of tmp_type_context
...
We need this feature because blast has its own version of tmp_type_context.
2015-11-08 14:05:00 -08:00
Leonardo de Moura
ee0974650a
feat(library/app_builder): new app_builder on top of type_context
...
The new version is more robust, and invokes type class resolution if needed.
2015-11-08 14:05:00 -08:00
Leonardo de Moura
87ec7383dd
fix(library/tmp_type_context): initialization
2015-11-08 14:05:00 -08:00
Leonardo de Moura
a26ea2a249
feat(frontends/lean/builtin_cmds): add command for testing app_builder
2015-11-08 14:05:00 -08:00
Leonardo de Moura
3804281919
refactor(library/app_builder): remove app_builder Lua API
2015-11-08 14:05:00 -08:00
Leonardo de Moura
f8916ed411
feat(library/blast/blast): create tmp_type_context that is compatible with blast
2015-11-08 14:05:00 -08:00
Leonardo de Moura
e01f2ec6a5
feat(library/tmp_type_context): add temporary type_context
2015-11-08 14:05:00 -08:00
Leonardo de Moura
18d9272f22
refactor(library/type_context): revise get_assignment
...
It is safer to return optional.
2015-11-08 14:05:00 -08:00
Leonardo de Moura
3bc5084bf6
refactor(library/simplifier): disable file
...
We will eventually delete it.
It will be subsumed by blast.
2015-11-08 14:05:00 -08:00
Leonardo de Moura
27904787fe
refactor(library/type_inference): rename type_inference module to type_context
2015-11-08 14:05:00 -08:00
Daniel Selsam
ffc168d63a
fix(frontends/lean/elaborator): visit_app partial
2015-11-08 14:05:00 -08:00
Leonardo de Moura
ab940a2001
feat(frontends/lean/elaborator): add support for partial explicit in the elaborator
2015-11-08 14:05:00 -08:00
Daniel Selsam
6b06a19294
chore(frontends/lean): remove whitespace
2015-11-08 14:05:00 -08:00
Daniel Selsam
fa58d7c71e
feat(frontends/lean): basic support for partial explicit
2015-11-08 14:05:00 -08:00
Daniel Selsam
946e00f71a
feat(library/explicit): support partial explicit
2015-11-08 14:05:00 -08:00
Leonardo de Moura
1d670e3193
feat(frontends/lean): support for '@@' -- the partial explicit operator
2015-11-08 14:05:00 -08:00
Leonardo de Moura
914f3b4e34
chore(library/blast/blast): fix style
2015-11-08 14:05:00 -08:00
Leonardo de Moura
0e4f97792e
feat(library/blast): add blast::scope_debug auxiliary class for testing blast related procedures
2015-11-08 14:05:00 -08:00
Leonardo de Moura
fd917effad
feat(library/blast): use new type_inference module in blast
2015-11-08 14:05:00 -08:00
Leonardo de Moura
52eb787288
refactor(library/type_inference): move (non-temporary) class.* options to type_inference module
2015-11-08 14:05:00 -08:00
Leonardo de Moura
56c15f4fb5
refactor(library/type_inference): move new type class resolution procedure to genere type_inference
2015-11-08 14:05:00 -08:00
Leonardo de Moura
4c573380b2
feat(library/class): add auxiliary methods
2015-11-08 14:05:00 -08:00
Leonardo de Moura
c361fc1f6f
fix(frontends/lean/parser): method for parsing decimals
...
"division" has been renamed to "div"
2015-11-08 14:04:59 -08:00
Leonardo de Moura
6fa4691eb4
feat(library/type_inference): improve process_assignment
2015-11-08 14:04:59 -08:00
Leonardo de Moura
ab1937d46e
feat(library/class_instance_resolution): add new (temporary) option class.force_new to force the new type class resolution procedure in HoTT mode
2015-11-08 14:04:59 -08:00
Floris van Doorn
46dba4ee5e
refactor(category): move some files to subfolders, and create file with basic functors
2015-11-08 14:04:59 -08:00
Floris van Doorn
f2d07ca23c
feat(category): various small changes in category theory
2015-11-08 14:04:59 -08:00
Floris van Doorn
de1c47eda9
feat(categories): add exponential laws for categories
...
also give nicer rules to construct equalities between (pre)categories
2015-11-08 14:04:59 -08:00
Floris van Doorn
21723a82b6
fix(lean-syntax): add some more syntax for categories
2015-11-08 14:04:59 -08:00
Floris van Doorn
a358813182
feat(lean-syntax): fix and extend syntax highlighting
2015-11-08 14:04:58 -08:00
Floris van Doorn
3f0d8c0a8c
feat(category.adjoint): prove more about functors
2015-11-08 14:04:58 -08:00
Floris van Doorn
c7fd29f854
feat(category): start with the introduction rule for equivalences
2015-11-08 14:04:58 -08:00
Leonardo de Moura
410c9aef79
chore(library/type_inference): fix style
2015-11-08 14:04:58 -08:00
Leonardo de Moura
6465b16951
fix(library/class_instance_resolution): memory initialization bug in new type class resolution procedure
2015-11-08 14:04:58 -08:00
Leonardo de Moura
95348bc90b
fix(library/class_instance_resolution): uninitialized variables
2015-11-08 14:04:58 -08:00
Leonardo de Moura
50186e2db3
feat(library/class_instance_resolution): add old type class resolution procedure back to be able to compile HoTT library
2015-11-08 14:04:58 -08:00
Leonardo de Moura
885393f4de
feat(library/type_inference): check types when assigning meta-variables
2015-11-08 14:04:58 -08:00
Leonardo de Moura
766fdd415a
feat(library/type_inference): postpone "nontrivial" universe unification constraints
2015-11-08 14:04:58 -08:00
Leonardo de Moura
0bf069f016
feat(library/class_instance_resolution): more liberal type class resolution procedure
...
This modification is needed for the group_theory folder
2015-11-08 14:04:58 -08:00
Leonardo de Moura
21501ccfa4
fix(library/type_inference): temporary hack for solving universe unification problems
...
We need a better solution. It turns out the universe constraints are not
as simple as we expected.
2015-11-08 14:04:58 -08:00
Leonardo de Moura
5f43b9b183
feat(library/class_instance_resolution): recursively invoke type class resolution when parameters are instances
2015-11-08 14:04:58 -08:00
Leonardo de Moura
6acf7afa16
fix(library/type_inference): bug when using apply_beta
2015-11-08 14:04:58 -08:00
Leonardo de Moura
8d8e43abfd
fix(library/class_instance_resolution): transitive instances in the new type class resolution procedure
2015-11-08 14:04:58 -08:00
Leonardo de Moura
a1d200e1c6
feat(library/class_instance_resolution): add support for nested type
...
class resolution
2015-11-08 14:04:58 -08:00
Leonardo de Moura
e9b92adf29
feat(library/type_inference,library/class_instance_resolution): add on_is_def_eq_failure "event handler"
2015-11-08 14:04:57 -08:00
Leonardo de Moura
21bd30d51a
fix(library/class_instance_resolution): bug in mk_choice_point
2015-11-08 14:04:57 -08:00
Leonardo de Moura
0446c43ebf
refactor(library/class_instance_resolution): use new generic type_inference module to implement type class resolution
2015-11-08 14:04:57 -08:00
Leonardo de Moura
73543f1279
fix(library/norm_num): use new type-class resolution procedure at norm_num
2015-11-08 14:04:57 -08:00
Leonardo de Moura
f371182a6c
feat(library/type_inference): generic and cheap type inference, unification, whnf
2015-11-08 14:04:57 -08:00
Leonardo de Moura
a7655b7d43
feat(library/class_instance_resolution): reset internal indices
2015-11-08 14:04:57 -08:00
Leonardo de Moura
1f01e5480d
fix(library/class_instance_resolution): remove reset_cache_and_ctx used for debugging purposes
2015-11-08 14:04:57 -08:00
Leonardo de Moura
2edccf007b
fix(library/class_instance_resolution): make sure that terms synthesized by type class resolution have override the ones synthesized by solving unification constraints.
2015-11-08 14:04:57 -08:00
Leonardo de Moura
b71a68c606
fix(frontends/lean/elaborator): visit_prenum was creating unnecessary universe metavariable
...
This was creating problems for the new type class resolution procedure
since visit_prenum was also not creating any constraint that enforced
the universe level of A to be equal to the superfluous universe level.
2015-11-08 14:04:57 -08:00
Leonardo de Moura
4787cf179e
fix(library/class_instance_resolution): skip (instance) meta-variables that have been assigned by solving unification constraints
2015-11-08 14:04:57 -08:00
Leonardo de Moura
eb2236f036
feat(library/class_instance_resolution): bug in mk_choice
2015-11-08 14:04:57 -08:00
Leonardo de Moura
97407eb178
fix(library/class_instance_resolution): add hack for mk_subsingleton_instance API
...
The comment in the source code explains why the hack is needed
2015-11-08 14:04:57 -08:00
Leonardo de Moura
1b92a8333e
fix(library/class_instance_resolution): better is_def_eq for universe levels at new type class resolution procedure
2015-11-08 14:04:57 -08:00
Leonardo de Moura
6b4a891adb
fix(library/class_instance_resolution): bug when creating auxiliary meta-variables at try_instance
2015-11-08 14:04:57 -08:00
Leonardo de Moura
919d55b799
fix(library/class_instance_resolution): position information in the type class trace
2015-11-08 14:04:57 -08:00
Leonardo de Moura
088b0fb795
fix(library/class_instance_resolution): relax has_expr_metavar test at mk_choice
2015-11-08 14:04:57 -08:00
Leonardo de Moura
5f90ff0f07
fix(library/class_instance_resolution): incorrect assertion
2015-11-08 14:04:57 -08:00
Leonardo de Moura
443aca6280
chore(library/class_instance_resolution,library/init_module): fix style
2015-11-08 14:04:57 -08:00
Leonardo de Moura
abcfe0d805
feat(library/class_instance_resolution): add support for attribute [multiple-instances] in the new type class resolution procedure
2015-11-08 14:04:57 -08:00
Leonardo de Moura
2c177d595c
fix(library/class_instance_resolution): bug in cache validation
2015-11-08 14:04:57 -08:00
Leonardo de Moura
343ede3fbe
fix(library/class_instance_resolution): trace option for new type class resolution procedure
2015-11-08 14:04:57 -08:00
Leonardo de Moura
98943f7832
fix(library/class_instance_resolution): initialization bug and ignore universe metavariables not instantiated by unifier
2015-11-08 14:04:57 -08:00
Leonardo de Moura
6a36bffe4b
fix(library/class_instance_resolution): bugs in new type class resolution procedure
2015-11-08 14:04:57 -08:00
Leonardo de Moura
bf17440f31
feat(library/class_instance_resolution): throw exception is maximum depth is reached
2015-11-08 14:04:57 -08:00
Leonardo de Moura
f5819fab60
feat(library/class_instance_resolution): new type class resolution procedure
2015-11-08 14:04:57 -08:00
Leonardo de Moura
c69bbd4eb7
chore(library/norm_num,library/tactic/norm_num_tactic): fix style
2015-11-08 14:04:57 -08:00
Leonardo de Moura
bda0b038b0
fix(library/norm_num): include 'constants.h' instead of 'constants.cpp'
...
By including 'constants.cpp' we get compilation errors in some
platforms (e.g., 'g_one has been defined in multiple files...')
The module constants(.h/cpp) does not expose global variables such as g_one.
We have to use the procedures get_one_name() instead.
2015-11-08 14:04:56 -08:00
Rob Lewis
ce1cbcc205
feat(library/norm_num): give better error message when norm_num fails
2015-11-08 14:04:56 -08:00
Rob Lewis
eb0b688da8
style(library/norm_num): remove debug code
2015-11-08 14:04:56 -08:00
Rob Lewis
958add9ef8
feat(library/norm_num): fix numeral normalization to work on new numeral structure; add support for multiplication
2015-11-08 14:04:56 -08:00
Leonardo de Moura
f4ce2bcbfe
fix(library/CMakeLists): build
2015-11-08 14:04:56 -08:00
Leonardo de Moura
3b6eae1907
feat(library): start new type class resolution procedure
2015-11-08 14:04:56 -08:00
Leonardo de Moura
ee924e4842
fix(library/blast/infer_type): typos
2015-11-08 14:04:56 -08:00
Leonardo de Moura
4f394bd979
feat(library/meng_paulson): minor improvement
2015-11-08 14:04:56 -08:00
Leonardo de Moura
5b6b8257d8
chore(library/meng_paulson): fix style
2015-11-08 14:04:56 -08:00
Leonardo de Moura
b7e79dea29
fix(frontends/lean/parser): bug in parse_double
2015-11-08 14:04:56 -08:00
Leonardo de Moura
ee347772d7
feat(library/meng_paulson): ignore class and class-instances when computing set of relevant theorems
2015-11-08 14:04:56 -08:00
Leonardo de Moura
023ec1ba76
feat(library): add Meng&Paulson heuristic for selecting theorems
2015-11-08 14:04:56 -08:00
Leonardo de Moura
d64b410bbd
feat(library): add declaration statistics
2015-11-08 14:04:56 -08:00
Leonardo de Moura
6df31d3406
refactor(library/data/nat/basic): mark some theorems as protected to avoid overloading
2015-11-08 14:04:56 -08:00
Leonardo de Moura
2b3af47fcf
feat(frontends/lean/pp): pretty print "num numerals" too
...
This is an useful for "eval" demos
2015-11-08 14:04:56 -08:00
Leonardo de Moura
7838ed386d
refactor(frontends/lean/pp,library/init/reserved_notation): pretty print "nat numerals" nicely even when namespace nat is not open
2015-11-08 14:04:56 -08:00
Leonardo de Moura
cd144993c0
chore(frontends/lean/prenum,library/tactic/rewrite_tactic): fix style
2015-11-08 14:04:56 -08:00
Leonardo de Moura
b777375469
fix(frontends/lean/parser): decimals
2015-11-08 14:04:56 -08:00
Leonardo de Moura
38c433dbec
fix(frontends/lean/util): bug when parsing priorities
2015-11-08 14:04:55 -08:00
Leonardo de Moura
1f5d950b46
feat(frontends/lean/inductive_cmd): add options for disabling the automatic generation of auxiliary recursors
2015-11-08 14:04:55 -08:00
Leonardo de Moura
d1e111fd6c
fix(hott,frontends/lean,library,library/tactic): make sure we can still compile the HoTT library
2015-11-08 14:04:55 -08:00
Leonardo de Moura
26eb6fa849
feat(*): new numeral encoding
2015-11-08 14:04:55 -08:00
Leonardo de Moura
8ee214f133
checkpoint: new numeral encoding
2015-11-08 14:04:55 -08:00
Leonardo de Moura
8f18532a39
fix(emacs/lean-syntax): syntax highlight for [coercions]
2015-11-08 14:04:55 -08:00
Leonardo de Moura
744d1cba3d
feat(library,hott,frontends/lean): avoid keywords with hyphen
2015-11-08 14:04:54 -08:00
Leonardo de Moura
a618bd7d6c
refactor(library): use type classes for encoding all arithmetic operations
...
Before this commit we were using overloading for concrete structures and
type classes for abstract ones.
This is the first of series of commits that implement this modification
2015-11-08 14:04:54 -08:00
Soonho Kong
a25b43f1e8
feat: do not generate leanstatic.a in EMSCRIPTEN build
2015-11-03 18:22:05 -05:00
Sebastian Ullrich
7c047def97
feat(frontends/lean/parser): recognize padded Exprs terminators
2015-10-13 09:52:35 -07:00
Sebastian Ullrich
dbfebd5409
feat(frontends/lean/scanner): add more checks to read_quoted_symbol
2015-10-13 09:52:35 -07:00
Sebastian Ullrich
6c34718cbc
chore(library,frontends/lean): remove option pp.extra_spaces
...
Obsoleted by improved pretty printer spacing
2015-10-13 09:52:35 -07:00
Leonardo de Moura
c5d614d4d9
feat(library/norm_num): store the local context
2015-10-08 13:22:37 -07:00
Leonardo de Moura
ce6e1c9694
feat(library/class_instance_synth): add helper mk_class_instance procedure
2015-10-08 13:10:41 -07:00
Leonardo de Moura
2c7d245bbe
fix(library/blast/blast): bug when translating goal metavariables into
...
blast mref's
2015-10-08 13:10:41 -07:00
Leonardo de Moura
5d3ed8a634
fix(library/blast/hypothesis): hypotheses are initially inactive
2015-10-08 13:10:41 -07:00
Leonardo de Moura
e4f0f6a9b4
feat(library): numeral normalization skeleton
2015-10-08 12:49:12 -07:00
Leonardo de Moura
3bb09e9959
fix(library/blast): typos
2015-10-06 08:35:24 -07:00
Leonardo de Moura
c626e2e3c6
refactor(library/blast): divide hypotheses in: assumption, active and todo
...
The sets active and todo are disjoint.
A metavariable declaration can only depend on assumptions.
2015-10-04 21:59:37 -07:00
Leonardo de Moura
44881552b4
refactor(library/blast): refactor hypothesis object: merge m_value and m_justification fields
2015-10-04 21:27:39 -07:00
Leonardo de Moura
7b883cae8f
feat(library/blast): simplify metavar_decl
2015-10-04 18:24:21 -07:00
Leonardo de Moura
4ab14e709e
feat(library/blast): finish is_def_eq/unifier for blast tactic
2015-10-03 18:19:05 -07:00
Leonardo de Moura
a446c54b87
fix(tests/kernel/max_sharing): max_sharing on OSX
2015-10-03 12:12:21 -07:00
Leonardo de Moura
cd48114c47
fix(library/blast/infer_type): type of mref's
2015-10-02 15:53:22 -07:00
Leonardo de Moura
0a3fbda050
feat(library/blast): convert universe metavariables into uref's
2015-10-02 15:50:41 -07:00
Leonardo de Moura
442cbff578
feat(library/blast): add blast tactic is_def_eq procedure (aka unification)
...
We still have to implement subst_mref, assign_mref, and occurs check.
2015-10-02 15:21:28 -07:00
Leonardo de Moura
d324d54d21
fix(kernel/expr): add global expressions storing Prop and Type.{1} to
...
hash-consing cache when max-sharing is enabled
2015-10-02 15:04:10 -07:00
Leonardo de Moura
aadac02bec
feat(library/blast): add infer_type for blast tactic
2015-10-02 13:11:17 -07:00
Leonardo de Moura
ad51339a28
feat(library/blast): add whnf for blast tactic
2015-10-01 16:21:17 -07:00
Leonardo de Moura
68a34bd1ba
feat(library/projection): add get_projection_info_map
2015-10-01 16:10:27 -07:00
Leonardo de Moura
3cf11dac87
feat(kernel/instantiate): make sure instantiate_type_univ_params and instantiate_value_univ_params caches are reset when we enable max-sharing
2015-10-01 15:42:33 -07:00
Leonardo de Moura
45594e86c7
feat(kernel/abstract): make sure Pi/Fun cache is reset when we enable max-sharing
2015-10-01 15:28:55 -07:00
Leonardo de Moura
5051c0031e
feat(frontends/lean): add '#accessible' command for debugging purposes
2015-09-30 18:50:28 -07:00
Leonardo de Moura
44baaac53e
feat(library/private): add is_private predicate
2015-09-30 18:50:09 -07:00
Leonardo de Moura
a17a6fd660
chore(frontends/lean/pp): fix style
2015-09-30 17:47:46 -07:00
Leonardo de Moura
c9af007994
chore(frontends/lean): fix style
2015-09-30 17:40:35 -07:00
Leonardo de Moura
6153ccd253
fix(frontends/lean/parse_table): compilation warning
2015-09-30 17:40:18 -07:00
Sebastian Ullrich
8a96cb6218
fix(frontends/lean/pp): extend needs_space_sep to two-token lookahead
2015-09-30 17:39:21 -07:00
Sebastian Ullrich
0fdae28439
fix(util/sexpr/format): LINE is a token separator
2015-09-30 17:38:57 -07:00
Sebastian Ullrich
da08079af9
feat(frontends/lean): allow specifying notation spacing via quoted symbols
...
Unquoted tokens inherit their spacing from the respective reserved definition.
2015-09-30 17:36:32 -07:00
Sebastian Ullrich
8f96b725e3
feat(frontends/lean): save transitions instead of actions in notation::parse_table
2015-09-30 17:36:32 -07:00
Sebastian Ullrich
189a300b11
feat(frontends/lean): improve pretty printing space insertion heuristic
2015-09-30 17:36:32 -07:00
Sebastian Ullrich
8fd8ff2773
fix(frontends/lean): ignore reserved notation for pretty printing
...
Because reserved notation uses `Prop` as a dummy expression, pretty
printing `Prop` unnecessarily invokes pp_notation on every reserved
notation entry.
2015-09-30 17:36:32 -07:00
Leonardo de Moura
cb2f93ee6a
fix(kernel/expr,kernel/level): performance problem
...
The method unordered_set::clear takes time O(n) where n is the number of
buckets in the hashtable used to implement the set.
Moreover, it does not reduce the number of buckets to 0.
That is, it keeps `n` empty buckets.
This creates performance problems if the number of buckets gets really
huge at one point.
The tst6 at tests/kernel/expr.cpp demonstrates the problem
2015-09-30 17:25:13 -07:00
Leonardo de Moura
d07bbe7e8c
fix(kernel/expr): must take binder annotations into account in the hash-consing tables
2015-09-30 17:24:41 -07:00
Leonardo de Moura
57035d3162
feat(kernel/level,library/blast/expr): add universe level hash consing support in the kernel, simplify blast/expr even more
2015-09-30 13:31:42 -07:00
Leonardo de Moura
ac7c0fffd8
refactor(library/blast): simplify blast/expr
2015-09-30 12:54:03 -07:00
Leonardo de Moura
c5603e456a
feat(kernel/expr): replace "opportunistic" caching with precise caching
...
We also removed compilation option LEAN_CACHE_EXPRS
2015-09-30 12:29:43 -07:00
Leonardo de Moura
63c8966816
refactor(library/blast): change how we mark fixed/frozen hypothesis
2015-09-29 14:08:14 -07:00
Leonardo de Moura
eff60d835a
fix(library/blast/expr): typo
2015-09-29 12:44:56 -07:00
Leonardo de Moura
bce193ed2d
feat(library/blast/state): make sure the type/value of hypotheses and target is a closed term.
2015-09-29 12:42:20 -07:00
Leonardo de Moura
352d81e56a
feat(library/blast/state): add assertion to make sure blast state does not contain local constants.
2015-09-29 12:32:42 -07:00
Leonardo de Moura
c652eeeac6
feat(library/data/expr): add support for regular local constants in blast tactic
...
We need them when inferring types and checking whether two expressions
are definitionally equal or not.
Remark: they are temporary objects, and should never be included in the
blast state object.
2015-09-29 12:29:33 -07:00
Leonardo de Moura
21193156ef
refactor(library/blast): rename lref to href (hypothesis reference)
2015-09-29 12:13:20 -07:00
Leonardo de Moura
58b06d12b0
feat(library/kernel_bindings): expose get_ios in the Lua API
...
It gives access to the global io_state object.
2015-09-29 10:55:08 -07:00
Leonardo de Moura
be76512756
feat(library/blast/blast): normalize hypotheses and unfold reducible constants when converting goal into blast state
2015-09-29 10:42:35 -07:00
Leonardo de Moura
ca059107cf
fix(library/blast/state): incorrect 'replace'
2015-09-29 10:42:00 -07:00
Leonardo de Moura
df39d2f368
feat(library/blast): add helper functions to access blast tactic thread local state/context
2015-09-29 10:04:11 -07:00
Leonardo de Moura
9622b62537
fix(library/blast/blast): update local2lref
2015-09-29 09:31:25 -07:00
Leonardo de Moura
459f31f28b
feat(library/blast): add basic blast_exception
2015-09-29 09:02:58 -07:00
Leonardo de Moura
cb31189c30
chore(library/blast/branch): fix style
2015-09-28 19:07:43 -07:00
Leonardo de Moura
48e8b8b866
feat(library/blast): basic sanity checking for blast data-structures
2015-09-28 18:55:24 -07:00
Leonardo de Moura
465a939146
feat(library/bast): convert a blast branch back into a goal
2015-09-28 18:28:11 -07:00
Leonardo de Moura
3f751c170b
feat(library/blast): finish goal -> state translation
2015-09-28 17:39:30 -07:00
Leonardo de Moura
913d4526cd
feat(library/blast/expr): improve performance of abstract_lrefs
2015-09-28 16:42:55 -07:00
Leonardo de Moura
885f5745c4
refactor(library/blast): revise how goal meta-vars are compiled into blast mrefs
2015-09-28 16:40:19 -07:00
Leonardo de Moura
d3937aa02d
refactor(library/blast): use simpler encoding for lref and mref
2015-09-28 13:02:15 -07:00
Leonardo de Moura
7cb66cdfae
fix(emacs/lean-syntax): fixes #837
2015-09-28 08:45:35 -07:00
Leonardo de Moura
f01fd744cf
feat(library/blast): convert goal into blast state
2015-09-25 14:44:00 -07:00
Leonardo de Moura
33f46fd137
feat(library/blast): parse blast tactic and invoke stub
2015-09-25 12:45:16 -07:00
Leonardo de Moura
e5b2cd1564
refactor(library/blast): rename goal to branch
2015-09-25 11:58:51 -07:00
Leonardo de Moura
f73051c674
fix(CMakeLists.txt): do not generate DLL when using cross-compilation
...
It is not clear why it doesn't work.
This is not a big because we do not use cross-compilation anymore to
generate the official Lean for Windows. We use MSys2 instead.
2015-09-25 10:40:41 -07:00
Leonardo de Moura
97cf839665
feat(api): annotate which procedures in the API may throw high-level exceptions
...
We say an exception is low-level (non high-level) when it is related to
memory exhaustion, system errors, and interruptions.
2015-09-23 18:39:34 -07:00
Leonardo de Moura
86e8508711
refactor(library/blast): we don't need blast::justification
2015-09-23 18:13:18 -07:00
Leonardo de Moura
7be1c015d1
checkpoint
2015-09-23 00:42:36 -07:00
Leonardo de Moura
2411fa3d2b
feat(library/blast/expr): add instantiate_rev
2015-09-21 17:12:45 -07:00
Leonardo de Moura
c5921fca6d
refactor(library/blast): remove dead code
...
We don't need context anymore. The "context" is the blast goal object.
2015-09-21 16:22:53 -07:00
Leonardo de Moura
c0cf54e8d4
chore(library/blast): fix compilation warning
2015-09-21 16:21:21 -07:00
Leonardo de Moura
bb24421232
feat(library/blast): add hash consing for expressions (and universe levels) created in blast
...
We had to reimplement the expr API: replace, abstract, instantiate.
Remark: blast expressions do not use metavariables and local constants,
but the new mref and lref expressions.
2015-09-21 16:17:11 -07:00
Leonardo de Moura
4cfebe7f1c
refactor(kernel): move instantiate_univ_cache to separate .h file
2015-09-21 16:08:34 -07:00
Leonardo de Moura
9c09b0750b
chore(kernel/expr): remove dead code
2015-09-21 15:43:51 -07:00
Leonardo de Moura
a7c2d798de
refactor(kernel): move replace_cache to separate .h file
2015-09-21 15:24:45 -07:00
Leonardo de Moura
28a5ca5809
fix(frontends/lean): fixes #830
2015-09-18 07:51:02 -07:00
Leonardo de Moura
dd5bb8e7f7
chore(library/tactic/apply_tactic): remove dead code
2015-09-16 08:41:02 -07:00
Leonardo de Moura
b7271c39af
chore(library/blast,runtime/cpp): fix style
2015-09-16 07:50:00 -07:00
Leonardo de Moura
5028d794ce
refactor(library,library/blast): move context to blast
2015-09-16 07:49:39 -07:00
Leonardo de Moura
1259f52fa8
chore(runtime/cpp/lean_runtime): add assertion to make sure we are satisfying alignment constraints
2015-09-16 07:38:00 -07:00
Leonardo de Moura
46f7123cc8
fix(runtime/cpp): typo
2015-09-16 07:34:08 -07:00
Leonardo de Moura
00a59a50b6
feat(library/context): add "context"-like object
2015-09-15 17:14:39 -07:00
Leonardo de Moura
df3100d2cd
fix(library/local_context): bug in abstract_locals procedure
2015-09-12 17:17:13 -07:00
Floris van Doorn
732897340d
fix(types): change some definitions to theorems
2015-09-11 23:35:21 -07:00
Floris van Doorn
e84b22864f
feat(hott): various changes in the HoTT library
2015-09-11 23:35:21 -07:00
Floris van Doorn
fd89aa77a3
feat(hott): prove Yoneda lemma
2015-09-11 23:35:21 -07:00
Leonardo de Moura
d3e6880df0
chore(compiler/util,library/aux_recursors): fix style
2015-09-11 23:27:43 -07:00
Leonardo de Moura
de2906ee8e
fix(compiler): missing files
2015-09-11 23:24:09 -07:00
Leonardo de Moura
3b420057fe
feat(compiler/util): add is_recursive_rec_app
2015-09-11 17:51:15 -07:00
Leonardo de Moura
6a020c65a4
refactor(compiler/simp_pr1_rec): rename variable to avoid confusion
2015-09-11 17:50:57 -07:00
Leonardo de Moura
fd2e4616cf
fix(compiler/simp_pr1_rec): missing recursor nested inside recursor
2015-09-11 17:27:42 -07:00
Leonardo de Moura
088350c2aa
refactor(compiler): rename rec_args.* to util.*
2015-09-11 17:15:06 -07:00
Leonardo de Moura
49a574dbbf
refactor(compiler): rename elim_rec to preprocess_rec
2015-09-11 17:12:32 -07:00
Leonardo de Moura
3d10c9daf8
feat(compiler): add simplification step for definitions generated using definitional package
2015-09-11 15:02:30 -07:00
Leonardo de Moura
f134960492
feat(compiler): add auxiliary procedure for extracting which minor premise arguments are recursive
2015-09-11 15:01:12 -07:00
Leonardo de Moura
ea759cb1c9
feat(compiler): add eta expansion
2015-09-11 11:23:23 -07:00
Leonardo de Moura
b31ab7d77a
feat(compiler,frontends/lean): add #compile command for debugging purposes, add compiler module
2015-09-11 10:49:07 -07:00
Leonardo de Moura
8666c92bae
feat(library,library/definitional): tag auxiliary recursors automatically generated by Lean
2015-09-11 10:08:54 -07:00
Rob Lewis
8e428f2d3f
fix(src/library/definitional/equations.cpp): fix typo in error message
2015-09-11 08:52:53 -07:00
Leonardo de Moura
84a80b343a
chore(runtime/cpp): fix style
2015-09-11 08:44:18 -07:00
Leonardo de Moura
e36fde4d45
feat(runtime/cpp): add runtime library for Lean -> C++ compiler
2015-09-11 08:44:18 -07:00
Soonho Kong
f941af03ba
feat(CMakeLists.txt): install *.md in standard/hott libraries
...
close #823
2015-09-10 18:13:47 -04:00
Leonardo de Moura
88739f0199
fix(tests/shared/env): memory leaks in test program
2015-09-09 10:02:18 -07:00
Leonardo de Moura
f452cabc34
feat(api/exception): add lean_exception_get_detailed_message
2015-09-08 18:00:23 -07:00
Leonardo de Moura
eec3780c6d
feat(api): add API (lean_exception_to_pp_string) for pretty printing exceptions
2015-09-08 17:46:07 -07:00
Leonardo de Moura
7289e386cb
feat(api/lean_expr): add lean_macro_def_eq and lean_macro_def_to_string
2015-09-08 16:51:32 -07:00
Leonardo de Moura
36d2c63ad0
feat(api): add APIs for parsing files, commands and expressions
2015-09-08 16:44:33 -07:00
Leonardo de Moura
1fdbd681cc
feat(frontends/lean/builtin_exprs): name hypothesis in suffices
...
closes #817
2015-09-03 16:09:39 -07:00
Jeremy Avigad
7c966e3d02
fix(src/emacs/lean-syntax.el): highlight identifiers after 'proposition' and 'corollary'
2015-09-03 15:38:27 -07:00
Leonardo de Moura
57115688ea
chore(util/thread): fix style
2015-09-03 15:07:55 -07:00
Leonardo de Moura
ade3f80089
fix(util/thread,init/init): initialization problem
2015-09-03 14:43:50 -07:00
Leonardo de Moura
3c50a9cff8
fix(util/thread): LEAN_AUTO_THREAD_FINALIZATION on OSX
2015-09-03 14:18:31 -07:00
Leonardo de Moura
1dc1574ad4
fix(frontends/lean/parse_table): do not add 'no_info' annotation in tactic expressions
2015-09-02 20:51:06 -07:00
Leonardo de Moura
634c0b5e9d
feat(library/tactic,frontends/lean): propagate new options back to elaborator
2015-09-02 20:34:14 -07:00
Leonardo de Moura
6f88e06472
fix(tests/shared/CMakeLists): typos in test scripts
2015-09-02 12:49:43 -07:00
Leonardo de Moura
524e507022
fix(util/thread): make sure threads are finalized when using the Lean C API and threads are created by the host system
2015-09-02 12:23:10 -07:00
Floris van Doorn
a8964adb9c
fix(hott): make sure there are no sorry's visible
2015-09-01 15:17:46 -07:00
Floris van Doorn
7e52c49dce
feat(hott): many changes is the HoTT library
...
Prove that 'is_left_adjoint F' is a mere proposition, although this proof is commented out because it takes ~10 seconds
2015-09-01 15:17:46 -07:00
Floris van Doorn
c24fd508b6
feat(hott/types): add more about pathovers in type constructors, prove that double negation elimination doesn't hold universally
2015-09-01 15:17:46 -07:00
Simon Cruanes
8ce3d44302
doc(vim/README): add a readme for vim syntax coloring
2015-09-01 15:08:16 -07:00
Simon Cruanes
0a307bf76c
fix(vim): small fixes
2015-09-01 15:08:07 -07:00
Simon Cruanes
94b68a8263
fix(vim/syntax/lean): match notations in vim syntax
2015-09-01 15:07:54 -07:00
Simon Cruanes
3188a42259
feat(vim): add basic syntax support for vim
2015-09-01 15:07:43 -07:00
Joe Hendrix
79b77b1011
fix(api): lean_ios_is_std returned incorrect result
2015-09-01 14:40:39 -07:00
Joe Hendrix
91dc9c7bd9
fix(api): fix typos in function name and comment
2015-09-01 14:40:34 -07:00
Leonardo de Moura
c84e886c7b
fix(frontends/lean/notation_cmd): fixes #808
...
This commit and 2b1d2c fixes #808
2015-08-31 18:05:58 -10:00
Leonardo de Moura
08169c5ac2
fix(library/unifier): fixes #809
...
Daniel is correct when he says the interaction between choice
case-splits, delta case-splits, and coercions can be subtle.
I believe the following condition
https://github.com/leanprover/lean/blob/master/src/frontends/lean/elaborator.cpp#L111
reduces counter-intuitive behavior. Example, the coercion should not
influence the resulting type.
BTW, by removing this condition, many files in the library broke when I
tried to compile from scratch
make clean-olean
make
I used the following workaround. Given a delta-delta constraint
f a =?= f b
If the terms are types, and no case-split will be performed, then
the delta-delta constraint is eagerly solved.
In principle, we don't need the condition that the terms are types.
However, many files break if we remove it. The problem is that many files in the standard
library are abusing the higher-order unification procedure. The
elaboration problems are quite tricky to solve.
I use the extra condition "the terms are types" because usually if they
are, "f" is morally injective, and we don't really want to unfold it.
Note that the following two cases do not work
check '{1, 2, 3}
check insert 1 (insert 2 (insert 3 empty))
Well, they work if we the num namespace is open, and they are
interpreted as having type (finset num)
2015-08-31 17:59:30 -10:00
Leonardo de Moura
2b1d2c21ad
fix(frontends/lean/util): bug when parsing priorities and numerals are overloaded
2015-08-31 15:08:21 -10:00
Leonardo de Moura
0fb52a9a13
feat(api): add lean_get_recursor_name
2015-08-25 03:46:28 -07:00
Leonardo de Moura
1299e6ab24
test(tests/shared/env): add inductive types test
2015-08-25 03:46:28 -07:00
Leonardo de Moura
bdd8fae14d
feat(api): add lean_inductive API
2015-08-25 03:46:28 -07:00
Leonardo de Moura
45163acf25
refactor(kernel/inductive): use local constants to represent introduction rules
2015-08-25 03:46:28 -07:00
Leonardo de Moura
3c4b3c1ad6
test(tests/shared/env): add total order simple tests
2015-08-23 19:55:45 -07:00
Leonardo de Moura
78e9a57e06
feat(api): add total orders for lean_name, lean_univ and lean_expr APIs
2015-08-23 19:42:22 -07:00
Leonardo de Moura
8c30067f8c
fix(util/stackinfo): lazy thread initialization
...
We also add a multithread example for the C API.
This example reproduces a problem reported by Joe Hendrix.
2015-08-23 19:08:02 -07:00
Leonardo de Moura
e03c0ae93d
chore(api/module): fix style
2015-08-23 09:55:25 -07:00
Leonardo de Moura
38b0a6e22c
test(tests/shared/env): add type checker tests
2015-08-23 09:49:33 -07:00
Leonardo de Moura
23a490f3f1
feat(api): add lean_type_checker API
2015-08-23 09:34:31 -07:00
Leonardo de Moura
2926b41e9f
fix(tests/shared/env): memory leak
2015-08-23 09:24:05 -07:00
Leonardo de Moura
b42e561bb1
feat(api): expose lean_expr pretty printing function
2015-08-23 09:09:17 -07:00
Leonardo de Moura
3798493d99
test(tests/shared/env): add import module test
2015-08-23 08:54:11 -07:00
Leonardo de Moura
6f78304f31
feat(api): APIs for importing/exporting modules
2015-08-23 08:30:55 -07:00
Leonardo de Moura
5263ef4a74
feat(api): add lean_ios API
2015-08-23 08:19:25 -07:00
Leonardo de Moura
98a27c53de
refactor(api/env): use module procedures
2015-08-23 07:49:06 -07:00
Leonardo de Moura
c83b72e9b6
test(tests/shared/env): add tests for lean_env API
2015-08-22 13:35:35 -07:00
Leonardo de Moura
0aff6bd747
feat(api): add lean_env API
2015-08-22 12:37:22 -07:00
Leonardo de Moura
62e396bec6
test(tests/shared): add some tests for lean_expr C API
2015-08-22 11:08:07 -07:00
Leonardo de Moura
a7e4cd94c2
feat(api): add lean_decl API
2015-08-22 10:41:33 -07:00
Leonardo de Moura
8272ff61f6
fix(tests/shared/name): access violation
2015-08-21 18:33:06 -07:00
Leonardo de Moura
2b6033f42e
feat(api): add lean_expr API
2015-08-21 17:45:13 -07:00
Leonardo de Moura
a3c404ac3b
feat(library/tactic/apply_tactic): do not report elaboration failure in apply tactic when proof_state.report_failure() is false
2015-08-21 15:45:52 -07:00
Leonardo de Moura
9bae1eee29
feat(api/univ): add lean_list_univ API
2015-08-21 15:25:12 -07:00
Leonardo de Moura
35d3c6f5a5
test(tests/shared/name): add tests for lean_list_name API
2015-08-21 15:12:43 -07:00
Leonardo de Moura
adeba5c05e
feat(api/name): add lean_list_name API
2015-08-21 15:04:19 -07:00
Leonardo de Moura
3747ba095a
fix(frontends/lean/elaborator): incorrect assertion
...
It is supposed to be "!first implies is_local(from)"
fixes #807
2015-08-20 17:56:20 -07:00
Leonardo de Moura
c32a95bb13
chore(tests/shared/options): fix compilation warning
2015-08-19 08:13:58 -07:00
Leonardo de Moura
87349dc355
feat(frontends/lean/token_table): add 'proposition' keyword
2015-08-19 08:05:31 -07:00
Leonardo de Moura
3a72cd9621
fix(frontends/lean): rename multiword keyword "suffices to show" to "suffices"
2015-08-18 17:57:53 -07:00
Daniel Selsam
0942e94321
fix(library/export): typos
2015-08-18 17:49:03 -07:00
Leonardo de Moura
2b52198702
fix(library/unfold_macros): fixes #806
2015-08-18 17:46:47 -07:00
Leonardo de Moura
3ce8c5d6f7
feat(frontends/lean): add "suffices to show A, from B, C" construct
2015-08-18 17:04:38 -07:00
Leonardo de Moura
a18983c1aa
fix(api/lean_univ): typo
2015-08-18 16:01:50 -07:00
Leonardo de Moura
858971c3a5
test(tests/shared): add test for the universe C API
2015-08-18 15:32:27 -07:00
Leonardo de Moura
d627414f9b
feat(api): expose universe expressions in the C API
2015-08-18 15:07:44 -07:00
Leonardo de Moura
0909c8f08f
chore(CMakeLists): use --export-all in cygwin
2015-08-18 13:57:01 -07:00
Leonardo de Moura
53bf7f5ff1
fix(src/tests/shared/name): invalid delete
2015-08-18 13:56:06 -07:00
Leonardo de Moura
81baa64c77
chore(src/api/options): fix style
2015-08-18 12:43:58 -07:00
Leonardo de Moura
a1798ed331
test(tests/shared): add test for the options C API
2015-08-18 12:18:33 -07:00
Leonardo de Moura
da11f7738d
feat(api): expose configuration options in the C API
2015-08-18 11:57:27 -07:00
Leonardo de Moura
e8e315ff14
refactor(api): uniform names
2015-08-18 11:01:46 -07:00
Leonardo de Moura
617f55b947
chore(src/api): workaround style
2015-08-18 10:13:07 -07:00
Leonardo de Moura
52c4133021
test(tests/shared/name.c): add anonymous unique test
2015-08-18 10:06:50 -07:00
Leonardo de Moura
549eec8a06
test(tests/shared/name.c): test exception
2015-08-17 18:22:59 -07:00
Leonardo de Moura
9d486a4e88
feat(tests/shared): add test for the hierarchical name C API
2015-08-17 17:48:09 -07:00
Leonardo de Moura
42d41fb276
feat(api): expose hierarchical names in the C API
2015-08-17 17:23:10 -07:00
Leonardo de Moura
21c41f50ea
fix(frontends/lean/elaborator): fixes #803
2015-08-17 14:56:41 -07:00
Leonardo de Moura
4d3ed6ca43
feat(init/init): automatically initialize lean shared library
2015-08-17 14:18:32 -07:00
Leonardo de Moura
cb7ca51dcb
feat(library/unfold_macros): avoid unnecessary get_value
2015-08-17 13:03:08 -07:00
Leonardo de Moura
b07a364d2f
feat(frontends/lean/parser): process multiple parsing actions
...
closes #800
2015-08-17 09:42:10 -07:00
Leonardo de Moura
d913c04e90
feat(frontends/lean/parse_table): add simple notion of "compatible" parsing actions
...
See issue #800
2015-08-17 08:41:30 -07:00