Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Computability logic
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==As a problem specification tool== 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''). 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''. 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.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)