This is a complete prolog metainterpreter, meaning it executes all possible programs, including those with cuts and builtins. It is correct and infinetly meta-circular, both proven mathematically. My solution manages choice points with SWI-Prolog Hackers Corner predicates, more especifically with the implementation of ancestral cuts.