 In formal languages, self-reference is also very easy to come by. Any language capable of expressing some basic syntax can generate self-referential sentences via so-called diagonalization (or more properly, any language together with an appropriate theory of syntax or  arithmetic).[5]  A language containing a truth predicate and this basic syntax will thus have a sentence \(L\) such that \(L\) implies \(\neg \Tr(\left\ulcorner L\right\urcorner)\) and vice versa: