-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
What does s/
mean?
#14
Comments
It's a substitution. The issue with
So, we have to tell to Rumm what to use for Let's take the proof of At step 7, we are facing the goal formula So, we take the |
Ok, so I guess it corresponds to rumm/rumm/src/lang/expression.rs Lines 37 to 44 in 789b5ff
It seems rumm/rumm/src/lang/expression.rs Lines 45 to 48 in 789b5ff
|
Yes, exactly, it corresponds to As far as It allows the tactics to act essentially like
Then, within the tactics script's body,
Which would use |
Ok, there are a lot of things to say, I'll try to be concise and focus on what's important: First of all, the specification says that the rumm/rumm/src/tactics/use_script_tactics.rs Lines 13 to 16 in 1ab8d60
rumm/rumm/src/lang/expression.rs Lines 218 to 223 in 1ab8d60
So the specification needs an update, I can help you with it since I've gained a bit of familiarity with Rumm and I don't want future users to face the same headache I've gone through to understand what's missing in the specification. But what's even more important is that the same bug I mentioned in #13 does appear for the Input: load "examples.mm" tactics tactic ( with *R ) { apply ~mpbi ? ? with *R } proof ~abbi { match goal $ ( A. x &W1 <-> &C1 = &C2 ) $ { use tactic with ~wph $ &W1 $ } } Output: ==================================================== Proof for "abbi": Proving |- ( A. x ( ph <-> ps ) <-> { x | ph } = { x | ps } ) >> Match Target |- ( A. x ( ph <-> ps ) <-> { x | ph } = { x | ps } ) Trying wff ( A. x &W1 <-> &C1 = &C2 ) Matched |- ( A. x ( ph <-> ps ) <-> { x | ph } = { x | ps } ) with wff ( A. x &W1 <-> &C1 = &C2 ) Proving |- ( A. x ( ph <-> ps ) <-> { x | ph } = { x | ps } ) >> Use tactic Proving |- ( A. x ( ph <-> ps ) <-> { x | ph } = { x | ps } ) >> Apply mpbi Subst: wph wff &W1 Attempting apply mpbi Proving |- &W1 >> Skip << Skipped! << tactic complete Skipped << -- Match failed -- Failure Done. We can see that at the end it shows ==================================================== Proof for "abbi": Proving |- ( A. x ( ph <-> ps ) <-> { x | ph } = { x | ps } ) >> Match Target |- ( A. x ( ph <-> ps ) <-> { x | ph } = { x | ps } ) Trying wff ( A. x &W1 <-> &C1 = &C2 ) Matched |- ( A. x ( ph <-> ps ) <-> { x | ph } = { x | ps } ) with wff ( A. x &W1 <-> &C1 = &C2 ) Proving |- ( A. x ( ph <-> ps ) <-> { x | ph } = { x | ps } ) >> Use tactic Proving |- ( A. x ( ph <-> ps ) <-> { x | ph } = { x | ps } ) >> Apply mpbi Subst: wph wff ( ph <-> ps ) Attempting apply mpbi Proving |- ( ph <-> ps ) >> Skip << Skipped! << tactic complete Skipped << -- Match failed -- Failure Done. |
Yes! Thanks for the help, and sorry for the lack of specification of that feature. I'll try to have a look at this issue and #13 this weekend! |
Closing since specification for this keyword has been added in #17. |
The set.rmm file contains this expression:
s/ $ X $ / $ Y $ / $ &C1 $
, for example here:rumm/set.rmm
Line 131 in 789b5ff
There is no mention of
s/
in the specification rumm.md and I've done some testing without being able to figure out what it does. What does it mean? @tirixThe text was updated successfully, but these errors were encountered: