Hacker News new | ask | show | jobs
by hyt7u 4067 days ago
It took me a bit to figure out that the third statement was meant to be Albert expressing his confidence that Bernard didn't know the answer and not Albert inducing from Bernard's silence that Bernard didn't know the answer. The latter implies something like the Python code below, which will end up giving August 17th as an answer instead:

  def statement3(date):
    possible_dates = tell(Month(date))
    return (not know(possible_dates)
      and not know(filter(lambda x : not know(x), 
        [tell(Day(d)) for d in possible_dates])))