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: Dec 20 2023 at 11:08 UTC