17cce340f6
The optimization was incorrect if the term indirectly contained a metavariable. It could happen if the term contained a free variable that was assigned in the context to a term containing a metavariable. This commit also adds a new test that exposes the problem. Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
5 lines
229 B
Text
5 lines
229 B
Text
Set: pp::colors
|
||
Set: pp::unicode
|
||
Set: lean::pp::implicit
|
||
let P : ℕ → Bool := λ x : ℕ, @neq ℕ x 0, Q : ∀ x : ℕ, P (x + 1) := λ x : ℕ, Nat::succ_nz x in Q :
|
||
∀ x : ℕ, (λ x : ℕ, @neq ℕ x 0) (x + 1)
|