lean4-htt/library/init/meta
Leonardo de Moura cabb4350d9 feat(library): instances are not reducible by default anymore
Motivation: see "Other goodies" section at
https://github.com/leanprover/lean/wiki/Refactoring-structures

We had to add a new transparency mode: Instances at type_context.
In this mode, instances and reducible definitions are considered
transparent.

The new mode is used in the defeq_canonizer, code generator,
and sizeof lemma generation at inductive_compiler.

We also use the new mode in the unfold tactics.
2017-04-26 14:10:11 -07:00
..
lean feat(init): add default value proofs to the monadic hierarchy 2017-03-27 13:42:08 -07:00
smt feat(init/meta/interactive): add generalizing parameter to induction 2017-04-11 17:07:28 -07:00
ac_tactics.lean feat(frontends/lean): 'mutual' and 'meta' are now keywords 2016-09-24 10:44:40 -07:00
async_tactic.lean feat(frontends/lean): add support for t.<id> and t.<idx> when t is a composite term 2017-03-28 17:47:49 -07:00
attribute.lean refactor(library/tactic/user_attribute): use attribute for registering attributes. naturally. 2017-03-15 14:06:34 -07:00
backward.lean chore(library/init): definition => def 2016-10-06 16:04:12 -07:00
comp_value_tactics.lean feat(frontends/lean): add support for t.<id> and t.<idx> when t is a composite term 2017-03-28 17:47:49 -07:00
congr_lemma.lean refactor(library/init/meta/congr_lemma): cleanup congr_lemma API 2017-01-31 16:46:13 -08:00
constructor_tactic.lean feat(frontends/lean): use . for field access 2017-03-28 15:29:54 -07:00
contradiction_tactic.lean feat(frontends/lean): expr literals ```(...) 2017-03-05 08:37:16 -08:00
converter.lean feat(frontends/lean): add support for t.<id> and t.<idx> when t is a composite term 2017-03-28 17:47:49 -07:00
decl_cmds.lean feat(frontends/lean): add support for t.<id> and t.<idx> when t is a composite term 2017-03-28 17:47:49 -07:00
declaration.lean feat(frontends/lean): add support for t.<id> and t.<idx> when t is a composite term 2017-03-28 17:47:49 -07:00
default.lean feat(inductive_compiler): generate injectivity lemmas 2017-03-10 22:27:18 -08:00
environment.lean feat(frontends/lean): add support for t.<id> and t.<idx> when t is a composite term 2017-03-28 17:47:49 -07:00
exceptional.lean feat(frontends/lean): change notation for inaccessible patterns 2017-03-28 16:09:15 -07:00
expr.lean feat(init/meta): add has_to_format instances and prefer direct has_to_tactic_format implementations 2017-04-11 17:07:28 -07:00
format.lean feat(init/meta): add has_to_format instances and prefer direct has_to_tactic_format implementations 2017-04-11 17:07:28 -07:00
fun_info.lean feat(frontends/lean): add support for t.<id> and t.<idx> when t is a composite term 2017-03-28 17:47:49 -07:00
inductive_compiler.lean feat(frontends/lean): add support for t.<id> and t.<idx> when t is a composite term 2017-03-28 17:47:49 -07:00
injection_tactic.lean feat(frontends/lean): use . for field access 2017-03-28 15:29:54 -07:00
interaction_monad.lean feat(frontends/lean): use . for field access 2017-03-28 15:29:54 -07:00
interactive.lean feat(library/init/meta): add by_contradiction and by_cases to tactic.interactive 2017-04-26 12:54:52 -07:00
level.lean feat(frontends/lean/elaborator): coercion from (decidable) Prop to bool 2017-02-14 18:41:32 -08:00
match_tactic.lean feat(frontends/lean): add support for t.<id> and t.<idx> when t is a composite term 2017-03-28 17:47:49 -07:00
mk_dec_eq_instance.lean feat(frontends/lean): use . for field access 2017-03-28 15:29:54 -07:00
mk_has_sizeof_instance.lean feat(library/init/meta): improve induction tactic interface 2017-02-17 10:58:51 -08:00
mk_inhabited_instance.lean feat(frontends/lean): 'let' in 'do' blocks 2017-02-24 09:10:36 -08:00
name.lean feat(frontends/lean): add support for t.<id> and t.<idx> when t is a composite term 2017-03-28 17:47:49 -07:00
occurrences.lean feat(frontends/lean/elaborator): coercion from (decidable) Prop to bool 2017-02-14 18:41:32 -08:00
options.lean feat(frontends/lean): no global universes in the frontend 2017-02-08 17:23:04 -08:00
pexpr.lean refactor(init/meta,library/vm): use structure for position information 2017-02-21 11:06:39 -08:00
quote.lean refactor(init/meta/interactive): rw: parse - separately to remove hack 2017-03-22 07:54:12 -07:00
rb_map.lean feat(frontends/lean): add support for t.<id> and t.<idx> when t is a composite term 2017-03-28 17:47:49 -07:00
rec_util.lean feat(frontends/lean): use . for field access 2017-03-28 15:29:54 -07:00
relation_tactics.lean feat(frontends/lean): add support for t.<id> and t.<idx> when t is a composite term 2017-03-28 17:47:49 -07:00
rewrite_tactic.lean refactor(library/init/meta): avoid '_core' idiom using default parameters 2017-02-14 09:46:55 -08:00
set_get_option_tactics.lean chore(library/init): definition => def 2016-10-06 16:04:12 -07:00
simp_tactic.lean feat(library): instances are not reducible by default anymore 2017-04-26 14:10:11 -07:00
tactic.lean feat(library): instances are not reducible by default anymore 2017-04-26 14:10:11 -07:00
task.lean feat(init): add default value proofs to the monadic hierarchy 2017-03-27 13:42:08 -07:00
transfer.lean fix(library/init/meta/transfer): add check if target contains (universe) meta variables (see #1535) 2017-04-25 17:46:48 -07:00
vm.lean feat(library): add functor, applicative, and monad laws, and prove them correct for non-meta instances 2017-03-27 13:42:08 -07:00