Astra Kolomatskaia, Mao Nishino
The problem that we aim to solve is simple to state: Given an input-output table for a function ℕ → ℕ, return its source code.
The language in which the program is to be written simply consists of the symbols S and Z, variables, and a general Nat recursion operator.
[Notably, we are not using a language that consists of standard mathematical functions, but are rather considering arbitrary functions that can be defined by Nat recursion.]
We aim to complete this project by using neural nets trained on a dataset of source code samples that we will generate.