This project combines list-based Genetic Programming (LGP) and a basic programming language to study the effectiveness of automatic arithmetic and Boolean logic discovery. The programming language is designed to be as simple as possible having no more than nine total unary instructions, to reduce the inductive bias present in GA experiments, and instead shift the burden of bias to the training data presented to the system. The goal of the project was to allow for more complex operations to be derived from the nine basic hard-coded instructions of the programming language. The system was able to derive functions several layers removed from the basic instructions. For example, the addition operator was derived based on the increment instruction and the multiplication instruction was discovered based on the previously derived addition operator