Zulip Chat Archive
Stream: mathlib4
Topic: found a "(kernel) declaration has metavariables"
yannis monbru (May 09 2025 at 14:11):
Hi, while working, I found some issue : there is no goal in my lemma but the kernel says it's not done. Here is a minimal example.
import Mathlib.CategoryTheory.EqToHom
open CategoryTheory
variable (B : Type ) [Category B]
variable (G : B ⥤ B)
lemma foo : G = G := by
apply CategoryTheory.Functor.ext --(h_map := ?_)
--sorry
intro U V f
apply Functor.congr_hom
It seems that the issue is comming from the implicit use of aesop_cat in order to infer the argument h_map in Functor.ext, because if we uncomment the commented part (a sorry is added because the order of the goals are reversed) the issue disapear.
Moreover, i tried to reproduce the issue with a copy of category independent of Mathlib and in this case there is no more issue.
(maybe @Jannis Limperg could be interested)
Andrew Yang (May 09 2025 at 14:18):
This also works
lemma foo : G = G := by
apply CategoryTheory.Functor.ext
intro U V f
apply Functor.congr_hom rfl
So maybe the second apply is also fishy?
yannis monbru (May 09 2025 at 15:04):
What i can tell is that the second apply try to prove the same statement than aesop_cat two line before
Aaron Liu (May 09 2025 at 15:13):
Seems to be some weird interaction between the other goal being in the type unifying with a new metavariable that solves both the other goal and the new metavariable while creating a new one
Last updated: Dec 20 2025 at 21:32 UTC