CHOOSE
Intro
Alright, imagine an alien computer. Everyone is really excited to use it, but the only thing it can do is search for programs that matches with an output, and also those programs also search for programs that do the exact same thing. Is it possible to even do anything with this highly theorical programing language? This was a thought experiment by User: A()
Rules
The translated instruction manual says as follows:
⦁ Every program can be described by a string of numbers
⦁ Every program searches for programs that match with a statement (Ex: ¬a=b)
⦁ Every program written must search other programs
Syntax
[program 1 / program 2] : (statement) [[program 1a / program 2a] : (statement) / [program 1b / program 2b] : (statement) ] : (statement) Ect.
Commands
| Cmd | Effect | number |
|---|---|---|
| & | if a and b are true, return true | 2 |
| v | if a or b are true, return true | 3 |
| ¬ | not a | 5 |
| ∅ | null | 7 |
| [ | begin search | 11 |
| ] | Bracket | 13 |
| / | Separation | 17 |
| : | beginning of statement | |
| (, ) | parenthesis | 19 and 23 |
| = | if a equals b, return true | 29 |
| t | true | 31 |
| f | false | 37 |
Programs
True
This program returns true. Now you may think that this will work:
[ t / f ] : ( t )
But every program must search for other programs, even the programs we are searching for. So it's more like this:
[ [ [ t ... / ∅ ] : ( t ) / [ [∅... / ...∅ ] / ... : ( f ) ] : ( f ) ] : ( t )
Even if it takes an countably infinite amount of time to reduce to any solution, it works!