Fig. 2: Two examples of how MPL uses metaprograms to discover programs.
From: Symbolic metaprogram search improves learning efficiency and explains rule learning in humans

A The target function (not observed by MPL) and observed input/output pairs. B MPL searches over metaprograms which compose primitives (blue) and metaprimitives for observation (orange) and inference (green). A, B is shorthand for (B)(A). Given data, metaprograms can be reduced to programs of primitives (solid blue box), often via intermediate programs (dashed blue boxes). F represents the target function; [x, y,…, z ∣ xs] is shorthand for prepending elements x, y,…, z to list xs; ψi represents uniformly random selection among multiple options so that metaprograms reduce deterministically. C Applying the learned program to novel data. D–F A second example.