Liste des Groupes | Revenir à s logic |
On 2025-03-10 15:36:28 +0000, olcott said:https://www.researchgate.net/publication/315367846_Minimal_Type_Theory_MTT
On 3/10/2025 4:48 AM, Mikko wrote:Have you pbulished that "Minimal Type Theory" or put it to a web page?On 2025-03-09 17:15:13 +0000, olcott said:>
>Is the Liar Paradox True or False?>
>
LP := ~True(LP)
In typical languages of formal logic that is not a syntactically valid
expression.
>
I created Minimal Type Theory such that self-reference
can be expressed concisely and correctly.
Without a pointer to it there is no point to mention it. Of course one
can create a language that can express a self reference but why would
one?
LP := ~True(LP)Apparently this cannot be expressed concisely and correctly inA self reference cannot be expressed in an uninterpreted formal language.
any formal logic system.
Sometimes some symbols and expressions are interpreted to represent
themselves or other symbols or expressions. For example, the symbol 0
of arthmetic can be interpreted to mean the symbol 0 and the term
S0 the sqence of symbols S and 0.
Minimal Type Theory was the only language that I knewHere is how this is typically done in formal systemsDiagonalixation is not what is "typically" done. It is done when
>
2.4 Diagonalization, or, “Self-reference”
https://plato.stanford.edu/entries/goedel-incompleteness/#DiaSelRef
it is useful.
LP := ~True(LP) is exactly self-reference without theOnly in languages that allow the expression. Typical formal languages
convoluted mess of the The Diagonalization Lemma.
either don't have the symbo ":=" or restrict its use so that the
symbol on the left side cannot be used on the right side. In those
languages the expression LP := ~True(LP) does not mean anything.
The other advantage of Minimal Type Theory is thatIt does not make sense to say "The other advantage" when you haven't
already identified one. And how do you know there is no third
advantage?
Sources said that this is far too costly in terms ofit outputs a directed graph of the evaluation sequenceThe library predicate unify_with_occurs_check/2 gives the same result
explicitly showing any cycles that prove the expression
is invalid in the exact same way that
>
?- unify_with_occurs_check(LP, not(true(LP))).
proves that LP = not(true(LP)). has a cycle in its
evaluation sequence.
when asked "unify_with_occurs_check(1, 2)". Is there a cycle in the
evaluation sequence of "1 = 2"?
Yes, but the unification algorithm of a typical Prolog implementation>?- LP = not(true(LP)).>
LP = not(true(LP)).
Apparently you were using a Prolog implementation that does not check
whether a cyclic data structure is produced.
In other words you can see the infinite structure of:
?- LP = not(true(LP)).
creates it without seeing it.
WRONG carefully study the whole C&M quoteNot checking for cycles This is the default becauseAnd rarely useful.
checking for cycles is too costly.
Only if there is a cycle in the evaluation sequence of 1 = 2.Another Prolog implementation>
could say false instead.
>?- unify_with_occurs_check(LP, not(true(LP))).>
false.
For this quesry the only permitted answer is false.
Proving a cycle in the evaluation sequence of ?- LP = not(true(LP)).
*That you keep ignoring it is either stupid or dishonest*There is nothing infinite there. Everything that can be in a computer's>Its infinitely recursive structure makes it neither true nor false.>
What is that "its" intended to refer to? According to Prolog rules
unify_with_occurs_check(LP, not(true(LP))) is false.
Proving that ?- LP = not(true(LP)). is infinitely recursive.
memory is finite and everthinng a computer does is done in finite time.
Les messages affichés proviennent d'usenet.