In this paper a class of languages which are formal enough for mathematical reasoning is introduced. Its languages are called mathematically agreeable. Languages containing a given MA language L, and being sublanguages of L augmented by a monadic predicate, are constructed. A mathematical theory of truth (shortly MTT) is formulated for some of those languages. MTT makes them fully interpreted MA languages which posses their own truth predicates. MTT is shown to conform well with the eight norms formulated for theories of truth in the paper 'What Theories of Truth Should be Like (but Cannot be)', by Hannes Leitgeb. MTT is also free from infinite regress, providing a proper framework to study the regress problem. Main tools used in proofs are Zermelo-Fraenkel (ZF) set theory and classical logic.