  In this paper, we introduce the problem of rewriting finite formal languages
using syntactic macros such that the rewriting is minimal in size. We present
polynomial-time algorithms to solve variants of this problem and show their
correctness. To demonstrate the practical relevance of the proposed problems
and the feasibility and effectiveness of our algorithms in practice, we apply
these to biomedical ontologies authored in OWL. We find that such rewritings
can significantly reduce the size of ontologies by capturing repeated
expressions with macros. In addition to offering valuable assistance in
enhancing ontology quality and comprehension, the presented approach introduces
a systematic way of analysing and evaluating features of rewriting systems
(including syntactic macros, templates, or other forms of rewriting rules) in
terms of their influence on computational problems.
