Skip to content
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

2 identical answers #49

Open
mnba opened this issue May 11, 2024 · 7 comments
Open

2 identical answers #49

mnba opened this issue May 11, 2024 · 7 comments
Labels
propositional-translations Anything related with set C

Comments

@mnba
Copy link

mnba commented May 11, 2024

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.

@malikpiara malikpiara added the propositional-translations Anything related with set C label May 11, 2024
@mnba
Copy link
Author

mnba commented May 11, 2024

More details on this: Lines 300-308 in
logicola/contentOld.tsx

logicola/contentOld.tsx

Lines 300 to 308 in 47cce3f

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],

        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.

@malikpiara
Copy link
Owner

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!

@mnba
Copy link
Author

mnba commented May 12, 2024

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 :)

@malikpiara
Copy link
Owner

@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!

@rabuf
Copy link

rabuf commented May 16, 2024

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.

@malikpiara
Copy link
Owner

@rabuf @mnba It took me a while but here's my suggestion to address part of the issue: #66

@mnba
Copy link
Author

mnba commented Jun 12, 2024

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
propositional-translations Anything related with set C
Projects
None yet
Development

No branches or pull requests

3 participants