Jump to content

Computability logic: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Ai777 (talk | contribs)
m Added short description
Tags: Mobile edit Mobile app edit iOS app edit App description add
 
(47 intermediate revisions by 34 users not shown)
Line 1: Line 1:
{{Short description|A framework for studying interactive computational tasks through logic.}}
Introduced by [[Giorgi Japaridze]] in 2003, '''computability logic''' is a research programme and mathematical framework for redeveloping logic as a systematic formal [[Recursion theory|theory of computability]], as opposed to [[classical logic]] which is a formal theory of truth. In this approach logical formulas represent computational problems (or, equivalently, computational resources), and their validity means being "always computable".
{{distinguish|Computational logic}}
{{One source|text=All references in this article are exclusively by a single author, G. Japaridze.|date=May 2020}}
'''Computability logic''' ('''CoL''') is a research program and mathematical framework for redeveloping [[mathematical logic|logic]] as a systematic formal theory of [[computability]], as opposed to [[classical logic]], which is a formal theory of [[truth]]. It was introduced and so named by [[Giorgi Japaridze]] in 2003.<ref> G. Japaridze, ''Introduction to computability logic''. [[Annals of Pure and Applied Logic]] 123 (2003), pages 1–99. {{doi|10.1016/S0168-0072(03)00023-X}}</ref>


In classical logic, [[formula (logic)|formula]]s represent true/false [[statement (logic)|statement]]s. In CoL, formulas represent [[computational problem]]s. In classical logic, the validity of a formula depends only on its form, not on its meaning. In CoL, validity means being always computable. More generally, classical logic tells us when the truth of a given statement always follows from the truth of a given set of other statements. Similarly, CoL tells us when the computability of a given problem ''A'' always follows from the computability of other given problems ''B<sub>1</sub>,...,B<sub>n</sub>''. Moreover, it provides a uniform way to actually construct a solution ([[algorithm]]) for such an ''A'' from any known solutions of ''B<sub>1</sub>,...,B<sub>n</sub>''.
Computational problems and resources are understood in their most general - interactive sense. They are formalized as games played by a machine against its environment, and computability means existence of a machine that wins the game against any possible behavior by the environment. Defining what such game-playing machines mean, computability logic provides a generalization of the [[Church-Turing thesis]] to the interactive level.


