• WraithGear@lemmy.world
    link
    fedilink
    English
    arrow-up
    118
    ·
    edit-2
    1 day ago

    again that’s two loops and a successful exit.

    1. do opposite of 2.
    2. complete 3.
    3. ignore 1

    Start loop 2

    1. -ignored-
    2. do not complete 3.
    3. -not completed-

    all wishes fulfilled, genie.exe concludes

      • WraithGear@lemmy.world
        link
        fedilink
        English
        arrow-up
        4
        ·
        8 hours ago

        i think the funny part is he has only to consider it, and by granting no wishes he grants them all

      • thebestaquaman@lemmy.world
        link
        fedilink
        arrow-up
        28
        ·
        edit-2
        22 hours ago

        You could argue that there is though, since the genie will grant three wishes. In that case, it operates like

        granted_wishes = 0
        while granted_wishes < 3:
            wish = receive_wish()
            granted = grant_wish(wish)  # True if wish is granted, false otherwise (invalid wish etc)
            if granted:
                granted_wishes += 1
        

        So we get

        1. Do opposite of next -> granted_wishes = 1
        2. Complete 3 -> granted_wishes = 2
        3. Ignore 1 -> Enter time loop (recurse)

        -inner loop-

        1. Do opposite of next (ignored due to outer loop) -> granted_wishes = 0
        2. Ignore 3 -> granted_wishes = 1
        3. Ignore 1 -> enter time loop (recurse)

        -inner loop 2-

        1. Do opposite of next (ignored due to outer loop) -> granted_wishes = 0
        2. Ignore 3 -> granted_wishes = 1
        3. Ignore 1 -> enter time loop (recurse)

        … etc.

        We get an infinite time-loop recursion, because we never reach the third guess in the inner loops.

          • thebestaquaman@lemmy.world
            link
            fedilink
            arrow-up
            9
            ·
            edit-2
            22 hours ago

            Well if the counter doesn’t reset (because the genie exists outside of time and therefore grants all the wishes “simultaneously” from its own perspective) we definitely get a problem, because granting 3 makes it impossible for 3 to be granted, and we get the paradox implied by the comic

            1. Do the opposite of next
            2. Do not grant 3
            3. Ignore 1

            If you grant 1 and 2, then you cannot grant 3 (since 3 implies not granting 1). If you grant 3, then 2 cannot be granted (since it implies not granting 3). This is the simple form of the paradox.

              • thebestaquaman@lemmy.world
                link
                fedilink
                arrow-up
                5
                ·
                21 hours ago

                But you said the counter didn’t reset? If it grants 2 in the “second loop”, that implies 1 was granted (since we didn’t invert 2), but you can’t grant 2 (uninverted) and also grant 1.

                If you’re operating with a time-loop recursion, you run into the problem of my initial comment. If you try to grant all three wishes simultaneously, you run into the obvious contradiction. The only way you get out is if you allow a time-loop recursion, but for some reason count the ignored guess as a granted guess in the inner loop(s).

    • greyscale@lemmy.grey.ooo
      link
      fedilink
      English
      arrow-up
      9
      ·
      1 day ago

      I think that it is more that they need to be conditionally applied simultaneously, but are contradictory conditions that cannot be met.