Leonardo de Moura
2becc0367d
feat(library/blast/forward/pattern): add add_hi_lemma
2015-11-25 17:44:27 -08:00
Leonardo de Moura
87c31acf8c
feat(library/blast/forward/pattern): basic indexing for heuristic instantiation
2015-11-25 17:30:24 -08:00
Leonardo de Moura
30214af15c
fix(util/rb_multi_map): missing include
2015-11-25 14:26:08 -08:00
Leonardo de Moura
3335c1782d
feat(library/blast/forward/pattern): extract trackable and residue hypotheses
2015-11-25 13:43:27 -08:00
Leonardo de Moura
edd1b34143
doc(library/blast/forward/pattern): describe pattern inference heuristic
2015-11-25 11:57:30 -08:00
Daniel Selsam
ca71a2eb12
feat(library/blast/unit): conjunctive conclusions
2015-11-24 22:45:39 -08:00
Daniel Selsam
eac1ebbf72
feat(library/blast/unit): propagate clauses
2015-11-24 21:16:01 -08:00
Daniel Selsam
8f4bc7e0ba
fix(util/rb_multi_map): no duplicate values
2015-11-24 20:19:46 -08:00
Leonardo de Moura
c923120db5
feat(library/blast/congruence_closure): expose mk_ext_congr_lemma
2015-11-24 18:48:23 -08:00
Leonardo de Moura
651e3834ba
feat(library/blast/congruence_closure): allow meta-variables in the congruence closure module after partitions have been frozen
2015-11-24 18:48:23 -08:00
Leonardo de Moura
67a4cd3972
feat(frontends/lean): add print [no_pattern]
command
2015-11-24 18:48:22 -08:00
Leonardo de Moura
017abdfb6a
feat(frontends/lean): add notation for providing patterns
2015-11-24 18:48:22 -08:00
Leonardo de Moura
a2f43212d6
feat(frontends/lean): add '[no_pattern]' attribute
2015-11-24 18:48:22 -08:00
Leonardo de Moura
8c729d1620
feat(library/blast/forward): start 'pattern' module
2015-11-24 18:48:22 -08:00
Soonho Kong
27cec52770
doc(emacs/README.md): update unicode instructions
2015-11-24 11:30:33 -05:00
Jeremy Avigad
e8ee91f59d
refactor(src/emacs/README.md): clarify setup instructions
2015-11-23 22:05:41 -05:00
Leonardo de Moura
c50d7ac4b8
feat(library/blast/congruence_closure): add add/assume API
2015-11-23 15:21:28 -08:00
Leonardo de Moura
f0ccffe968
feat(library/blast/congruence_closure): track mod-time
2015-11-23 15:03:46 -08:00
Leonardo de Moura
712f60d003
feat(library/blast/congruence_closure): expose get_cc()
2015-11-23 14:41:22 -08:00
Leonardo de Moura
11f838c13a
perf(library/blast/congruence_closure): only copy parents that are still congruence roots
2015-11-23 14:38:31 -08:00
Leonardo de Moura
f4a7268bd7
fix(library/blast/congruence_closure): bug in add_eqv_step
2015-11-23 14:26:33 -08:00
Leonardo de Moura
f1a3f8ec9d
feat(library/blast/congruence_closure): add blast.trace_cc option
2015-11-23 14:24:59 -08:00
Daniel Selsam
46e60abda6
feat(library/blast/forward): branch extension
2015-11-23 13:58:13 -08:00
Daniel Selsam
a8700e6778
refactor(library/blast/unit): rename unit propagation module
2015-11-23 13:58:13 -08:00
Leonardo de Moura
20cfe9e02e
feat(library/blast/state): improve lazy initialization
2015-11-23 11:32:45 -08:00
Leonardo de Moura
3ee32c02d8
feat(library/blast/congruence_closure): add freeze_partitions API for qcf procedure
2015-11-23 11:26:15 -08:00
Leonardo de Moura
565a294489
fix(library/blast/congruence_closure): bug at is_congr_root
2015-11-23 11:25:58 -08:00
Floris van Doorn
c44ad80e4e
feat(homotopy/torus): give recursion and induction principle for the torus
...
also change the surface of the torus to a square instead of an equality between paths
2015-11-22 18:29:37 -08:00
Leonardo de Moura
8632b7ae27
chore(library/blast/backward/backward_strategy): remove unused param
2015-11-22 18:27:23 -08:00
Leonardo de Moura
b442fe66b2
chore(library/blast/simple_strategy): fix style
2015-11-22 18:24:59 -08:00
Leonardo de Moura
0fcf8ed7d2
refactor(library/blast): hypothesis activation protocol
2015-11-22 18:22:26 -08:00
Leonardo de Moura
1bd827dffc
feat(library/blast/simplifier/simplifier_actions): add simplify_hypothesis_action
2015-11-22 17:49:00 -08:00
Leonardo de Moura
8681b34129
fix(library/blast/simplifier/simplifier_actions): update target when simplifier produces a definitionally equal output that is not structurally equal
...
This update also uses the even target_updated to decide when the target
needs to be updated.
2015-11-22 17:25:54 -08:00
Leonardo de Moura
0c4fb6b3d5
feat(library/blast): add option 'blast.recursor' for disabling recursor action
2015-11-22 17:15:38 -08:00
Leonardo de Moura
56282a11f6
feat(library/blast/blast): use type_context normalizer
2015-11-22 17:04:04 -08:00
Leonardo de Moura
6b248f44eb
feat(library/blast): add option for showing the blast failure state
2015-11-22 16:32:07 -08:00
Leonardo de Moura
fc461ce832
feat(library/app_builder): avoid redundant proof terms at mk_of_iff_true and mk_not_of_iff_false
2015-11-22 15:49:17 -08:00
Leonardo de Moura
94f7b7f95d
feat(library/blast/congruence_closure): add support for propagating units in the congruence closure module
...
See blast_cc12.lean for example.
2015-11-22 15:39:44 -08:00
Leonardo de Moura
f326e731a0
fix(library/blast/subst_action): do not apply subst to (H : a = a), let the discard_action to get rid of it
2015-11-22 15:37:32 -08:00
Leonardo de Moura
6fc0e41439
fix(library/blast/congruence_closure): proof generation for congruences such as (a = b) <-> (b = a)
...
The congruence closure module treats these two terms as the same thing.
So, we should take this into account when building proofs
2015-11-21 19:50:59 -08:00
Leonardo de Moura
5e9914ef45
feat(library/blast/congruence_closure): avoid eq.rec if major premise is eq.refl
2015-11-21 19:00:16 -08:00
Leonardo de Moura
607552e51f
feat(library/blast): add target_updated event
2015-11-21 17:58:21 -08:00
Leonardo de Moura
091b0f0cc7
feat(library/blast): add option for disabling congruence closure
2015-11-21 17:45:25 -08:00
Leonardo de Moura
c4328aad3a
feat(library/blast/congruence_closure): missing case
2015-11-21 17:40:15 -08:00
Leonardo de Moura
c49caf3740
feat(library/blast/congruence_closure): add support for user-defined congruence lemmas in the congruence closure module
2015-11-21 14:43:51 -08:00
Leonardo de Moura
a61869ba1a
feat(library/blast): add option for disabling simplifier
2015-11-21 12:19:55 -08:00
Leonardo de Moura
85601c5a83
chore(library/blast/congruence_closure): fix style
2015-11-20 16:46:28 -08:00
Leonardo de Moura
8f368cebbf
feat(library/blast/congruence_closure): lift equalities
2015-11-20 13:48:22 -08:00
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