Forcing (computability)
Forcing in recursion theory is a modification of Paul Cohen's original set theoretic technique of forcing to deal with the effective concerns in recursion theory. Conceptually the two techniques are quite similar, in both one attempts to build generic objects (intuitively objects that are somehow 'typical') by meeting dense sets. Also both techniques are elegantly described as a relation (customarily denoted ) between 'conditions' and sentences. However, where set theoretic forcing is usually interested in creating objects that meet every dense set of conditions in the ground model, recursion theoretic forcing only aims to meet dense sets that are arithmetically or hyperarithmetically definable. Therefore some of the more difficult machinery used in set theoretic forcing can be eliminate or substantially simplified when defining forcing in recursion theory. But while the machinery may be somewhat different recursion theoretic and set theoretic forcing are properly regarded as an application of the same technique to different classes of formulas.
Definition of Forcing
Basic Terminology
In this article we use the following terminology.
- real
- an element of . In other words a function that maps each integer to either 0 or 1.
- string
- an element of . In other words a finite approximation to a real.
- notion of forcing
- A notion of forcing is a set and a partial order on , with a greatest element .
- condition
- An element in a notion of forcing.
- Cohen forcing
- The notion of forcing where conditions are elements of and
Given for a notion of forcing we say that is stronger than when . Note that this means that will usually turn out to be the reverse of the containment relation. Be careful some recursion theorists reverse the direction of which seems more natural in many recursion theoretic contexts but is at odds with the notation used in set theory.
The intuition here is that our conditions are finite approximations to some object we wish to build and that is stronger than when agrees with everything says about the object we are building and adds some information of it's own.
Language of Forcing
In a moment we will define a relation (read forces ) that holds between conditions (elements of ) and sentences but first we need to explain the language (mathematics) that is a sentence for. However, forcing is a technique not a definition and the language for will depend on the application one has in mind and the choice of .
The idea is that our language should express facts about the object we wish to build with our forcing construction.