-
Notifications
You must be signed in to change notification settings - Fork 12
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
Level 5 / 7 : Rewriting on the final world (World: Redux: ↔ World Tactics) on "A Lean Intro to Logic" and general feedback #7
Comments
This brings up some points that have been on my mind for a while. 1: The play testers I watched play this game never played the Natural Numbers or Set Theory Game. Early on, I saw it helped play testers when I remove the way Lean does namespace resolution so we're never in the situation where some theorems are separated by dots and some by underscores. I'm not sure if this is the best choice in the long run as people who are familiar with 2: The flavor text isn't really helpful in finding a solution. It can give context around the logical operators (though even this can be tenuous), which helps a bit with players who have never done any formal logic. It's sort of how intro to logic textbooks do it, right? Even so, you have to learn to write terms as evidence and the flavor text isn't helpful there. I think the flavor text can more or less stand on its own merits, though to do so convincingly it could use some improvements. It would probably also help to have some way to signal which text is there for fun and which is meant to be instructive. 3: The level you got stuck on is way too long. It doesn't require any steps/tricks a player wouldn't have seen on earlier levels. I've seen play-testers who have had zero exposure to Lean other than
I'll think about this. My experience with play-testers has been that they get to the right expression without having any idea that they're sort of doing lambda calculus. They think about the lambda terms directly as evidence for the propositions (with no regard for the runtime behavior of functions calls or anything like that). In many ways, I guess it's a static, non-computational view of what's happening. I don't know if that's a good or a bad thing. Certainly it can get you through the logic game, but it feels pretty limiting. Getting the right balance here is certainly something worth spending some more effort on. |
I also got stuck on the same equivalence tactics level. Specifically, the |
I agree with this, however I felt that was pretty frustrating. I don't have any lambda calculus experience so I was kind of "just using it". But because of that, in more difficult levels I sometimes felt like I lacked insight to correctly apply it, or sometimes I tried something that "suddenly worked" without fully understanding why. I also agree that this level 5/7 could really do with some extra hints or something. I see that it is intended as a tedious level (which is in my opinion fine). Instead I found it incredibly difficult in comparison to the other levels, probably because I did not realise I could use certain tactics in ways I hadn't done before? In the end I made it work, but that required writing single lines like: To end on a more positive note, overall I enjoyed the game and especially in many cases also the redux levels! I thought it was really neat to see how some of the tactics introduced there can make the process of writing these proofs so much easier than without. |
You can find the model solution in the source code |
A report by @awefhio originally posted at leanprover-community/lean4game#232.
The text was updated successfully, but these errors were encountered: