fix(frontends/lean/elaborator): fixes #719
This commit is contained in:
parent
aa2a5b6282
commit
c843690d27
2 changed files with 17 additions and 0 deletions
|
@ -286,6 +286,9 @@ expr elaborator::visit_expecting_type(expr const & e, constraint_seq & cs) {
|
|||
expr r = m_context.mk_type_meta(m_ngen, e.get_tag());
|
||||
save_placeholder_info(e, r);
|
||||
return r;
|
||||
} else if (is_no_info(e)) {
|
||||
flet<bool> let(m_no_info, true);
|
||||
return visit_expecting_type(get_annotation_arg(e), cs);
|
||||
} else {
|
||||
return visit(e, cs);
|
||||
}
|
||||
|
@ -297,6 +300,9 @@ expr elaborator::visit_expecting_type_of(expr const & e, expr const & t, constra
|
|||
expr r = mk_placeholder_meta(some_expr(t), e.get_tag(), is_strict_placeholder(e), inst_imp, cs);
|
||||
save_placeholder_info(e, r);
|
||||
return r;
|
||||
} else if (is_no_info(e)) {
|
||||
flet<bool> let(m_no_info, true);
|
||||
return visit_expecting_type_of(get_annotation_arg(e), t, cs);
|
||||
} else if (is_choice(e)) {
|
||||
return visit_choice(e, some_expr(t), cs);
|
||||
} else if (is_by(e)) {
|
||||
|
|
11
tests/lean/hott/719.hlean
Normal file
11
tests/lean/hott/719.hlean
Normal file
|
@ -0,0 +1,11 @@
|
|||
-- HoTT
|
||||
open eq
|
||||
|
||||
|
||||
variables {A A' : Type} {a a' : A} {C : A → A' → Type} (p : a = a') (f : Π(b : A'), C a b) (b : A')
|
||||
|
||||
definition foo : (transport _ p f) b = p ▸ (f b) := sorry
|
||||
|
||||
definition bar : (p ▸ f) b = transport _ p (f b) := sorry
|
||||
|
||||
definition bla : (p ▸ f) b = p ▸ (f b) := sorry
|
Loading…
Reference in a new issue