| ...that's what I mean when I say that computer scientists have been trained to think about certain aspects of logic in a way that doesn't come natural to people and leads to conclusions that almost anybody finds counterintuitive who isn't a computer scientist (like "All flying horses are three-legged"). ...it comes down to how you represent natural language quantifiers in logic. The semantics of "All men are mortal." is that "all" is the quantifier, which takes two higher-order arguments. Using x as the variable that is quantified over, the first argument would have to be a predicate of x and is called the restrictor. The second argument also has to be a predicate of x and is called the body. So "all" is the quantifier. "man" is the restrictor. "mortal" is the body. Following that notation we would write "All men are mortal" as all_x { man(x) } { mortal(x) }
Now the question is how to represent this natural language quantifier in first-order logic. Most computer scientists would think ∀x { man(x) -> mortal(x) }
But this is NOT the way Aristotle thought about it, and not the way most human beings naturally think about it. The natural way to think about it is ∃x { man(x) } ∧ ∀x { man(x) -> mortal(x) }
The first part of the statement is what's called "existential import". (cf https://en.wikipedia.org/wiki/Syllogism#Existential_import)When I say "ex falso quodlibet" I mean this: https://en.wikipedia.org/wiki/Principle_of_explosion Moving over to the example about flying horses: all_x { fly(x) ∧ horse(x) } { three-legged(x) }
Without existential import the statement would mean. ∀x { ( fly(x) ∧ horse(x) ) -> three-legged(x) }
Now let's evaluate that within a logical theory that contains some common sense: ∀x horse(x) -> ¬fly(x)
The statement would then become provable. That's unnatural. No "normal" person who hasn't been taught through formal education to think in a particular way about implication would say "Oh yes, all flying horses are three-legged, that sounds perfectly reasonable."Now WITH existential import, the statement would have to mean ∃x { fly(x) ∧ horse(x) } ∧ ∀x { ( fly(x) ∧ horse(x) ) -> three-legged(x) }
So now, using the same piece of common sense, the statement is no longer provable, but it's negation is (the statement is unsatisfiable). That's how a "normal" person thinks. A normal person would respond by saying "Hang on! There is no such thing as a flying horse! Therefore you are talking utter nonsense."Going back to the original post: "How many blue cats are bouncing?" means howmany_x { blue(x) ∧ cat(x) } { bouncing(x) }
Which statement contradicts a state of the universe / game-screen, wherein there are no blue cats, if you interpret the statement by using existential import.My suggestion was to rephrase as "How many cats are blue and bouncing?" which means howmany_x { cat(x) } { blue(x) ∧ bouncing(x) }
So now instead of "blue cat" being the restrictor and "bouncing" being the body, you would have "cat" as the restrictor and "blue and bouncing" as the body.This would be better, because now you can use existential import the way "normal people" do, and still get to the desired result "zero" instead of the result "I can't answer that question". You avoid making a presupposition that contradicts the known state of the universe. |
I'll think about this some more and see if some design decisions can improve the game with regards to "existential import". Thanks for introducing that concept by the way.
My feeling about this when developing the game with my daughter was that when playing a game, you are taking part in a game universe. If there were a reference to flying horses, the inference would instead be "there must be flying horses in this game". The generative gameplay which is creating cats with random attributes also suggests that blue, bouncing cats are likely to exist but just aren't pictured on the screen presently.
In early education (even undergraduate education) it's common to present a simplified model that in some cases contradicts other models, and developing the cognitive machinery to explore and understand the model one working within, its limits, and how it relates to other models may be more valuable than comparing which models better align with objective (or, academic) truth.
At least, this is the thought process I went through with some of the trade-offs about deciding what answer was most correct from the lens of various formalisms (in my limited exposure to those) versus what answer leads to the richest learning in the age-group.