CoL formulates computational problems in their most general—[[Interactive computation|interactive]]—sense. CoL defines a ''computational problem'' as a game played by a machine against its environment. Such a problem is ''computable'' if there is a machine that wins the game against every possible behavior of the environment. Such a game-playing machine generalizes the [[Church–Turing thesis]] to the interactive level. The classical concept of truth turns out to be a special, zero-interactivity-degree case of computability. This makes classical logic a special fragment of CoL. Thus CoL is a [[conservative extension]] of classical logic. Computability logic is more [[Expressive power (computer science)|expressive]], constructive and computationally meaningful than classical logic. Besides classical logic, [[independence-friendly logic|independence-friendly (IF) logic]] and certain proper extensions of [[linear logic]] and [[intuitionistic logic]] also turn out to be natural fragments of CoL.<ref>G. Japaridze, ''In the beginning was game semantics?''. Games: Unifying Logic, Language and Philosophy. O. Majer, A.-V. Pietarinen and T. Tulenheimo, eds. Springer 2009, pp.&nbsp;249–350. {{doi|10.1007/978-1-4020-9374-6_11}} [https://arxiv.org/abs/cs/0507045 Prepublication]</ref><ref>G. Japaridze, ''The intuitionistic fragment of computability logic at the propositional level''. Annals of Pure and Applied Logic 147 (2007), pages 187–227. {{doi|10.1016/j.apal.2007.05.001}}</ref> Hence meaningful concepts of "intuitionistic truth", "linear-logic truth" and "IF-logic truth" can be derived from the semantics of CoL.
The classical concept of truth turns out to be{{Citation needed|date=October 2008}} a special, zero-interactivity-degree case of computability. This makes classical logic a special fragment of computability logic. Being a [[conservative extension]] of the former, computability logic is, at the same time, by an order of magnitude more expressive, constructive and computationally meaningful. Providing a systematic answer to the fundamental question "what (and how) can be computed?", it has a wide range of potential application areas. Those include constructive applied theories, knowledge base systems, systems for planning and action.


CoL systematically answers the fundamental question of what can be computed and how; thus CoL has many applications, such as constructive applied theories, [[knowledge base]] systems, systems for planning and action. Out of these, only applications in constructive applied theories have been extensively explored so far: a series of CoL-based number theories, termed "clarithmetics", have been constructed<ref>G. Japaridze, ''Introduction to clarithmetic I''. [[Information and Computation]] 209 (2011), pp.&nbsp;1312–1354. {{doi|10.1016/j.ic.2011.07.002}} [https://arxiv.org/abs/1003.4719 Prepublication]</ref><ref>G. Japaridze, ''[https://lmcs.episciences.org/2020/pdf Build your own clarithmetic I: Setup and completeness]''. [[Logical Methods in Computer Science]] 12 (2016), Issue 3, paper 8, pp.&nbsp;1–59.</ref> as computationally and [[Computational complexity theory|complexity-theoretically]] meaningful alternatives to the classical-logic-based [[Peano_axioms#Peano_arithmetic_as_first-order_theory|first-order Peano arithmetic]] and its variations such as systems of [[bounded arithmetic]].
Besides classical logic, [[linear logic]] (understood in a relaxed sense) and [[intuitionistic logic]] also turn out to be natural fragments of computability logic. Hence meaningful concepts of "intuitionistic truth" and "linear-logic truth" can be derived from the semantics of computability logic.


Traditional proof systems such as [[natural deduction]] and [[sequent calculus]] are insufficient for axiomatizing nontrivial fragments of CoL. This has necessitated developing alternative, more general and flexible methods of proof, such as [[cirquent calculus]].<ref>G. Japaridze, ''Introduction to cirquent calculus and abstract resource semantics''. [[Journal of Logic and Computation]] 16 (2006), pages 489–532. {{doi|10.1093/logcom/exl005}} [https://arxiv.org/abs/math/0506553 Prepublication]</ref><ref>G. Japaridze, ''The taming of recurrences in computability logic through cirquent calculus, Part I''. [[Archive for Mathematical Logic]] 52 (2013), pp.&nbsp;173–212. {{doi|10.1007/s00153-012-0313-8}} [https://arxiv.org/abs/1105.3853 Prepublication]</ref>
Being semantically constructed, as yet computability logic does not have a fully developed proof theory. Finding [[deductive system]]s for various fragments of it and exploring their syntactic properties is an area of ongoing research.


==References==
==Language==
[[File:Operators_of_computability_logic.png|thumb|Operators of computability logic: names, symbols and readings]] The full language of CoL extends the language of classical [[first-order logic]]. Its logical vocabulary has several sorts of [[Logical conjunction|conjunction]]s, [[disjunction]]s, [[Quantifier (logic)|quantifier]]s, [[Implication (disambiguation)#Logic|implications]], [[negation]]s and so called recurrence operators. This collection includes all connectives and quantifiers of classical logic. The language also has two sorts of nonlogical atoms: ''elementary'' and ''general''. Elementary atoms, which are nothing but the atoms of classical logic, represent ''elementary problems'', i.e., games with no moves that are automatically won by the machine when true and lost when false. General atoms, on the other hand, can be interpreted as any games, elementary or non-elementary. Both semantically and syntactically, classical logic is nothing but the fragment of CoL obtained by forbidding general atoms in its language, and forbidding all operators other than ¬, ∧, ∨, →, ∀, ∃.


Japaridze has repeatedly pointed out that the language of CoL is open-ended, and may undergo further extensions. Due to the expressiveness of this language, advances in CoL, such as constructing axiomatizations or building CoL-based applied theories, have usually been limited to one or another proper fragment of the language.
*G. Japaridze, ''[http://www.sciencedirect.com/science/article/pii/S016800720300023X Introduction to computability logic]''. Annals of Pure and Applied Logic 123 (2003), pages 1–99.


==Semantics==
*G. Japaridze, ''[http://portal.acm.org/citation.cfm?id=1131313.1131318&coll=portal&dl=ACM&idx=1131313&part=periodical&WantType=periodical&title=ACM%20Transactions%20on%20Computational%20Logic%20%28TOCL%29&CFID=71203179&CFTOKEN=21225900 Propositional computability logic I]''. ACM Transactions on Computational Logic 7 (2006), pages 302-330.
The games underlying the semantics of CoL are called ''static games''. Such games have no turn order; a player can always move while the other players are "thinking". However, static games never punishes a player for "thinking" too long (delaying its own moves), so such games never become contests of speed. All elementary games are automatically static, and so are the games allowed to be interpretations of general atoms.


There are two players in static games: the ''machine'' and the ''environment''. The machine can only follow algorithmic strategies, while there are no restrictions on the behavior of the environment. Each run (play) is won by one of these players and lost by the other.
*G. Japaridze, ''[http://portal.acm.org/citation.cfm?id=1131313.1131319&coll=portal&dl=ACM&idx=1131313&part=periodical&WantType=periodical&title=ACM%20Transactions%20on%20Computational%20Logic%20%28TOCL%29&CFID=71203179&CFTOKEN=21225900 Propositional computability logic II]''. ACM Transactions on Computational Logic 7 (2006), pages 331-362.


The logical operators of CoL are understood as operations on games. Here we informally survey some of those operations. For simplicity we assume that the domain of discourse is always the set of all natural numbers: {0,1,2,...}.
*G. Japaridze, ''[http://logcom.oxfordjournals.org/cgi/content/abstract/16/4/489 Introduction to cirquent calculus and abstract resource semantics]''. Journal of Logic and Computation 16 (2006), pages 489-532.


The operation ¬ of ''negation'' ("not") switches the roles of the two players, turning moves and wins by the machine into those by the environment, and vice versa. For instance, if ''Chess'' is the game of chess (but with ties ruled out) from the white player's perspective, then ¬''Chess'' is the same game from the black player's perspective.
*G. Japaridze, ''[http://www.springerlink.com/content/l10m555830730182/ Computability logic: a formal theory of interaction]''. Interactive Computation: The New Paradigm. D.Goldin, S.Smolka and P.Wegner, eds. Springer Verlag, Berlin 2006, pages 183-223.


The ''parallel conjunction'' ∧ ("pand") and ''parallel disjunction'' ∨ ("por") combine games in a parallel fashion. A run of ''A''∧''B'' or ''A''∨''B'' is a simultaneous play in the two conjuncts. The machine wins ''A''∧''B'' if it wins both of them. The machine wins ''A''∨''B'' if it wins at least one of them. For example, ''Chess''∨¬''Chess'' is a game on two boards, one played white and one black, and where the task of the machine is to win on at least one board. Such a game can be easily won regardless who the adversary is, by copying his moves from one board to the other.
*G. Japaridze, ''[http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6V1G-4JS1M3B-1&_user=10&_handle=V-WA-A-W-AD-MsSAYWA-UUA-U-AACVWWCADC-AACAYUCEDC-EDADUYDDA-AD-U&_fmt=summary&_coverDate=07%2F25%2F2006&_rdoc=8&_orig=browse&_srch=%23toc%235674%232006%23996429998%23626672!&_cdi=5674&view=c&_acct=C000050221&_version=1&_urlVersion=0&_userid=10&md5=8f62c93dd24dd2c3f48cf7c77e05228d From truth to computability I]''. Theoretical Computer Science 357 (2006), pages 100-135.


The ''parallel implication'' operator → ("pimplication") is defined by ''A''→''B'' = ¬''A''∨''B''. The intuitive meaning of this operation is ''reducing'' ''B'' to ''A'', i.e., solving ''A'' as long as the adversary solves ''B''.
*G. Japaridze, ''[http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6V1G-4MV758R-2&_user=1536200&_coverDate=01%2F17%2F2007&_alid=540937878&_rdoc=1&_fmt=summary&_orig=search&_cdi=5674&_sort=d&_docanchor=&view=c&_ct=2&_acct=C000053374&_version=1&_urlVersion=0&_userid=1536200&md5=ce039afe954def15cbd8e9438488f011 From truth to computability II]''. Theoretical Computer Science 379 (2007), pages 20–52.


The ''parallel quantifiers'' <big><big>∧</big></big> ("pall") and <big><big>∨</big></big> ("pexists") can be defined by <big><big>∧</big></big>''xA''(''x'') = ''A''(0)∧''A''(1)∧''A''(2)∧... and <big><big>∨</big></big>''xA''(''x'') = ''A''(0)∨''A''(1)∨''A''(2)∨.... These are thus simultaneous plays of ''A''(0),''A''(1),''A''(2),..., each on a separate board. The machine wins <big><big>∧</big></big>''xA''(''x'') if it wins all of these games, and <big><big>∨</big></big>''xA''(''x'') if it wins some.
*G. Japaridze, ''[http://www.inf.u-szeged.hu/actacybernetica/edb/vol18n1/Japaridze_2007_ActaCybernetica.xml Intuitionistic computability logic]''. Acta Cybernetica 18 (2007), pages 77–113.


The ''blind quantifiers'' ∀ ("blall") and ∃ ("blexists"), on the other hand, generate single-board games. A run of ∀''xA''(''x'') or ∃''xA''(''x'') is a single run of ''A''. The machine wins ∀''xA''(''x'') (respectively ∃''xA''(''x'')) if such a run is a won run of ''A''(''x'') for all (respectively at least one) possible values of ''x'', and wins ∃''xA''(''x'') if this is true for at least one.
*G. Japaridze, ''[http://projecteuclid.org/DPubS?service=UI&version=1.0&verb=Display&handle=euclid.jsl/1174668394 The logic of interactive Turing reduction]''. Journal of Symbolic Logic 72 (2007), pages 243-276.


All of the operators characterized so far behave exactly like their classical counterparts when they are applied to elementary (moveless) games, and validate the same principles. This is why CoL uses the same symbols for those operators as classical logic does. When such operators are applied to non-elementary games, however, their behavior is no longer classical. So, for instance, if ''p'' is an elementary atom and ''P'' a general atom, ''p''→''p''∧''p'' is valid while ''P''→''P''∧''P'' is not. The principle of the excluded middle ''P''∨¬''P'', however, remains valid. The same principle is invalid with all three other sorts (choice, sequential and toggling) of disjunction.
*G. Japaridze, ''[http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6TYB-4NSWYVP-1&_user=10&_rdoc=1&_fmt=&_orig=search&_sort=d&view=c&_version=1&_urlVersion=0&_userid=10&md5=3a7cf451f14038839aba1d27bd89393f The intuitionistic fragment of computability logic at the propositional level]''. Annals of Pure and Applied Logic 147 (2007), pages 187-227.


The ''choice disjunction'' ⊔ ("chor") of games ''A'' and ''B'', written ''A''⊔''B'', is a game where, in order to win, the machine has to choose one of the two disjuncts and then win in the chosen component. The ''sequential disjunction'' ("sor") ''A''<small>ᐁ</small>''B'' starts as ''A''; it also ends as ''A'' unless the machine makes a "switch" move, in which case ''A'' is abandoned and the game restarts and continues as ''B''. In the ''toggling disjunction'' ("tor") ''A''⩛''B'', the machine may switch between ''A'' and ''B'' any finite number of times. Each disjunction operator has its dual conjunction, obtained by interchanging the roles of the two players. The corresponding quantifiers can further be defined as infinite conjunctions or disjunctions in the same way as in the case of the parallel quantifiers. Each sort of disjunction also induces a corresponding implication operation the same way as this was the case with the parallel implication →. For instance, the ''choice implication'' ("chimplication") ''A''⊐''B'' is defined as ¬''A''⊔''B''.
*G. Japaridze, ''[http://logcom.oxfordjournals.org/cgi/content/abstract/exn019 Cirquent calculus deepened]''. Journal of Logic and Computation 18 (2008), No.6, pp.&nbsp;983–1028.


The ''parallel recurrence'' ("precurrence") of ''A'' can be defined as the infinite parallel conjunction ''A''∧A∧A∧... The sequential ("srecurrence") and toggling ("trecurrence") sorts of recurrences can be defined similarly.
*G. Japaridze, ''[http://clx.doi.org/10.1016/j.ic.2008.10.001 Sequential operators in computability logic]''. Information and Computation 206 (2008), No.12, pp.&nbsp;1443–1475.


The ''corecurrence'' operators can be defined as infinite disjunctions. ''Branching recurrence'' ("brecurrence") <big>⫰</big>, which is the strongest sort of recurrence, does not have a corresponding conjunction. <big>⫰</big>''A'' is a game that starts and proceeds as ''A''. At any time, however, the environment is allowed to make a "replicative" move, which creates two copies of the then-current position of ''A'', thus splitting the play into two parallel threads with a common past but possibly different future developments. In the same fashion, the environment can further replicate any of positions of any thread, thus creating more and more threads of ''A''. Those threads are played in parallel, and the machine needs to win ''A'' in all threads to be the winner in <big>⫰</big>''A''. ''Branching corecurrence'' ("cobrecurrence") <big>⫯</big> is defined symmetrically by interchanging "machine" and "environment".
*G. Japaridze, ''[http://www.springerlink.com/content/04t6780731373n13/ Many concepts and two logics of algorithmic reduction]''. Studia Logica 91 (2009), No.1, pp.&nbsp;1–24.


Each sort of recurrence further induces a corresponding weak version of implication and weak version of negation. The former is said to be a ''rimplication'', and the latter a ''refutation''. The ''branching rimplication'' ("brimplication") ''A''<big>⟜</big>''B'' is nothing but <big>⫰</big>''A''→''B'', and the ''branching refutation'' ("brefutation") of ''A'' is ''A''<big>⟜</big>⊥, where ⊥ is the always-lost elementary game. Similarly for all other sorts of rimplication and refutation.
*G. Japaridze, ''[http://www.springerlink.com/content/m022011617448676/?p=a62bebfc0dec4164a3a3ba90fefb86aa&pi=10 In the beginning was game semantics]''. Games: Unifying Logic, Language and Philosophy. O. Majer, A.-V. Pietarinen and T. Tulenheimo, eds. Springer 2009, pp.&nbsp;249–350.


==As a problem specification tool==
*G. Japaridze, ''[http://projecteuclid.org/DPubS?verb=Display&version=1.0&service=UI&handle=euclid.jsl/1268917495&page=record Towards applied theories based on computability logic]''. Journal of Symbolic Logic 75 (2010), pp. 565-601.
The language of CoL offers a systematic way to specify an infinite variety of computational problems, with or without names established in the literature. Below are some examples.


Let ''f'' be a [[unary function]]. The problem of computing ''f'' will be written as <big><big>⊓</big></big>x<big><big>⊔</big></big>y(''y''=''f''(''x'')). According to the semantics of CoL, this is a game where the first move ("input") is by the environment, which should choose a value ''m'' for ''x''. Intuitively, this amounts to asking the machine to tell the value of ''f''(''m''). The game continues as <big><big>⊔</big></big>y(''y''=''f''(''m'')). Now the machine is expected to make a move ("output"), which should be choosing a value ''n'' for ''y''. This amounts to saying that ''n'' is the value of ''f''(m). The game is now brought down to the elementary ''n''=''f''(''m''), which is won by the machine if and only if ''n'' is indeed the value of ''f''(''m'').
*I. Mezhirov and N. Vereshchagin, ''[http://portal.acm.org/citation.cfm?id=1808347.1808575 On abstract resource semantics and computability logic]''. Journal of Computer and System Sciences 76 (2010), pp. 356-372.


Let ''p'' be a unary [[Boolean-valued function|predicate]]. Then <big><big>⊓</big></big>''x''(''p''(''x'')⊔¬''p''(''x'')) expresses the problem of [[Decidability (logic)|deciding]] ''p'', <big><big>⊓</big></big>''x''(''p''(''x'')&<small>ᐁ</small>¬''p''(''x'')) expresses the problem of [[Recursively enumerable set|semideciding]] ''p'', and <big><big>⊓</big></big>''x''(''p''(''x'')⩛¬''p''(''x'')) the problem of [[Computation in the limit|recursively approximating]] ''p''.
*N. Vereshchagin, ''[http://lpcs.math.msu.su/~ver/papers/japaridze.ps Japaridze's computability logic and intuitionistic propositional calculus]''. Moscow State University, 2006.


Let ''p'' and ''q'' be two unary predicates. Then <big><big>⊓</big></big>''x''(''p''(''x'')⊔¬''p''(''x''))<big>⟜</big><big><big>⊓</big></big>''x''(''q''(''x'')⊔¬''q''(''x'')) expresses the problem of [[Turing reduction|Turing-reducing]] ''q'' to ''p'' (in the sense that ''q'' is Turing reducible to ''p'' if and only if the interactive problem <big><big>⊓</big></big>''x''(''p''(''x'')⊔¬''p''(''x''))<big>⟜</big><big><big>⊓</big></big>''x''(''q''(''x'')⊔¬''q''(''x'')) is computable). <big><big>⊓</big></big>''x''(''p''(''x'')⊔¬''p''(''x''))<big>→</big><big><big>⊓</big></big>''x''(''q''(''x'')⊔¬''q''(''x'')) does the same but for the stronger version of Turing reduction where the [[oracle machine|oracle]] for ''p'' can be queried only once. <big><big>⊓</big></big>x<big><big>⊔</big></big>''y''(''q''(''x'')↔''p''(''y'')) does the same for the problem of [[Many-one reduction|many-one reducing]] ''q'' to ''p''. With more complex expressions one can capture all kinds of nameless yet potentially meaningful relations and operations on computational problems, such as, for instance, "Turing-reducing the problem of semideciding ''r'' to the problem of many-one reducing ''q'' to ''p''". Imposing time or space restrictions on the work of the machine, one further gets complexity-theoretic counterparts of such relations and operations.
==External links==

*[http://www.cis.upenn.edu/~giorgi/cl.html Computability Logic Homepage]
==As a problem solving tool==
*[http://www.csc.villanova.edu/~japaridz/ Giorgi Japaridze]
The known deductive systems for various fragments of CoL share the property that a solution (algorithm) can be automatically extracted from a proof of a problem in the system. This property is further inherited by all applied theories based on those systems. So, in order to find a solution for a given problem, it is sufficient to express it in the language of CoL and then find a proof of that expression. Another way to look at this phenomenon is to think of a formula ''G'' of CoL as [[program specification]] (goal). Then a proof of ''G'' is – more precisely, translates into – a program meeting that specification. There is no need to verify that the specification is met, because the proof itself is, in fact, such a verification.
*[http://www.csc.villanova.edu/~japaridz/CL/gsoll.html Game Semantics or Linear Logic?]

*[http://www.csc.villanova.edu/~japaridz/CL/clx.html Lecture Course on Computability Logic]
Examples of CoL-based applied theories are the so-called ''clarithmetics''. These are number theories based on CoL in the same sense as [[Peano_axioms#Peano_arithmetic_as_first-order_theory|first-order Peano arithmetic]] PA is based on classical logic. Such a system is usually a conservative extension of PA. It typically includes all Peano axioms, and adds to them one or two extra-Peano axioms such as <big><big>⊓</big></big>''x''<big><big>⊔</big></big>''y''(''y''=''x''') expressing the computability of the successor function. Typically it also has one or two non-logical rules of inference, such as constructive versions of [[mathematical induction|induction]] or [[comprehension axiom|comprehension]]. Through routine variations in such rules one can obtain [[soundness (logic)|sound]] and [[completeness (logic)|complete]] systems characterizing one or another interactive computational complexity class ''C''. This is in the sense that a problem belongs to ''C'' if and only if it has a proof in the theory. So, such a theory can be used for finding not merely algorithmic solutions, but also efficient ones on demand, such as solutions that run in [[polynomial time]] or [[logarithmic space]]. It should be pointed out that all clarithmetical theories share the same logical postulates, and only their non-logical postulates vary depending on the target complexity class. Their notable distinguishing feature from other approaches with similar aspirations (such as [[bounded arithmetic]]) is that they extend rather than weaken PA, preserving the full deductive power and convenience of the latter.


==See also==
==See also==
*[[Logics]]
*[[Logics for computability]]
*[[Game semantics]]
*[[Game semantics]]
*[[Interactive computation]]
*[[Interactive computation]]
*[[Mathematics]]
*[[Logic]]
*[[Logics for computability]]

==References==
{{Reflist}}

==External links==
*[http://www.csc.villanova.edu/~japaridz/CL/ Computability Logic Homepage] Comprehensive survey of the subject.
*[https://web.archive.org/web/20190419120954/http://www.csc.villanova.edu/~japaridz/ Giorgi Japaridze]
*[https://web.archive.org/web/20160303174250/http://www.csc.villanova.edu/~japaridz/CL/gsoll.html Game Semantics or Linear Logic?]
*[http://www.csc.villanova.edu/~japaridz/CL/clx.html Lecture Course on Computability Logic]
* [http://www.mathnet.ru/php/presentation.phtml?option_lang=eng&presentid=4373 On abstract resource semantics and computabilty logic] Video lecture by N.&nbsp;Vereshchagin.
*[https://arxiv.org/abs/1612.04513 A Survey of Computability Logic] (PDF) Downloadable equivalent of the above homepage.


{{Logic}}
{{Logic}}
Line 63: Line 80:
[[Category:Logic in computer science]]
[[Category:Logic in computer science]]
[[Category:Non-classical logic]]
[[Category:Non-classical logic]]

[[zh:可计算性逻辑]]

Latest revision as of 18:08, 3 January 2025

Computability logic (CoL) is a research program and mathematical framework for redeveloping logic as a systematic formal theory of computability, as opposed to classical logic, which is a formal theory of truth. It was introduced and so named by Giorgi Japaridze in 2003.[1]

In classical logic, formulas represent true/false statements. In CoL, formulas represent computational problems. In classical logic, the validity of a formula depends only on its form, not on its meaning. In CoL, validity means being always computable. More generally, classical logic tells us when the truth of a given statement always follows from the truth of a given set of other statements. Similarly, CoL tells us when the computability of a given problem A always follows from the computability of other given problems B1,...,Bn. Moreover, it provides a uniform way to actually construct a solution (algorithm) for such an A from any known solutions of B1,...,Bn.

CoL formulates computational problems in their most general—interactive—sense. CoL defines a computational problem as a game played by a machine against its environment. Such a problem is computable if there is a machine that wins the game against every possible behavior of the environment. Such a game-playing machine generalizes the Church–Turing thesis to the interactive level. The classical concept of truth turns out to be a special, zero-interactivity-degree case of computability. This makes classical logic a special fragment of CoL. Thus CoL is a conservative extension of classical logic. Computability logic is more expressive, constructive and computationally meaningful than classical logic. Besides classical logic, independence-friendly (IF) logic and certain proper extensions of linear logic and intuitionistic logic also turn out to be natural fragments of CoL.[2][3] Hence meaningful concepts of "intuitionistic truth", "linear-logic truth" and "IF-logic truth" can be derived from the semantics of CoL.

CoL systematically answers the fundamental question of what can be computed and how; thus CoL has many applications, such as constructive applied theories, knowledge base systems, systems for planning and action. Out of these, only applications in constructive applied theories have been extensively explored so far: a series of CoL-based number theories, termed "clarithmetics", have been constructed[4][5] as computationally and complexity-theoretically meaningful alternatives to the classical-logic-based first-order Peano arithmetic and its variations such as systems of bounded arithmetic.

Traditional proof systems such as natural deduction and sequent calculus are insufficient for axiomatizing nontrivial fragments of CoL. This has necessitated developing alternative, more general and flexible methods of proof, such as cirquent calculus.[6][7]

Language

[edit]
Operators of computability logic: names, symbols and readings

The full language of CoL extends the language of classical first-order logic. Its logical vocabulary has several sorts of conjunctions, disjunctions, quantifiers, implications, negations and so called recurrence operators. This collection includes all connectives and quantifiers of classical logic. The language also has two sorts of nonlogical atoms: elementary and general. Elementary atoms, which are nothing but the atoms of classical logic, represent elementary problems, i.e., games with no moves that are automatically won by the machine when true and lost when false. General atoms, on the other hand, can be interpreted as any games, elementary or non-elementary. Both semantically and syntactically, classical logic is nothing but the fragment of CoL obtained by forbidding general atoms in its language, and forbidding all operators other than ¬, ∧, ∨, →, ∀, ∃.

Japaridze has repeatedly pointed out that the language of CoL is open-ended, and may undergo further extensions. Due to the expressiveness of this language, advances in CoL, such as constructing axiomatizations or building CoL-based applied theories, have usually been limited to one or another proper fragment of the language.

Semantics

[edit]

The games underlying the semantics of CoL are called static games. Such games have no turn order; a player can always move while the other players are "thinking". However, static games never punishes a player for "thinking" too long (delaying its own moves), so such games never become contests of speed. All elementary games are automatically static, and so are the games allowed to be interpretations of general atoms.

There are two players in static games: the machine and the environment. The machine can only follow algorithmic strategies, while there are no restrictions on the behavior of the environment. Each run (play) is won by one of these players and lost by the other.

The logical operators of CoL are understood as operations on games. Here we informally survey some of those operations. For simplicity we assume that the domain of discourse is always the set of all natural numbers: {0,1,2,...}.

The operation ¬ of negation ("not") switches the roles of the two players, turning moves and wins by the machine into those by the environment, and vice versa. For instance, if Chess is the game of chess (but with ties ruled out) from the white player's perspective, then ¬Chess is the same game from the black player's perspective.

The parallel conjunction ∧ ("pand") and parallel disjunction ∨ ("por") combine games in a parallel fashion. A run of AB or AB is a simultaneous play in the two conjuncts. The machine wins AB if it wins both of them. The machine wins AB if it wins at least one of them. For example, Chess∨¬Chess is a game on two boards, one played white and one black, and where the task of the machine is to win on at least one board. Such a game can be easily won regardless who the adversary is, by copying his moves from one board to the other.

The parallel implication operator → ("pimplication") is defined by AB = ¬AB. The intuitive meaning of this operation is reducing B to A, i.e., solving A as long as the adversary solves B.

The parallel quantifiers ("pall") and ("pexists") can be defined by xA(x) = A(0)∧A(1)∧A(2)∧... and xA(x) = A(0)∨A(1)∨A(2)∨.... These are thus simultaneous plays of A(0),A(1),A(2),..., each on a separate board. The machine wins xA(x) if it wins all of these games, and xA(x) if it wins some.

The blind quantifiers ∀ ("blall") and ∃ ("blexists"), on the other hand, generate single-board games. A run of ∀xA(x) or ∃xA(x) is a single run of A. The machine wins ∀xA(x) (respectively ∃xA(x)) if such a run is a won run of A(x) for all (respectively at least one) possible values of x, and wins ∃xA(x) if this is true for at least one.

All of the operators characterized so far behave exactly like their classical counterparts when they are applied to elementary (moveless) games, and validate the same principles. This is why CoL uses the same symbols for those operators as classical logic does. When such operators are applied to non-elementary games, however, their behavior is no longer classical. So, for instance, if p is an elementary atom and P a general atom, ppp is valid while PPP is not. The principle of the excluded middle P∨¬P, however, remains valid. The same principle is invalid with all three other sorts (choice, sequential and toggling) of disjunction.

The choice disjunction ⊔ ("chor") of games A and B, written AB, is a game where, in order to win, the machine has to choose one of the two disjuncts and then win in the chosen component. The sequential disjunction ("sor") AB starts as A; it also ends as A unless the machine makes a "switch" move, in which case A is abandoned and the game restarts and continues as B. In the toggling disjunction ("tor") AB, the machine may switch between A and B any finite number of times. Each disjunction operator has its dual conjunction, obtained by interchanging the roles of the two players. The corresponding quantifiers can further be defined as infinite conjunctions or disjunctions in the same way as in the case of the parallel quantifiers. Each sort of disjunction also induces a corresponding implication operation the same way as this was the case with the parallel implication →. For instance, the choice implication ("chimplication") AB is defined as ¬AB.

The parallel recurrence ("precurrence") of A can be defined as the infinite parallel conjunction A∧A∧A∧... The sequential ("srecurrence") and toggling ("trecurrence") sorts of recurrences can be defined similarly.

The corecurrence operators can be defined as infinite disjunctions. Branching recurrence ("brecurrence") , which is the strongest sort of recurrence, does not have a corresponding conjunction. A is a game that starts and proceeds as A. At any time, however, the environment is allowed to make a "replicative" move, which creates two copies of the then-current position of A, thus splitting the play into two parallel threads with a common past but possibly different future developments. In the same fashion, the environment can further replicate any of positions of any thread, thus creating more and more threads of A. Those threads are played in parallel, and the machine needs to win A in all threads to be the winner in A. Branching corecurrence ("cobrecurrence") is defined symmetrically by interchanging "machine" and "environment".

Each sort of recurrence further induces a corresponding weak version of implication and weak version of negation. The former is said to be a rimplication, and the latter a refutation. The branching rimplication ("brimplication") AB is nothing but AB, and the branching refutation ("brefutation") of A is A⊥, where ⊥ is the always-lost elementary game. Similarly for all other sorts of rimplication and refutation.

As a problem specification tool

[edit]

The language of CoL offers a systematic way to specify an infinite variety of computational problems, with or without names established in the literature. Below are some examples.

Let f be a unary function. The problem of computing f will be written as xy(y=f(x)). According to the semantics of CoL, this is a game where the first move ("input") is by the environment, which should choose a value m for x. Intuitively, this amounts to asking the machine to tell the value of f(m). The game continues as y(y=f(m)). Now the machine is expected to make a move ("output"), which should be choosing a value n for y. This amounts to saying that n is the value of f(m). The game is now brought down to the elementary n=f(m), which is won by the machine if and only if n is indeed the value of f(m).

Let p be a unary predicate. Then x(p(x)⊔¬p(x)) expresses the problem of deciding p, x(p(x)&¬p(x)) expresses the problem of semideciding p, and x(p(x)⩛¬p(x)) the problem of recursively approximating p.

Let p and q be two unary predicates. Then x(p(x)⊔¬p(x))x(q(x)⊔¬q(x)) expresses the problem of Turing-reducing q to p (in the sense that q is Turing reducible to p if and only if the interactive problem x(p(x)⊔¬p(x))x(q(x)⊔¬q(x)) is computable). x(p(x)⊔¬p(x))x(q(x)⊔¬q(x)) does the same but for the stronger version of Turing reduction where the oracle for p can be queried only once. xy(q(x)↔p(y)) does the same for the problem of many-one reducing q to p. With more complex expressions one can capture all kinds of nameless yet potentially meaningful relations and operations on computational problems, such as, for instance, "Turing-reducing the problem of semideciding r to the problem of many-one reducing q to p". Imposing time or space restrictions on the work of the machine, one further gets complexity-theoretic counterparts of such relations and operations.

As a problem solving tool

[edit]

The known deductive systems for various fragments of CoL share the property that a solution (algorithm) can be automatically extracted from a proof of a problem in the system. This property is further inherited by all applied theories based on those systems. So, in order to find a solution for a given problem, it is sufficient to express it in the language of CoL and then find a proof of that expression. Another way to look at this phenomenon is to think of a formula G of CoL as program specification (goal). Then a proof of G is – more precisely, translates into – a program meeting that specification. There is no need to verify that the specification is met, because the proof itself is, in fact, such a verification.

Examples of CoL-based applied theories are the so-called clarithmetics. These are number theories based on CoL in the same sense as first-order Peano arithmetic PA is based on classical logic. Such a system is usually a conservative extension of PA. It typically includes all Peano axioms, and adds to them one or two extra-Peano axioms such as xy(y=x') expressing the computability of the successor function. Typically it also has one or two non-logical rules of inference, such as constructive versions of induction or comprehension. Through routine variations in such rules one can obtain sound and complete systems characterizing one or another interactive computational complexity class C. This is in the sense that a problem belongs to C if and only if it has a proof in the theory. So, such a theory can be used for finding not merely algorithmic solutions, but also efficient ones on demand, such as solutions that run in polynomial time or logarithmic space. It should be pointed out that all clarithmetical theories share the same logical postulates, and only their non-logical postulates vary depending on the target complexity class. Their notable distinguishing feature from other approaches with similar aspirations (such as bounded arithmetic) is that they extend rather than weaken PA, preserving the full deductive power and convenience of the latter.

See also

[edit]

References

[edit]
  1. ^ G. Japaridze, Introduction to computability logic. Annals of Pure and Applied Logic 123 (2003), pages 1–99. doi:10.1016/S0168-0072(03)00023-X
  2. ^ G. Japaridze, In the beginning was game semantics?. Games: Unifying Logic, Language and Philosophy. O. Majer, A.-V. Pietarinen and T. Tulenheimo, eds. Springer 2009, pp. 249–350. doi:10.1007/978-1-4020-9374-6_11 Prepublication
  3. ^ G. Japaridze, The intuitionistic fragment of computability logic at the propositional level. Annals of Pure and Applied Logic 147 (2007), pages 187–227. doi:10.1016/j.apal.2007.05.001
  4. ^ G. Japaridze, Introduction to clarithmetic I. Information and Computation 209 (2011), pp. 1312–1354. doi:10.1016/j.ic.2011.07.002 Prepublication
  5. ^ G. Japaridze, Build your own clarithmetic I: Setup and completeness. Logical Methods in Computer Science 12 (2016), Issue 3, paper 8, pp. 1–59.
  6. ^ G. Japaridze, Introduction to cirquent calculus and abstract resource semantics. Journal of Logic and Computation 16 (2006), pages 489–532. doi:10.1093/logcom/exl005 Prepublication
  7. ^ G. Japaridze, The taming of recurrences in computability logic through cirquent calculus, Part I. Archive for Mathematical Logic 52 (2013), pp. 173–212. doi:10.1007/s00153-012-0313-8 Prepublication
[edit]