Live data from Hacker News

Show HN: Made this with my daughter to help kids ages 2 to 4 learn logic

countable.github.io

121–130 of 141 posts

Re: Show HN: Made this with my daughter to help kids ages 2 to 4 learn logic

#121

Earlier quoted context omitted.

That's an interesting point. I still prefer zero on the right (and remember, they'll see them laid out that way in lots of other contexts, such as preschool worksheets). I was going to suggest they add a feature to make it accept numbers entered via the the keyboard, but I figured I should check first if they've already done so. They did. :)

Sure, but you wouldn't teach them the alphabet starting with 'q'. The list on the index page starts with 0, if nothing else it would be more consistent to start the counting section with 0 as well (FWIW I agree with the OP, I'm teaching my toddler to count starting with 0).

I'm the OP, and if by counting from 0 you mean "how many apples are there? Let's count 0, 1, 2, 3", then that's not what I meant and not an educational approach I necessarily agree with.

All I meant was what I said: If you're presenting numbers according to "numeric order, but with a weird exception due to the history of typewriters, which BTW your children have never heard of", then it would be simpler to remove that one weird exception. Or, to put it simpler: 0 is less than 1.

Re: Show HN: Made this with my daughter to help kids ages 2 to 4 learn logic

#123

I was not prepared for the text-to-speech blaring out at maximum volume without warning. I was further not prepared for "mute site" in chrome having no effect. Does anyone have any advice for blocking this behaviour on a global level? Just a warning for future explorers

heh :) only read this after trying while my notebook was muted. Quickly closed the tab before I accidentally unmute and wake the lil one Will be trying the counting part with kid next morning. I assume its random() based, did get a lot of 3 cats, specially in a row. Never 0 cats or more than 5. I would remove the answer buttons for 6 to 0, or a button to hide those maybe?

Higher levels have more cats, try the arrow at the top right of the page to go up a level.

Re: Show HN: Made this with my daughter to help kids ages 2 to 4 learn logic

#124
post #115

Earlier quoted context omitted.

...doesn't help either. The problem is that when you ask "How many blue cats are bouncing?" you are stating that blue cats are in existence. So there'd have to be some, not none. There'd have to be a number strictly greater than zero. So zero/none can't be the answer, or you're somehow breaking the rules of the game of logic, or how the computer game is set up. If, however, you say "How many cats are blue and bouncin…

I might be corrupted by programming because it doesn't bother me when I hear a vacuously true claim like "All flying horses are three-legged". My mental model corresponds to Python's definition of "all": def all(xs, predicate): for x in xs: if not predicate(x): return False return True Similarly, def any(xs, predicate): for x in xs: if predicate(x): return True return False You say "Ex falso quodlibet" which makes it…

...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.

Re: Show HN: Made this with my daughter to help kids ages 2 to 4 learn logic

#125
post #65

Earlier quoted context omitted.

Why? Many people have these "screen time" opinions. I'm not saying I disagree, but why do you think zero screen time is the correct amount?

There have been published research in widely peer reviewed medical journals, for example: https://jamanetwork.com/journals/jamapediatrics/fullarticle/... Main points being that brain activity and cognitive tests have shown that kids with excessive screen time use exhibited negative results. Granted these tests likely refer to unattended, non-interactive screen time which is slightly different than this particular app…

You didn't answer the question "Why do you think ZERO screen time is the correct amount?"

The article you linked only tests for "excessive" screen time - as do all the other studies I've seen.

Seems like you're just advocating the opposite extreme.

Re: Show HN: Made this with my daughter to help kids ages 2 to 4 learn logic

#129
This is great. I love the concept. There is just enough UI to play. The 'cat-ducks' makes it fun.

If I could add something, I would make getting an answer right a little more rewarding. A correct answer graphic, or a correct answer counter.

I realize this is probably a proof of concept for a minimum viable game and standard game mechanics did not make the cut.

I will test it out on my 3 year old tomorrow.

Post reply on HN