Apparently no one.
% This sentence is not true.
?- LP = not(true(LP)).
LP = not(true(LP)).
?- unify_with_occurs_check(LP, not(true(LP))).
false.
Prolog finally once and for all resolves the Liar Paradox as
semantically incoherent within the analytical framework
of Proof Theoretical Semantics. It does this on the basis
that the LP specifies a cycle in the directed graph of its
evaluation sequence, thus not a well founded justification tree.
There are purely analytic expressions such that the meaning
of some expressions are defined in terms of other expressions.
Example: 5 > 3.
There are also what s historically been called synthetic expressions
that are empirically grounded in a verbal model of the world.
Example: The shape of the Earth is approximately spherical.
When one understands that the entire body of true on the basis
of meaning expressed in language is composed entirely of
(a) Expressions that are stipulated to be true "atomic facts"
(b) Expressions derived by semantic entailment from (a)
then it becomes obvious that Wittgenstein's critique of
Gödel's 1931 incompleteness was spot on exactly right.
Proof Theoretic Semantics in its most basic essence is
saying this exact same thing since
Truth as an Epistemic Notion Dag Prawitz (2012)
What is the appropriate notion of truth for sentences whose
meanings are understood in epistemic terms such as proof or
ground for an assertion? It seems that the truth of such sentences
has to be identified with the existence of proofs or grounds
https://link.springer.com/article/10.10 ... 011-9107-6