lean4-htt/library/init
Leonardo de Moura ede1a51d60 refactor(kernel/declaration): remove self_opt flag from reducibility hints
This flag was used by the kernel to decide whether the following
heuristic should be used to avoid unfolding `f` at `is_def_eq`.

       f a =?= f b
       -----------
         a =?= b

This heuristic was introduced at Lean1 after a discussion with
Georges Gontier. Since this discussion, we added support for
caching failures of this heuristic. This proved to be much more
effective to attack the performance problems.
Moreover, we do not even use this flag in the `type_context::is_def_eq`
used during elaboration.

The current codebase contains only one place where this flag was set to
`false`: coercions generated at structure_cmd. This change was
made at commit
1c70514231
in the Lean2 codebase when we were not caching failures and
the kernel type checker was also used during elaboration.
2018-06-22 09:02:50 -07:00
..
control feat(library/init/control/state): monad_state: add specialized MonadState methods + modify 2018-06-19 13:01:15 +02:00
data fix(library/init/data/list/basic): list.lt 2018-06-21 09:16:58 -07:00
lean chore(kernel): remove expr.macro constructor 2018-06-19 17:54:43 -07:00
meta refactor(kernel/declaration): remove self_opt flag from reducibility hints 2018-06-22 09:02:50 -07:00
coe.lean chore(library/init): remove prod micro module 2018-04-30 09:25:25 -07:00
core.lean chore(library/init/core): remove dead code 2018-06-15 16:05:11 -07:00
default.lean chore(library): remove user attributes 2018-05-31 09:10:41 -07:00
env_ext.lean doc(library/init/env_ext): document environment extensions in use 2018-05-30 14:28:49 -07:00
function.lean chore(library/init): remove funext and quot modules 2018-04-30 09:25:26 -07:00
init.md chore(*.md): fix/remove broken links 2016-02-23 10:11:24 -08:00
platform.lean feat(library/vm): add support for system.platform.nbits in the VM 2018-05-03 15:54:54 -07:00
util.lean refactor(library): has_to_string ==> has_repr 2017-06-18 18:29:19 -07:00
version.lean.in chore(leanpkg/lean_version): recognize nightlies as releases separate from master 2018-03-20 15:14:45 -07:00
wf.lean feat(kernel/inductive/inductive): dependent elimination for inductive predicates 2018-06-12 13:03:26 -07:00