CHOOSE

From Esolang
Jump to navigation Jump to search

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

Built In 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!