Zulip Chat Archive
Stream: new members
Topic: Setting wildcard values
Guilherme Espada (Mar 17 2021 at 16:57):
Given an expression in my context such as a: eval ((t_abs ?m_1 ?m_2).t_app ?m_3) (upshift (-1) (subst (upshift 1 ?m_3) 0 ?m_2)) How can I fix the wildcard values? I'm currently doing it by creating another variable with the same structure and assigning a to it, but that seems sub optimal.
Thanks
Johan Commelin (Mar 17 2021 at 17:23):
How did they end up in that expression in the first place?
Johan Commelin (Mar 17 2021 at 17:23):
Those metavariables will be other goals... but it can be hard to guess which one is which.
Guilherme Espada (Mar 17 2021 at 17:28):
That is true, 3 subgoals seem to be produced (which disappear after I fix the variables).
Is there a simple way to manipulate the goal list? Things like sending a goal to the bottom? That would work too
Guilherme Espada (Mar 17 2021 at 17:28):
And yeah, would be cool if the correspondent metavar was shown in the goal. Maybe a future feature? ;)
Johan Commelin (Mar 17 2021 at 17:46):
swap, swap n, rotate
Guilherme Espada (Mar 17 2021 at 18:38):
Exactly what I was looking for, thanks!
Guilherme Espada (Mar 17 2021 at 18:38):
I knew about swap, but not about rotate
Scott Morrison (Mar 17 2021 at 22:33):
You can use use show XXX to pull a goal unifying with XXX up to the top.
Damiano Testa (Mar 18 2021 at 05:17):
There is also work_on_goal n. The number n begins at 0.
Damiano Testa (Mar 18 2021 at 05:19):
I sometimes find any_goals {tactics} and all_goals {tactics} useful.
Guilherme Espada (Mar 18 2021 at 11:10):
I found any_goals and all_goals very useful when working with wide inductive structures (lambda calculus)
Last updated: May 02 2025 at 03:31 UTC