| Deutsch English Français Italiano |
|
<vhqemf$16mc2$1@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!eternal-september.org!feeder2.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Julio Di Egidio <julio@diegidio.name> Newsgroups: sci.logic Subject: =?UTF-8?Q?Re=3A_can_=CE=BB-prolog_do_it=3F_=28Was=3A_How_to_prove_t?= =?UTF-8?Q?his_theorem_with_intuitionistic_natural_deduction=3F=29?= Date: Fri, 22 Nov 2024 18:23:27 +0100 Organization: A noiseless patient Spider Lines: 53 Message-ID: <vhqemf$16mc2$1@dont-email.me> References: <vhgdq0$19evr$1@dont-email.me> <vhgemi$ca9e$1@solani.org> <vhgg23$19evr$2@dont-email.me> <vhhsit$d108$1@solani.org> <vhhuuf$1qic1$1@dont-email.me> <vhi5ch$d5rb$1@solani.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Fri, 22 Nov 2024 18:23:28 +0100 (CET) Injection-Info: dont-email.me; posting-host="71eefe3a736813c653b6f052d99f6b2c"; logging-data="1268098"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX194lKYaoEFaxU1uJ3NhBcU1O/m49HGafHc=" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:ZUW2Vg/bcrUz8uYokkbNJiuZthA= In-Reply-To: <vhi5ch$d5rb$1@solani.org> Content-Language: en-GB Bytes: 2961 On 19/11/2024 14:55, Mild Shock wrote: > Julio Di Egidio schrieb: >> On 19/11/2024 12:25, Mild Shock wrote: >>> Can λ-prolog do it? The proof is a little bit >>> tricky, since line 1 is used twice in >>> line 2 and in line 4. So its not a proof >>> tree, rather a proof mesh (*). >> >> My reduction rules actually take a goal and, if it can be reduced, >> return proof steps and residual goals. But indeed, my experiment has >> started with "how far can I get without lambda Prolog", aka "why >> lambda Prolog?" > > I don't know exactly what your full source > code in plain Prolog is. It's here for your preview, up to disjunction and with a beginning of a proof tree (still with the messed up numbering): <https://gist.github.com/jp-diegidio/b6a7a071f9f81a469c493c4afcc5cb11> And it fails one test: ``` ?- solve_t. pos:begin: - absorpt : [(p->q)]=>p->p/\q : ok - andcomm : [p/\q]=>q/\p : ok - codilem : [(p->q),(r->s),p\/r]=>q\/s : FAIL! - distand : []=>p/\(q\/r)<->p/\q\/p/\r : ok - distor : []=>p\/q/\r<->(p\/q)/\(p\/r) : ok - export : [(p/\q->r)]=>p->q->r : ok - import : [(p->q->r)]=>p/\q->r : ok - frege : [(p->q->r)]=>(p->q)->p->r : ok - hsyllo : [(p->q),(q->r)]=>p->r : ok - idempand : []=>p/\p<->p : ok - idempor : []=>p\/p<->p : ok pos:end: tot.=11, failed=1 : FAIL! neg:begin: - pierce : []=>((p->q)->p)->p : ok neg:end: tot.=1, failed=0 : ok false. ``` And I have already spent a day trying to find the bug, the trace is a little bit overwhelming: ``` ?- solve_trace([p->q,r->s,p\/r]=>q\/s, Qs). ``` -Julio