lean4-htt/library/init/meta
Leonardo de Moura fdadada3a9 fix(frontends/lean): fixes #1468
@kha I had to add yet another hack to fix this issue.

In notation declarations, names are resolved at notation declaration time.
So, users do not expect them to be resolved again at tactic execution time.

I addressed this problem by wrapping constants occurring in notation
declarations with a "frozen_name" annotation. This transformation is
only performed if m_in_quote is true.
Then resolve_names_fn at elaborator.cpp will not try to resolve the
names again.

This change broke two other modules. `-` notation for inverting
equations at `rw`, and `calc` expressions inside quotes.
The broke for the same reason. They were not expecting the constants
to be wrapped with an annotation.
2017-03-18 13:48:21 -07:00
..
lean refactor(library): revise the monadic hierarchy 2017-03-09 20:30:03 -08:00
smt refactor(library): revise the monadic hierarchy 2017-03-09 20:30:03 -08:00
ac_tactics.lean feat(frontends/lean): 'mutual' and 'meta' are now keywords 2016-09-24 10:44:40 -07:00
async_tactic.lean chore(library): test new '^.' notation in the standard library, and cleanup definitions using it 2017-03-05 21:21:50 -08: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 refactor(init/meta): replace dynamically-checked quotes where possible 2017-02-17 19:59:57 -08: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 chore(library/init/meta): cleanup 2017-02-08 15:33:25 -08:00
contradiction_tactic.lean feat(frontends/lean): expr literals ```(...) 2017-03-05 08:37:16 -08:00
converter.lean refactor(library): revise the monadic hierarchy 2017-03-09 20:30:03 -08:00
decl_cmds.lean chore(library): test new '^.' notation in the standard library, and cleanup definitions using it 2017-03-05 21:21:50 -08:00
declaration.lean chore(library/init/meta): cleanup 2017-02-08 15:33:25 -08:00
default.lean feat(inductive_compiler): generate injectivity lemmas 2017-03-10 22:27:18 -08:00
environment.lean chore(tests/lean): fix tests, and environment.decl_pos 2017-02-21 11:21:02 -08:00
exceptional.lean refactor(library): revise the monadic hierarchy 2017-03-09 20:30:03 -08:00
expr.lean feat(library/init/meta/expr): add expr.is_annotation 2017-03-18 13:40:11 -07:00
format.lean refactor(library/init/data/subtype/basic): rename subtype constructor and projections 2017-03-08 19:31:27 -08:00
fun_info.lean feat(library/init/meta/fun_info): add fold_explicit_args 2017-02-17 10:21:06 -08:00
inductive_compiler.lean refactor(inductive_compiler): use subst to prove packs injective instead of constructors 2017-03-10 22:27:29 -08:00
injection_tactic.lean feat(inductive_compiler): generate injectivity lemmas 2017-03-10 22:27:18 -08:00
interaction_monad.lean refactor(library): revise the monadic hierarchy 2017-03-09 20:30:03 -08:00
interactive.lean fix(frontends/lean): fixes #1468 2017-03-18 13:48:21 -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(library/init/meta/match_tactic): add tactic_format for pattern 2017-03-07 19:30:51 -08:00
mk_dec_eq_instance.lean feat(library/init/meta): add decidable_eq for binder_info 2017-03-07 19:30:51 -08: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(library/init/meta/name): add name.replace_prefix 2017-03-10 22:16:21 -08: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 feat(library/init/data/unsigned): add basic unsigned operations 2017-03-05 16:14:16 -08:00
rb_map.lean feat(library/tools): add mini_crush 2017-02-19 16:21:12 -08:00
rec_util.lean chore(library/init/meta): cleanup 2017-02-08 15:33:25 -08:00
relation_tactics.lean feat(library/init/meta): add subst_vars tactic 2017-03-01 15:11:17 -08: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 fix(library/init/meta/simp_tactic): simp_intro_aux tactic should not fail when hypothesis cannot be simplified 2017-03-08 21:20:43 -08:00
tactic.lean feat(inductive_compiler): generate injectivity lemmas 2017-03-10 22:27:18 -08:00
task.lean refactor(library): revise the monadic hierarchy 2017-03-09 20:30:03 -08:00
transfer.lean feat(library/data/dlist): setup transfer for dlist 2017-03-07 19:30:51 -08:00
vm.lean refactor(library): revise the monadic hierarchy 2017-03-09 20:30:03 -08:00