Hacker News new | past | comments | ask | show | jobs | submit login

  things.every(thing => thing.type == 'hat' && thing.color == 'green')
now negating this gives:

  things.some(things => thing.type != 'hat' || thing.color != 'green')
So liar has something that is not a hat OR has something that is not green

So only "E) The liar has no green hats" is true




Your initial translation into JavaScript is a representation of the statement "All my things are green hats", which is not the same as "All my hats are green."

The statement "All my hats are green" would map to

    things.every(thing => thing.type != 'hat' || thing.color == 'green')
i.e., everything the person owns must either be green or, if it isn't green, it must not be a hat since all hats are green.

The negated form would then be

    things.some(thing => thing.type == 'hat' && thing.color != 'green')
i.e., there are some hats that are not green.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: