Deutsch English Français Italiano |
<v37anj$159q4$5@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: olcott <polcott333@gmail.com> Newsgroups: sci.logic,comp.lang.prolog Subject: Re: True on the basis of meaning --- Good job Richard ! ---Socratic method MTT Date: Wed, 29 May 2024 08:31:31 -0500 Organization: A noiseless patient Spider Lines: 94 Message-ID: <v37anj$159q4$5@dont-email.me> References: <v1mljr$1q5ee$4@dont-email.me> <v2bsog$36vvc$1@dont-email.me> <v2cpb1$1g2n8$1@i2pn2.org> <v2cvj6$3ddo5$1@dont-email.me> <v2d0qp$3dlkm$1@dont-email.me> <v2d1io$3dplm$1@dont-email.me> <v2evl5$3snmj$1@dont-email.me> <v2g2dp$3ugq$1@dont-email.me> <v2hkkl$ggq9$1@dont-email.me> <v2ibhe$ksut$1@dont-email.me> <v2k8go$1363g$1@dont-email.me> <v2l4hr$188bi$3@dont-email.me> <v2l87m$19619$1@dont-email.me> <v2lies$1b4kp$1@dont-email.me> <v2ltgl$1nrfv$2@i2pn2.org> <v2m0m5$1dcof$2@dont-email.me> <v2m4lg$1qo0t$1@i2pn2.org> <v2mtkj$1ln2l$1@dont-email.me> <v2ngi3$1or9h$8@dont-email.me> <v2pig4$28a91$1@dont-email.me> <v2qp30$2f6v4$1@dont-email.me> <v2s5td$2psu4$1@dont-email.me> <v2t9ne$2vna0$5@dont-email.me> <v2usea$3be7o$1@dont-email.me> <v2veqj$3e8pb$1@dont-email.me> <v31eit$3ugn4$1@dont-email.me> <v324iu$2pkb$1@dont-email.me> <v324pa$2rt4$1@dont-email.me> <v325l6$2pkb$3@dont-email.me> <v33vc1$g5n4$1@dont-email.me> <v34rgj$l2fc$1@dont-email.me> <v36opq$12i6f$1@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Wed, 29 May 2024 15:31:31 +0200 (CEST) Injection-Info: dont-email.me; posting-host="b7a5feb561e035e50c2e5bc5a99a467f"; logging-data="1222468"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19Xr+eEVoE/8L8i7FgtzaZf" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:N6pVMJI8UdN9q9rjkJmtr5Qqxhs= In-Reply-To: <v36opq$12i6f$1@dont-email.me> Content-Language: en-US Bytes: 5602 On 5/29/2024 3:25 AM, Mikko wrote: > On 2024-05-28 14:59:30 +0000, olcott said: > >> On 5/28/2024 1:59 AM, Mikko wrote: >>> On 2024-05-27 14:34:14 +0000, olcott said: >>> >>>> ?- LP = not(true(LP)). >>>> LP = not(true(LP)). >>>> >>>> ?- unify_with_occurs_check(LP, not(true(LP))). >>>> false. >>>> >>>> In other words Prolog has detected a cycle in the directed graph of the >>>> evaluation sequence of the structure of the Liar Paradox. Experts seem >>>> to think that Prolog is taking "not" and "true" as meaningless and is >>>> only evaluating the structure of the expression. >>> >>> The words "not" and "true" of Prolog are meaningful in some contexts >>> but not above. The word "true" is meaningful only when it has no >>> arguments. >>> >> >> That Prolog construes any expression having the same structure as the >> Liar Paradox as having a cycle in the directed graph of its evaluation >> sequence already completely proves my point. In other words Prolog >> is saying that there is something wrong with the expression and it must >> be rejected. >> >>> You could try >>> ?- LP = not(true(LP), true(LP). >>> >>> or >>> ?- LP = not(true(LP), not(true(LP)). >>> >>> The predicate unify_with_occurs_check checks whether the resulting >>> sructure is acyclic because that is its purpose. Whether a simple >> >> Yes exactly. If I knew that Prolog did this then I would not have >> created Minimal Type Theory that does this same thing. That I did >> create MTT that does do this same thing makes my understanding much >> deeper. > > Prolog does not reject LP = not(true(LP)). It can accept it as > syntactically valid. Thaat unify_with_occurs_check(LP, not(true(LP)) > fails does not mean anything except when it is used, and then it > does not reject but simplu evaluates to false, just like 1 = 2 > is false but not erroneous. > It correctly determines that there is a cycle in the directed graph of the evaluation sequence of the expression, which is like an infinite loop in a program. You can understand this or fail to understand this, disagreement is incorrect. If you have any disagreement then please back up your claims with proof. >>> unification like LP = not(true(LP)) does same is implementation >>> dependent as Prolog rules permit but do not require that. In a >>> typical implementation a simple unification does not check for >>> cycles. >>> >> >> ISO Prolog implementations have the built-in predicate >> unify_with_occurs_check/2 for sound unification >> https://en.wikipedia.org/wiki/Occurs_check#Sound_unification >> >> Alternatively such expressions crash or remain stuck in infinite loops. > > Not necessarily. What happes depends on the implementation and on what > you do with such structures. You already saw that your > > ?- LP = not(true(LP)). > > does not crash and does not remain stuck in infinite loop. > >>> Anyway, none of this is relevant to the topic of this thread or >>> topics of sci.logic. > > If you want to talk nore about Prolog do it in comp.lang.prolog. > It is relevant to sci.logic in that it exposes fundamental flaws with classical logic. That contradictory result apparently throws us into the lion’s den of semantic incoherence. The incoherence is due to the fact that, according to the rules of classical logic, anything follows from a contradiction, even 1 + 1 = 3. https://iep.utm.edu/liar-paradox/# -- Copyright 2024 Olcott "Talent hits a target no one else can hit; Genius hits a target no one else can see." Arthur Schopenhauer