coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Gaëtan Gilbert <gaetan.gilbert AT skyskimmer.net>
- To: coq-club AT inria.fr
- Subject: Re: [Coq-Club] goal selectors; tactic expressions
- Date: Fri, 25 Jan 2019 14:39:34 +0100
- Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=gaetan.gilbert AT skyskimmer.net; spf=Pass smtp.mailfrom=gaetan.gilbert AT skyskimmer.net; spf=None smtp.helo=postmaster AT relay10.mail.gandi.net
- Ironport-phdr: 9a23:RjS4sxG1mJJUMsVWzbj/VZ1GYnF86YWxBRYc798ds5kLTJ78oMqwAkXT6L1XgUPTWs2DsrQY07qQ6/iocFdDyK7JiGoFfp1IWk1NouQttCtkPvS4D1bmJuXhdS0wEZcKflZk+3amLRodQ56mNBXdrXKo8DEdBAj0OxZrKeTpAI7SiNm82/yv95HJbAhEmDmwbaluIBmqsA7cqtQYjYx+J6gr1xDHuGFIe+NYxWNpIVKcgRPx7dqu8ZBg7ipdpesv+9ZPXqvmcas4S6dYDCk9PGAu+MLrrxjDQhCR6XYaT24bjwBHAwnB7BH9Q5fxri73vfdz1SWGIcH7S60/VDK/5KlpVRDokj8KOSMn/mHZisJ+j6xVrxyuqBN934Hab5qYNOZ9c67HYd8WWWRMU8RXWidcAo28dYwPD+8ZMOhZtYb6u0cOogG4BQa0Be3vyztIiWTo0q0gz+QqDAbL3AM6EN0QrHTbttP1OL0dUeC0yKnH1ivMb+lK2Trm84jIcRAgoeqPXbJxdMrRzFcgFxnfglWWt4PlIyqY2+IQuGaY9+ptTfyjh3Mlpg1roDWj2t0ghpTLi48W0FzI6yt0zJotKdGlTEN2b8SoHZtfui2ANYZ7Q9kuTmFmtSs817YIo4S0fDIQx5Qi3xPfa+KIc4yP4h/7TuaePzN4i2hleb6imxq+602gxff9VsmwylpKoTBKkt/RuXAMzRDT7NaISudl8keg3zaAyRzT5/laLUwpl6fXMZwszqIqmpYOs0nOHTX6lFv4gaOKbkkk//Kn6+XjYrXovJ+cMIp0hxnxMqs0hMO/Hf43Mg4UU2iU+OS80Kbs8lPjQLVWlfA2iarZsZDBJcQYp665BgpV3Zg56xqlCTepzsgYkWEdLF1ZYBKHk5TpO1bWLf/kCve/mk2gnytvx/DbJbLsGY7NL3jGkLf5Z7lx8U9cyAwpzdBe/Z1YEL8BIOigEnP24dffF1oyNxG+6+fhEtR0kI0ECkyVBarMH6pRrVaO0c0uJ+OBfpNd7Dn0JuQs4bjhjHszlEUBVbKqzIAUaXW9E+4gJUiFNym/yuwdGHsH61JtBNfhj0ePBGYKNiSCGpkk7zR+M7qISILKR4SjmruEhXnpBZ5HfWNHD1WBCzHuepnWAq5QOhLXGddol3k/bZbkU5UojE/8rwzr0LlmK+/Z4GseuI6xjIEotd2Wrgk78HlPN+rY02yJSDsozHkFQzYnhfg5pEV8zhGM2K50grpeGMABv/4=
I see. Maybe something like "all: do 2 solve_eqs." would work, otherwise I think we just don't expose the right primitives.
Gaëtan Gilbert
On 25/01/2019 14:18, Jeremy Dawson wrote:
Hi Gaëtan,
all: repeat solve_eqs
doesn't succeed, I don't know exactly what all : repeat solve_eqs does
(previous emails addressed this question and the answer I was given)
though in this case it's consistent with applying
1: repeat solve_eqs (which leaves one subgoal, so subgoal 2: is the
original subgoal 2)
then applying 2 : repeat solve_eqs.
or maybe just
1: solve_eqs. then 2: solve_eqs. (ie without "repeat", I can't tell)
It doesn't go back to try 1 : solve_eqs again.
eg see the following, where the
second application of the tactic
all : repeat solve_eqs
makes progress beyond the results of the first application of it.
2 focused subgoals
(shelved: 5)
V : Set
Φ2, Ψ1, Ψ2, Γ1 : list (PropF V)
Q : PropF V
sel1, l, l1 : list (PropF V)
============================
((Γ1 ++ Q :: sel1) ++ l ++ Φ2, Ψ1 ++ l1 ++ Ψ2) =
(?Γ1 ++ ?Q :: ?Γ2 ++ ?Γ3, ?Δ)
subgoal 2 is:
G ++ (?Γ1 ++ ?Γ2 ++ ?Q :: ?Γ3, ?Δ, d0) :: H6 =
G ++ ((Γ1 ++ sel1) ++ l ++ Q :: Φ2, Ψ1 ++ l1 ++ Ψ2, d0) :: H6
gen_moveL < all : repeat solve_eqs.
1 subgoal
V : Set
Φ2, sel1, l : list (PropF V)
============================
sel1 ++ l ++ Φ2 = (sel1 ++ l) ++ Φ2
gen_moveL < all : repeat solve_eqs.
This subproof is complete, but there are some unfocused goals.
Try unfocusing with "}".
Cheers,
Jeremy
On 01/25/2019 08:53 PM, Gaëtan Gilbert wrote:
Note that repeat runs the inner tactic focused on each goal separately
so "repeat (all: solve_eqs)" would (if the syntax allowed it) be the
same as "repeat (only 1: solve_eqs)" which is also the same as "repeat
solve_eqs", and "repeat (only 2: solve_eqs)" is the same as "repeat
fail" ie idtac.
I feel like "all: repeat solve_eqs" should work given what you describe,
can you explain how it fails?
Gaëtan Gilbert
On 25/01/2019 06:54, Jeremy Dawson wrote:
Hi Cyprian,
What I wanted is what I would express as
repeat (all : solve_eqs)
but it seems as though that form is forbidden.
The various things I tried as indicated in my earlier email were simply
looking for alternatives that work.
Detailed background to what I want: solve_eqs doesn't seem to enlarge
the number of goals in the cases where I want to use it, and sometimes
solves a goal, sometimes only after solve_eqs has instantiated an evar
in another goal, sometimes only after being repeatedly called on the
same goal (where each time it simplifies the goal)
Cheers,
Jeremy
On 01/25/2019 10:00 AM, Cyprien Mangin wrote:
What you probably meant is something like "all : repeat solve_eqs"
- Re: [Coq-Club] goal selectors; tactic expressions, (continued)
- Re: [Coq-Club] goal selectors; tactic expressions, Jeremy Dawson, 01/25/2019
- Re: [Coq-Club] goal selectors; tactic expressions, Gaëtan Gilbert, 01/25/2019
- Re: [Coq-Club] goal selectors; tactic expressions, Jeremy Dawson, 01/25/2019
- Re: [Coq-Club] goal selectors; tactic expressions, Jason -Zhong Sheng- Hu, 01/25/2019
- Re: [Coq-Club] goal selectors; tactic expressions, Jeremy Dawson, 01/25/2019
- Re: [Coq-Club] goal selectors; tactic expressions, Jason -Zhong Sheng- Hu, 01/25/2019
- Re: [Coq-Club] goal selectors; tactic expressions, Gaëtan Gilbert, 01/25/2019
- Re: [Coq-Club] goal selectors; tactic expressions, Théo Zimmermann, 01/25/2019
- Re: [Coq-Club] goal selectors; tactic expressions, Pierre Courtieu, 01/28/2019
- Re: [Coq-Club] goal selectors; tactic expressions, Jeremy Dawson, 01/25/2019
- Re: [Coq-Club] goal selectors; tactic expressions, Jeremy Dawson, 01/25/2019
- Re: [Coq-Club] goal selectors; tactic expressions, Gaëtan Gilbert, 01/25/2019
- Re: [Coq-Club] goal selectors; tactic expressions, Jeremy Dawson, 01/25/2019
- Re: [Coq-Club] goal selectors; tactic expressions, Gaëtan Gilbert, 01/25/2019
- Re: [Coq-Club] goal selectors; tactic expressions, Jeremy Dawson, 01/25/2019
Archive powered by MHonArc 2.6.18.