  In Meta-Interpretive Learning (MIL) the metarules, second-order datalog
clauses acting as inductive bias, are manually defined by the user. In this
work we show that second-order metarules for MIL can be learned by MIL. We
define a generality ordering of metarules by $\theta$-subsumption and show that
user-defined \emph{sort metarules} are derivable by specialisation of the
most-general \emph{matrix metarules} in a language class; and that these matrix
metarules are in turn derivable by specialisation of third-order \emph{punch
metarules} with variables quantified over the set of atoms and for which only
an upper bound on their number of literals need be user-defined. We show that
the cardinality of a metarule language is polynomial in the number of literals
in punch metarules. We re-frame MIL as metarule specialisation by resolution.
We modify the MIL metarule specialisation operator to return new metarules
rather than first-order clauses and prove the correctness of the new operator.
We implement the new operator as TOIL, a sub-system of the MIL system Louise.
Our experiments show that as user-defined sort metarules are progressively
replaced by sort metarules learned by TOIL, Louise's predictive accuracy and
training times are maintained. We conclude that automatically derived metarules
can replace user-defined metarules.
