startsWithZ
is UncomputableSeptember 15, 2025
startsWithZ(P, I)
determines if the output of a program starts with “Z”.startsWithZ(P, I)
is uncomputable.startsWithZ
is computable (always the opposite).startsWithZ
, then we could also build:
startsWithZSelf(P)
: Checks if program P
outputs a Z-string when given itself as input.notStartsWithZSelf(P)
: Checks if program P outputs a NON-Z-string when given itself as input.notStartsWithZSelf
on itself?
notStartsWithZSelf(notStartsWithZSelf)
returns “Zebra”, then by definition, it should return “Apple”.notStartsWithZSelf(notStartsWithZSelf)
returns “Apple”, then by definition, it should return “Zebra”.startsWithZ
is computable leads to an impossible situation, our assumption must be wrong and it must be uncomputable.Proofgrammers