Open mnba opened 1 month ago
More details on this: Lines 300-308 in logicola/contentOld.tsx https://github.com/malikpiara/logicola/blob/47cce3f32a574f23ce3630ef0834b3f2999a1cc2/contentOld.tsx#L300-L308
id: '6.25',
prompt: 'Either not C or N',
options: [
{ id: 0, label: '$ \\sim C \\vee N $' },
{ id: 1, label: '$ \\sim(C \\vee N) $' },
{ id: 2, label: '$ (\\sim C \\vee \\sim N) $' },
{ id: 3, label: '$ (\\sim C \\vee N) $' },
],
correctId: [3],
Here options id=0 and id=3 are identical (lines 303 and 306), while as correct answer accepted only one with parentheses.
I believe this is the same issue raised in #46 by @cwgreene
Someone else mentioned it in hacker news, along with the explanation: https://news.ycombinator.com/item?id=40319634
Found some information on the actual notation for the book. The extra () fit the notation of the system from Gensler's book apparently. There doesn't appear to be a precedence order for the connectives, except that unary not (~) doesn't need the parens, ~P and P can both standalone. The language he uses requires the extra parentheses whenever using any of v, ^, ->, or == (and, or, implication, equivalence/iff). This is probably a reasonable thing in context because it means the expressions can be cleanly combined as written and probably avoids confusion for students. They don't have to learn a precedence order.
So if a student ever arrives at these pair of statements:
(P v Q) R And they use and introduction they'll get: ((P v Q) ^ R) No ambiguity, just combine the two as written and wrap in parens. So I'll retract my previous feedback.
I understand this can be confusing and misleading. Especially without the original context.
How would you go about addressing this? I'm open to suggestions!
this can be confusing and misleading. Especially without the original context.
Exactly, it is confusing and misleading. I as a follower of a different school in Logic, probably one may call it the school of Mendelson, because of our lecturers took their notation from that textbook "Introduction to Mathematical Logic" by Elliott Mendelson, and as far as I remember it, there is no such "parehtheses complication" there. Meanwhile I believe this webapp can be useful for followers and students of all logic schools, since language of mathematics is universal. One need just not complicate the things in very special way, requiring some special notations. But achieve consistency (in notation) and keep it. I recall logic textbooks from mid-20th century tend to invent each their own special extensions of universal notation -- to service niche and complicated topics. And this is a very simple topic compared to those.
How would you go about addressing this? I'm open to suggestions!
Since you are inviting, I will suggest.
In any case it is worth to keep only one thing instead of two identical options within the all options of the answer. And I believe this point is absolutely must. It will eliminate most part of student confusion.
So based on that, we here have 2 options to choose from: keep the version without parentheses or keep the version with parentheses.
The reason backing the necessity of parentheses, as I see it, reading the text of comment you provided is: "once the student wants to combine this existing expression into some other bigger expression in future, she surpassingly could get confused because of possible change in operator priorities".
I believe the student should know operator precedence in any case and use of parenthesys anyway, and if not he/she should learn that in first place. Maybe learn that within this same app, maybe in other place.
But in these short expressions of quiz answers it does not arise the need to combine expressions into the bigger ones. It is not said anywhere explicitly that we need afterwards insert them into something other. It is expected implicitly. I would choose to keep the simpler expression, i.e. without parentheses.
"Explicit is better than implicit. Simple is better than complex." says The Zen of Python
Here arises next question. We had 4 options and after eliminating the identical copy it remains only 3 options. Should we add new item instead of dropped item, or just keep the remaining 3 and that's it?
I think both options are viable. One may erase the duplicates at first. And later insert the absent options to complement their count to 4 items. For task of inventing the new options some ChatGPT-type can be handy for use :)
@mnba I read your answer and I'm taking time to think it through before I come back here to reply properly. Thank you again for investing your energy and mental space here!
Logicola itself reminds the learner what constitutes a well-formed formula for the question if they get it wrong. That'd be a good place to start with addressing this. Instead of just marking the answer as incorrect (red), display hint text similar to Logicola including the definition of a wff for propositional logic.
@rabuf @mnba It took me a while but here's my suggestion to address part of the issue: #66
here's my suggestion to address part of the issue: #66
Well, any solution is better than absence of it at all. Go forward and show us some solution. It is not so good to leave the users confused and let them go away just because of small incompleteness
Set C Propositional Logic
Question 4/10 – it has 2 identical correct answers to question, one normal and one is the same but with one extra pair of parentheses outside of propositional expressio. they look like "~ ... V N" and "(~ ... V N)". Here ellipsis is for Propositional variable whose name I don't remember.