• TheTechnician27@lemmy.worldM
    link
    fedilink
    English
    arrow-up
    6
    ·
    edit-2
    5 hours ago

    It basically boils down to “do nothing”, right?

    Sort of due to a flaw in the syntax; it (almost) boils down to an infinite loop (we’ll fix the syntax to specify “I wish for you to” and use the wish flags ‘!’ = opposite, ‘~’ = ignore/skip (we’ll assume this exhausts a wish still even though it shouldn’t since it doesn’t matter anyway), and for clarity, we’ll make ‘+’ mean no flags/execute normally; all 3 wishes are ‘+’ at the start of the first loop):

    • “I wish for you to do the opposite of my next wish.” (flag set to do !wish2)
    • “I wish for you not to fulfill my third wish.” (flag set for +wish3)
    • “I wish for you to [have ignored] my first wish.” (now ~wish1 was set before you made wish 2; notably, this needs to be retroactive for the loop to start, so the syntax in the OP is wrong).

    Now +wish2 was set. But then the flag for ~wish3 was set. But then +wish1 was set (i.e. it was never ignored; this is flawed, however, but author’s logic). Now !wish2 was set. Now ~wish3 was set. Etc.

    Every even loop (0-indexed) will be (+, !, +) while every odd one will be (~, +, ~).

    That said, a flaw in this logic is that it should actually stop after Loop 1, since wish3 is no longer an active wish; the genie doesn’t have to go back and change anything. You need the wish to be active, not ignored, to break the genie into an infinite loop.

    “I wish for you to do the opposite of my first wish.” as wish3 should break 'em.

    • Sergio@piefed.social
      link
      fedilink
      English
      arrow-up
      3
      ·
      7 hours ago

      [have ignored] … notably, this needs to be retroactive for the loop to start, so the syntax in the OP is wrong

      oooh, that makes sense, if you change the wording like that…