• thebestaquaman@lemmy.world
    link
    fedilink
    arrow-up
    15
    ·
    edit-2
    55 minutes 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
        2
        ·
        46 minutes 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
            2
            ·
            20 minutes 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).