feat(model_theory/terms_and_formulas): Notation for terms and formulas from Flypitch (#12630)
Introduces some notation, localized to `first_order`, to make typing explicit terms and formulas easier.
Co-authored-by: Aaron Anderson <65780815+awainverse@users.noreply.github.com>