• Halting problem proof converted to Liar Paradox --- 2004 post converted to C

    From olcott@polcott333@gmail.com to comp.theory,comp.lang.c++,comp.lang.c,comp.ai.philosophy on Thu Oct 9 10:33:40 2025
    From Newsgroup: comp.lang.c++

    // The pseudo code shown below has been converted
    // to C compiled as C++
    // the pseudo code is easier to read.
    // the C code is fully operational.

    /***
    As I first published here back in 2004:
    On 6/23/2004 9:34 PM, Olcott wrote:

    function LoopIfYouSayItHalts (bool YouSayItHalts):
    if YouSayItHalts () then
    while true do {}
    else
    return false;

    Does this program Halt?

    (Your (YES or NO) answer is to be considered
    translated to Boolean as the function's input
    parameter)

    Please ONLY PROVIDE CORRECT ANSWERS!
    ***/

    #include <stdio.h>
    #include <conio.h>

    void LoopIfYouSayItHalts(bool YouSayItHalts)
    {
    if (YouSayItHalts)
    while(true)
    ;
    else
    return;
    }

    void OutputProgram()
    {
    printf("\n\n\nvoid LoopIfYouSayItHalts "
    "(bool YouSayItHalts)\n");
    printf("{\n");
    printf(" if (YouSayItHalts)\n");
    printf(" while(true)\n");
    printf(" ;\n");
    printf(" else\n");
    printf(" return;\n");
    printf("}\n\n\n");
    }

    void Prompt()
    {
    char choice = 'x';
    printf("Does this program Halt?\n");
    printf("(Y or N) translated to Boolean argument"
    " to LoopIfYouSayItHalts()\n");
    printf("\nPlease ONLY PROVIDE CORRECT (Y or N) ANSWERS!\n");
    while (choice != 'Y'&& choice != 'y' &&
    choice != 'N' && choice != 'n')
    {
    choice = getch();
    if (choice != 'Y'&& choice != 'y' &&
    choice != 'N' && choice != 'n')
    printf("Must be (Y or N)\n");
    }

    if (choice == 'Y' || choice == 'y')
    {
    printf("\nWrong Answer!\n"
    "LoopIfYouSayItHalts(true) is stuck in a loop!\n\n");
    LoopIfYouSayItHalts(true);
    }
    if (choice == 'N' || choice == 'n')
    {
    printf("\nWrong Answer!\n"
    "LoopIfYouSayItHalts(false) halts now!\n\n");
    LoopIfYouSayItHalts(false);
    }
    }


    int main()
    {
    OutputProgram();
    Prompt();
    return 0;
    }
    --
    Copyright 2025 Olcott "Talent hits a target no one else can hit; Genius
    hits a target no one else can see." Arthur Schopenhauer

    --- Synchronet 3.21a-Linux NewsLink 1.2