imogen, intuitRIL and SuperL (Was: Prolog Tribute to Hao Wang)

Liste des GroupesRevenir à cl prolog 
Sujet : imogen, intuitRIL and SuperL (Was: Prolog Tribute to Hao Wang)
De : janburse (at) *nospam* fastmail.fm (Mild Shock)
Groupes : comp.lang.prolog
Date : 07. Dec 2024, 23:22:06
Autres entêtes
Message-ID : <vj2hqe$up1o$1@solani.org>
References : 1
User-Agent : Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Firefox/91.0 SeaMonkey/2.53.19
Hi,
But its funny that people still work on UNSAT,
because its known that SAT is NP complete.
But don't worry, I sometimes do the same.
Imogen seems to chocke on SYJ202:
   SYJ202+1.005.imo     Provable.    Time: 2.129
   SYJ202+1.006.imo     Provable.    Time: 3.790
   SYJ202+1.007.imo     Provable.    Time: 16.222
   SYJ202+1.008.imo     Provable.    Time: 143.802
I assume its just the same problem linearly growing,
but the time is exponential or something.
BTW: Complexity for intuitionistic propositional logic
is even worse, its PSPACE complete. Here a recent
attempt featuring intuitRIL and SuperL
Implementing Intermediate Logics
https://iltp.de/ARQNL-2024/download/proceedings_preli/2_ARQNL_2024_paper_8.pdf
Have Fun!
Bye
Mild Shock schrieb:
This code here doesn’t make much sense:
 prove(L --> R):-
     member(A => B,L),
     del(A => B,L,NewL),!,
 One can combine member/2 and del/3 into select/3. select/3
together with member/2 is part of the Prologue to Prolog:
 **A Prologue for Prolog (working draft)**
https://www.complang.tuwien.ac.at/ulrich/iso-prolog/prologue
 So if I further strip away using a two sided sequent,
I can implement Hoa Wangs implication fagment:
 P1. Initial rule: if λ, ζ are strings of atomic
formulae, then λ -> ζ is a theorem if some atomic
formula occurs an both sides of the arrow.
 P5a. Rule —> =>    If ζ, φ -> λ, ψ, ρ, then ζ -> λ, φ => ψ, ρ
P5b. Rule => -> If λ, ψ, ρ -> π and λ, ρ -> π, φ then λ, φ => ψ, ρ -> π
 (Hao Wang. Toward Mechanical Mathematics. IBM
Journal of Research and Development 4:1 (1960), 15.)
 as follows in 3 lines:
 prove(L) :- select((A->B),L,R), !, prove([-A,B|R]).
prove(L) :- select(-(A->B),L,R), !, prove([A|R]), prove([-B|R]).
prove(L) :- select(-A,L,R), member(A,R), !.
Seems to work, I can prove Peirce Law:
 ?- prove([(((p->q)->p)->p)]).
true.
See also:
 **Hao Wang on the formalisation of mathematics**
Lawrence C. Paulson 26 Jul 2023
https://lawrencecpaulson.github.io/2023/07/26/Wang.html
    

Date Sujet#  Auteur
6 Dec 24 * Prolog Tribute to Hao Wang2Mild Shock
7 Dec 24 `- imogen, intuitRIL and SuperL (Was: Prolog Tribute to Hao Wang)1Mild Shock

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal