Appendix A Basics of Computability
The Appendix follows closely [1]. Intuitively, a function is computable if there is a procedure that calculates its values, that is, when the function f is defined for a given argument w, the execution of the procedure on w will necessarily terminate in a finite number of steps returning f (w).Otherwise,if f is not defined for w then the execution of the procedure on w either does not terminate or it does but no meaningful result will be returned. So function f can be computable even when it is partial (possibly not defined everywhere). For the moment, by a procedure we mean a program composed of a finite sequence of basic commands. An algorithm is a procedure whose execution always terminates in a finite number of steps, for the relevant input data. For instance, there is an algorithm for determining whether or not a natural number is even based on the known fact that a natural number x is even if and only if the remainder of the division of x by 2 is zero. On the other hand, consider the function f = (x → x/2) over the natural numbers. This function is defined whenever x is an even number and undefined otherwise. Thus, f is a partial function and is computable since there is a procedure such that its execution over an even number x returns x/2 and its execution elsewhere does not terminate. For defining computable functions, we need to adopt a computational formal- ism for describing procedures and algorithms. We adopt the Church-Turing Thesis (see [2, 3]) stating that any computational formalism should be equivalent to Tur- ing’s computational model. However, some of them are more flexible than the others taking into account the functions we want to consider and the results we want to obtain. In the examples above, we are in the setting of natural numbers. This means that we concentrate on functions from Nn to Nm where n ∈ N and m ∈ N+.Inthis setting, Turing and Kleene models of computation are commonly used. Showing that a function is computable using Turing machines, see [4], consists of finding a Turing machine that computes the function. On the other hand, proving that a function is computable using Kleene recursive functions, see [5], means that we must prove that
© Springer Nature Switzerland AG 2020 161 J. Rasga and C. Sernadas, Decidability of Logical Theories and Their Combination, Studies in Universal Logic, https://doi.org/10.1007/978-3-030-56554-1 162 Appendix A: Basics of Computability the function is recursive which consists of writing a program where the construction of the function is reflected. However, in many cases, we want to work outside the natural number setting (although everything we do could be done in this setting). For instance, we can be interested in reasoning about formulas and theorems in a logic from a decidable point of view. In this case, we have two possibilities: either we convert formulas and theorems to the setting of natural numbers via a Gödelization (see [1]) or we can define the concept of computable function in the appropriate setting by adopting a more flexible computational formalism. In both cases, we must identify the alphabet at hand and define the set of formulas as a subset of the set of all finite sequences that we can write with the alphabet. In this book, we use an abstract high-level programming language for writing procedures and algorithms following closely mathematical notations (see [1]). We omit non-essential details and simplify the presentation so that the book can be read by anyone with a very shallow contact with programming. For showing that a function is computable, no matter the setting, we must find a procedure that computes the function.
A.1 Preliminaries
GivenasetS and s1,...,sn ∈ S, we denote by |s1 ... sn| the length n of the sequence s1 ... sn over S. Moreover, we denote by ε the empty sequence, that is, the sequence with length 0. Finally, we denote by S∗ the set of all finite sequences over S also called the universe over S. We assume fixed a finite non-empty alphabet
A containing capital and small letters, digits, punctuation marks, whitespace characters and logical, numerical and comparison symbols. We denote by
W the universe A∗. Example A.1 For instance, the sequences
function(x)(return 1) and functionwhile are in W. In order to improve readability, letters in A may be presented in sans-serif font. Appendix A: Basics of Computability 163
Definition A.2 A working universe is an infinite subset of W.
Example A.3 For instance, N, Z, Q, {1}∗, {0, 1}∗ are working universes.
Definition A.4 Let W be a working universe and n ∈ N+.AsetC ⊆ W n is called a set of type n over W,orsimplyaset over W.
Definition A.5 Let W1 and W2 be working universes, C1 and C2 sets over W1 and W2, respectively, and f a function from C1 to C2.Thedomain of f is the set
dom f ={w ∈ C1 : f (w)↓ and f (w) ∈ C2} where the notation f (w)↓ indicates that f is defined for w.Therange of f is
range f = f (dom f ).
Moreover, we say that C1 and C2 are the source and the target sets of f , respectively.
Note A.6 We use the notation f : C1 C2 to indicate that f is a function from C1 to C2 (the domain may be a proper subset of C1). We say that f is a map or a total function, written as
f : C1 → C2 whenever dom f = C1.
Example A.7 Consider the function x f = x → : N N. 2 Then dom f is the set of all even natural numbers and range f = N
Definition A.8 Let W be a working universe and C ⊆ W n. Then, the function w ∈ 1if C n χC:W = w → : W → N 0 otherwise is called the characteristic map of C over W. When W is W we write χC and say that it is the characteristic map of C.
Definition A.9 An enumeration of a set C ⊆ W n is a map h : N → W n such that range h = C. 164 Appendix A: Basics of Computability
A.2 Computational Model
Many approaches have been proposed to define formally the notion of computable function, namely, among others: Turing machines [4, 6–8], Kleene’s μ-recursive functions [5, 9], Church’s λ-definable functions [5, 10–12], Post’s canonical sys- tems [13–17], Shepherdson-Sturgis register machines [13, 18], Aanderaa-Cohen modular machines [19] and Diophantine sets [20–22]. The equivalence of the first three definitions in the list above inspired Stephen Kleene (in [3]) to state the fol- lowing postulate, which has become known as the Church-Turing Thesis:
Any function that can be accepted as computable is formally computable by some Turing machine.
The discussion of the thesis in Kleene’s book [23] is highly recommended (see also [24]). For a recent survey see [25]. Since then, it has been shown that these and other formal notions of computability are all equivalent. In other words, any reasonable formalization of the notion of computability identifies only Turing com- putable functions. Notice that the Church-Turing thesis is not provable. Only on a case-by-case basis can it be shown that a particular formalization of computability identifies as computable precisely the Turing computable functions. We adopt as model of computation an abstract high-level programming language over the alphabet A.Aprogram also called a procedure is an element in W of the form function (args)(body) where args is a finite list of variables and body is a non-empty finite sequence of commands (separated by ;). We use five main commands: return statement, assignment, loop, alternative and null statement. The return statement command
,..., return exp1 expn when executed interrupts the execution of the function and returns the values of ,..., expressions exp1 expn.
Example A.10 Consider the following program Padd: function (x, y)(return 2x + 3y)
The execution of Padd on (k1, k2) terminates returning the value 2k1 + 3k2. Example A.11 Consider the following program P:
function (w1,w2)(return w1 · “+“ · w2) where the operation · when receiving two strings returns the concatenation of the strings. The execution of P on strings s1 and s2 returns the string composed of the symbols in s1 followed by the symbol + followed by the symbols in s2. Appendix A: Basics of Computability 165
The assignment command
,..., = ,..., var1 varn exp1 expn
,..., when executed assigns simultaneously the values of the expressions exp1 expn to the variables var1,...,varn, respectively. Example A.12 Consider the following program P: function (n)( f = function (x, y)(return 2x + 3y); return n + f (n, n + 1) ) The execution of P on a natural number n returns 6n + 3. An alternative program doing the same thing as P is as follows:
function (n)(return n + Padd(n, n + 1)) where Padd is defined in Example A.10. The loop command while cond do (body) when executed repeatedly executes the commands in the body while the Boolean expression cond is true. To simplify the presentation, we may omit the parentheses when the body has just one command.
Example A.13 Consider the following program Pfact: function (n)( k = 1; r = 1; while k ≤ n do ( r = r × k; k = k + 1 ); return r ) The execution of P on a natural number n returns n!. An alternative solution could be achieved by defining a recursive function:
Pfactr = function (n)(if n == 0 then return 1 else return n × Pfactr(n − 1))
The null statement Null when executed does nothing. 166 Appendix A: Basics of Computability
Example A.14 Consider the following program: function (n)(while true do Null) The execution of this program does not terminate since the condition of the loop is always true.
The alternative command
( ) ( ) if cond then body1 else body2 when executed executes the commands in body1 when the Boolean expression cond is true and executes the commands in body2 otherwise. To simplify the presentation, we may omit the parentheses when body2 has just one command. A more simplified version of the alternative command is
if cond then (body) used if no action is to be taken when cond is false. To simplify the presentation, we may omit the parentheses when there is no ambiguity and body has just one command.
Example A.15 Consider the following program P: function (w) ( if w == then return ; if w[1] % 2 == 0 then return w[1]/2 ; return (w[1]−1)/2 ) where the operation % when applied to natural numbers m and n returns the remainder of the integer division of m by n and == is the equality verification operator. The execution of P on a list w returns the empty list if w is empty and returns the list with the unique element w[1] divided by 2 when w[1] is even and with w[1]−1 divided by 2 otherwise.
In what follows we identify an expression with its evaluation. For instance, 2 + 3 is identified with 5. Furthermore, when P is the program function (k)(return k + 1) then P(3) is identified with 4. Observe that, for instance, if no expression is assigned to not then the evaluation of not(α) is not(α). We assume that the abstract high-level programming language contains the usual predefined programs for numerical, logical, string and list manipulation. In this book we use the following predefined programs:
• isnat, that when executed on e, returns true when e is a natural number and returns false otherwise; Appendix A: Basics of Computability 167
• islist, that when executed on e, returns true when e is a list and returns false otherwise; • issyn, that when executed on e, returns true when e is syntactically correct and returns false otherwise; • append, that when executed on a list w and an expression e, returns the list with the elements of w followed by e; • length, that when executed on a list w, returns the number of elements of w. Example A.16 We now provide programs implementing some useful list opera- tions. The program Pcount function (w, e)( i = 1; r = 0; while i ≤ length(w) do ( if w[i]==e then r = r + 1; i = i + 1 ); return r ) when executed on a list w and an expression e returns the number of occurrences of e in w. The program Pset function (w) ( i = 1; r = ; while i ≤ length(w) do ( if Pcount(r,w[i]) == 0 then r = append(r,w[i]); i = i + 1 ); return r ) when executed on a list w returns the list with the elements of w without repetitions. Finally, the program Pconc
function (w1,w2)( i = 1; r = w1; while i ≤ length(w2) do ( r = append(r,w2[i]); i = i + 1 ); return r ) that when executed on two lists w1 and w2 returns the concatenation of w1 and w2. 168 Appendix A: Basics of Computability
A.3 Computable Functions, Decidability and Listability
We are ready to introduce the important concept of computable function. , ∈ N ⊆ m Definition A.17 Let W1 and W2 be working universes, m n and C1 W1 and ⊆ n : C2 W2 . A function f C1 C2 is said to be computable if there is a procedure P written as in the programming language that given an element (w1,...,wm ) in C1
• if (w1,...,wm ) ∈ dom f and f (w1,...,wm ) = (v1,...,vn) then the execution of P on w1,...,wm terminates in a finite number of steps returning v1,...,vn as the result; • if (w1,...,wm )/∈ dom f then the execution of P on w1,...,wm : – either does not terminate; – or terminates in a finite number of steps with a result not in C2. In this case, we say that function f is computed by P. We may also say that P computes f or P is a program for f . Definition A.18 A procedure P that computes a map f is said to be an algorithm for f . Example A.19 Let E be the set of even natural numbers. Consider the characteristic map χE:N (recall Definition A.8). The program P
function (x)(if x % 2 == 0 then return 1 else return 0) computes χE:N as we show now. Let n ∈ N. (1) Assume that n is an even number. Hence, when executing P on n, the condition of the if is true and so P returns 1 which is χE:N(n). (2) Assume that n is an odd number. Hence, when executing P on n, the condition of the if is false and so P returns 0 which is χE:N(n). Thus χE:N is a computable map. Intuitively, a set C ⊆ W n is decidable if, given w ∈ W n, it is possible to decide, in a finite amount of time, whether w belongs to C or to its complement. Definition A.20 Let W be a working universe. A set C is said to be decidable on W if it is a set over W and its characteristic map χC:W is computable. That is, there is an algorithm that when executed on w ∈ W n terminates either returning 1 (positive answer), in which case w ∈ C, or returning 0 (negative answer), in which case w ∈ W n \ C. We say that C is decidable when W is W. Exercise A.21 Show that W and N are decidable sets. Intuitively speaking, a set C is listable if, given w ∈ C, it is possible to ascertain this fact in a finite amount of time. Appendix A: Basics of Computability 169
Definition A.22 Let W be a working universe. A set is said to be listable (or recur- sively enumerable or semidecidable)onW if it is a set over W and either it is empty or it allows a computable enumeration over W. When W is W, we say that the set is listable. Indeed, to this end, an algorithm for computing an enumeration h of C =∅can be used as follows. Check if h(i) = w for consecutive values of i starting from 0. If w ∈ C then, after a finite number of attempts, a k will be found such that h(k) = w. Clearly, this search will not terminate if w/∈ C. Exercise A.23 Let W be a listable set. Then, every decidable set on W is also listable on W.
A.4 Problem Reduction
In this section, we concentrate our attention on decision problems. Moreover, we also analyze transference of (positive and negative) decidability and semidecidability results between decision problems. Definition A.24 A(decision) problem is a triple (W, n, C) where W is a working universe, n ∈ N+ and C of is a set of type n over W. Note A.25 Traditionally, a decision problem (W, n, C) is presented in the form of a question: Given w ∈ W n, does w ∈ C?
Definition A.26 The decision problem (W, n, C) is said to be decidable if C is decidable on W. Moreover, the problem is said to be semidecidable if C is listable on W. Sometimes we can take advantage of knowing that a decision problem is decidable in order to conclude that another decision problem is also decidable, similarly for undecidability and semidecidability.
Definition A.27 Problem (W1, n1, C1) is reducible to problem (W2, n2, C2) if there : n1 → n2 is a computable map s W1 W2 such that
w ∈ C1 iff s(w) ∈ C2
w ∈ n1 for every W1 .
Proposition A.28 Assume that problem (W1, n1, C1) is reducible to problem (W2, , ) : n1 → n2 n2 C2 via s W1 W2 and that W2 is decidable. Then,
• If (W2, n2, C2) is decidable then (W1, n1, C1) is decidable; • If (W2, n2, C2) is semidecidable then (W1, n1, C1) is semidecidable. References
1. A. Sernadas, C. Sernadas, J. Rasga, J. Ramos, A Mathematical Primer on Computability (Col- lege Publications, 2018) 2. R.L. Epstein, W.A. Carnielli, Computability: Computable Functions, 2nd edn. (Logic and the Foundations of Mathematics. Wadsworth, 2000) 3. S.C. Kleene, Recursive predicates and quantifiers. Trans. Am. Math. Soc. 53, 41–73 (1943) 4. A. Turing, On computable numbers, with an application to the Entscheidungsproblem. Proc. Lond. Math. Soc. 2(42), 230–265 (1936) 5. S.C. Kleene, General recursive functions of natural numbers. Math. Ann. 112(1), 727–742 (1936) 6. D.S. Bridges, Computability, vol. 146. Graduate Texts in Mathematics (Springer, 1994) 7. R. Herken (ed.), The Universal Turing Machine: A Half-Century Survey (Oxford University Press, Oxford, 1988) 8. A. Turing, Pure Mathematics (North-Holland, 1992) 9. H. Hermes, Enumerability Computability, Decidability: An Introduction to the Theory of Recur- sive Functions (Springer, Berlin, 1965) 10. H.P. Barendregt, The Lambda Calculus: Its Syntax and Semantics. Studies in Logic and the Foundations of Mathematics (North-Holland, 1984) 11. A. Church, An unsolvable problem of elementary number theory. Am. J. Math. 58(2), 345–363 (1936) 12. A. Church, The Calculi of Lambda-Conversion, Annals of Mathematics Studies (Princeton University Press, 1941) 13. N.J. Cutland, Computability: An Introduction to Recursive Function Theory (Cambridge Uni- versity Press, Cambridge, 1980) 14. M. Davis, Computability and Unsolvability (Dover, 1958) 15. M.L. Minsky, Computation: Finite and Infinite Machines (Prentice-Hall, 1967) 16. E.L. Post, Finite combinatory processes-formulation 1. J. Symb. Log. 1(3), 103–105 (1936) 17. E.L. Post, Formal reductions of the general combinatorial decision problem. Am. J. Math. 65, 197–215 (1943) 18. J.C. Shepherdson, H.E. Sturgis, Computability of recursive functions. J. Assoc. Comput. Mach. 10, 217–255 (1963) 19. S. Aanderaa, D.E. Cohen, Modular machines, the word problem for finitely presented groups and Collins’ theorem, in Word Problems, II, vol. 95. Studies in Logic and the Foundations of Mathematics (North-Holland, 1980), pp. 1–16
© Springer Nature Switzerland AG 2020 171 J. Rasga and C. Sernadas, Decidability of Logical Theories and Their Combination, Studies in Universal Logic, https://doi.org/10.1007/978-3-030-56554-1 172 References
20. J.P. Jones, Y.V.Matijaseviˇc, Register machine proof of the theorem on exponential Diophantine representation of enumerable sets. J. Symb. Log. 49(3), 818–829 (1984) 21. Y.V. Matijaseviˇc, Enumerable sets are Diophantine. Doklady Akademii Nauk SSSR 191, 279– 282 (1970) 22. J. Robinson, The Collected Works (American Mathematical Society, 1996) 23. S.C. Kleene, Mathematical Logic (Wiley, 1967) 24. A. Syropoulos, Hypercomputation: Computing Beyond the Church-Turing Barrier (Springer, 2008) 25. A. Olszewski, J. Wolenski, R. Janusz (eds.), Church’s Thesis After 70 Years, vol. 1. Ontos Mathematical Logic (Ontos, 2007) 26. K. Gödel, Collected Works: Vol. I (Oxford University Press, 1986). Publications 1929–1936 27. K. Gödel, Collected Works. Vol. II (Oxford University Press, Oxford, 1990). Publications 1938–1974 List of Symbols
∗ · , 162 AxEG, 78 , 163 AxPRA, 115 D[ → ], 45 AxRCOF, 33 |D|, 39 AxS, 32 [·]x t , 9 A , 6 , 10 (Ax), 37 ⊥, 4 B , 6 =∼, 2 Cut, 37 ≡V , 145 cL , 8 ∃ϕ, 8 cQ , 6 ∃=n, 10 cr(D), 60 ≥ ∃ n, 10 D(I ), 28 ≤ ∃ n, 10 Dq (I ), 29 ∃1, 6 dom, 163 ∀ϕ, 8 Eω(I ), 134 ∀2, 6 ε, 162 ⊕, 147 F, 2 ≡, 20 Fn, 2 ≡e, 27 fv , 7, 50 , 25 G + Cut, 37 ⊆, 24 G, 36 , 15 I , 51 , 13, 14 IZ, 12 Iρ [[ · ]] , 13 IN, 11 ≡x , 12 IQ, 11 G + Cut , 38 I | , 28 G ¯ , 37, 47 I , 28 ↓, 163 islist, 167 A, 162 isnat, 166 (β) aliens j , 150 issyn, 167 append, 167 I G , 25 ar(V, ∼), 148 (L∧), 40 AxACF, 84 (L∨), 41 AxDAG, 127 (L∃), 41 AxDLO, 97 (L⊃), 37
© Springer Nature Switzerland AG 2020 173 J. Rasga and C. Sernadas, Decidability of Logical Theories and Their Combination, Studies in Universal Logic, https://doi.org/10.1007/978-3-030-56554-1 174 List of Symbols
(L⊥), 37 N, 2 (L ¬), 40 PRA, 114 (L∀), 37 RCOF, 2 L , 4 S, 2 0 length, 167 S, 144 Mod(), 15 T , 3 Mod(), 124 T (Y ), 50 Mod(∀), 124 Th(I ), 31 ∀ P, 2 , 109 ηe Pn, 2 , 150 Q , 6 τ, 1 qe, 77 ACF, 84 (R∧), 40 ACF0 , 108 (R∨), 41 ACF p , 109 (R∃), 41 DAG, 127 (R⊃), 37 DLO, 97 (R ¬), 40 EG, 78 (R∀), 37 PRA, 115 range, 163 RCOF, 32 → , 36 S, 32 0 SAT , 144 S, 144 ϕ=∼ SAT, 144 S , 39 ϕ=∼ I , 27 T , 39 , 50 var , 7
, 1 WL , 5 DAG, 127 W, 162
DLO, 97 WT , 3 EG, 78 X, 3 f, 2 χ·:·, 163 Subject Index
A natural transformation, 125 Algebraically closed fields object, 124 axioms, 84 proto adjunction, 126 signature of fields, 2 proto left adjoint, 125 theory, 84 Combination of theories, 147 Algebraically closed fields with characteris- arrangement, 148 tic 0 complexity of literal, 152 axioms, 108 complexity of set, 152 theory, 108 complexity of term, 152 Algebraically closed fields with characteris- mixed literal, 150 tic p separation map, 150 axioms, 109 j -alien, 150 theory, 109 j -atomic formula, 149 Assignment, 12 j -literal, 150 equivalence modulo a variable, 12 j -term, 149 Axioms Computability algebraically closed fields, 84 algorithm, 168 algebraically closed fields with charac- Church-Turing Thesis, 164 teristic 0, 108 computable function, 168 algebraically closed fields with charac- decidable problem, 169 teristic p, 109 decidable set, 168 dense linear orders, 97 decision problem, 169 divisible torsion-free Abelian groups, enumeration, 163 127 listable set, 169 Euclidean geometry, 78 procedure, 164 natural numbers on successor, 32 program, 164 Presburger arithmetic, 115 recursively enumerable set, 169 real closed ordered fields, 33 reducibility of problems, 169 semidecidable problem, 169 semidecidable set, 169 C set of type n over W, 163 Category, 124 universe, 162 functor, 125 working universe, 163 functor J, 125 Computable function, 168 morphism, 124 Craig interpolation
© Springer Nature Switzerland AG 2020 175 J. Rasga and C. Sernadas, Decidability of Logical Theories and Their Combination, Studies in Universal Logic, https://doi.org/10.1007/978-3-030-56554-1 176 Subject Index
interpolant of deductive consequence, 72 universal closure, 8 interpolant of implicational formula, 71 valid, 18 interpolant of partition, 64 Function Cut elimination computable, 168 cutrank of derivation, 60 domain, 163 depth of formula, 59 enumeration, 163 Gentzen’s Hauptsatz, 64 map, 163 level of cut application, 59 range, 163 rank of cut application, 60 source, 163 target, 163 total, 163 D Decidable set, 168 Dense linear orders G axioms, 97 Gentzen calculus, 36 signature, 97 axiom rule, 37 theory, 97 branch, 54 Diagram, 28 branch depth, 54 quantifier-free, 29 contraction, 43 Divisible torsion-free Abelian groups cut formula, 37 axioms, 127 cut rule, 37 signature, 127 derivation, 38 theory, 127 derivation of formula, 47 exhausted branch, 55 expansion, 54 E fresh variable, 37 Embedding, 19 generalized axiom rule, 45 ∃-elementary, 113 Inversion Lemma, 42 homomorphism, 19 left bottom rule, 37 Entailment left conjunction rule, 40 operator, 16 left disjunction rule, 41 relation, 15 left existential quantification rule, 41 Euclidean geometry left implication rule, 37 axioms, 78 left negation rule, 40 signature, 78 left universal quantification rule, 37 theory, 78 Metatheorem of Deduction, 47 Metatheorem of Substitution of Bound Variable, 46 F open branch, 55 Fields Restricted Completeness Theorem for signature, 2 Formulas, 58 Formula, 4 right conjunction rule, 40 atomic, 6 right disjunction rule, 41 closed, 8 right implication rule, 37 contextually satisfiable, 13 right negation rule, 40 contextual satisfaction, 13 right universal quantification rule, 37 disjunctive normal form, 6 sequent, 36 existential closure, 8 sound, 50 literal, 6 sound rule, 49 quantifier-free, 6 Soundness Theorem for Formulas, 50 satisfaction, 14 Soundness Theorem for Sequents, 50 satisfiable, 14 theorem, 37 sentence, 8 Weak Completeness Theorem for universal, 8 Sequents, 58 Subject Index 177
weakening, 45 finite, 15 initial, 85 Multiset, 35 I equality, 36 Incrementing contextual satisfaction map, partition, 65 134 relative complement, 36 Interpretation structure, 11 submultiset, 36 contextually isomorphic with respect to union, 36 a set of variables, 145 denotation, 11 diagram, 28 N domain, 11 Natural numbers elementary equivalence, 27 signature, 2 elementary map, 24 Natural numbers on successor elementary substructure, 25 axioms, 32 embedding, 19 signature, 2 finite, 11 theory, 32 generated by, 25 homomorphism, 19 image by embedding, 20 P isomorphism, 20 Presburger arithmetic quantifier-free diagram, 29 axioms, 115 reduct, 28 signature, 114 substructure, 24 theory, 115 universe, 11
L Q Language, 4 Quantifier elimination, 75 working universe, 5 computable, 77 Lemma Quasi-algebraically prime map, 133 Admissibility of Contraction, 43 Admissibility of Weakening, 44 Gentzen calculus Inversion, 42 R of Absent Variables, 17 Real closed ordered fields of Legitimate Substitution of Bound axioms, 33 Variables, 18 signature, 2 of Substitution, 18 theory, 33 of the Closed Formula, 17 Recursively enumerable set, 169 Listable set, 169 Rule axiom, 37 cut, 37 M left bottom, 37 Map left conjunction, 40 characteristic, 163 left disjunction, 41 computable, 168 left existential quantification, 41 incrementing contextual satisfaction, left implication, 37 134 left negation, 40 quasi-algebraically prime, 133 left universal quantification, 37 separation, 150 right conjunction, 40 Metatheorem right implication, 37 of Deduction, 47 right existential quantification, 41 of Substitution of Bound Variable, 46 right negation, 40 Model, 15 right universal quantification, 37 178 Subject Index
S Theorem Semantic consequence Compactness, 87 operator, 16 Craig Interpolation for Deductive Con- relation, 15 sequence, 72 Sequence Craig interpolation for Implicational For- empty, 162 mulas, 71 length, 162 Cut Elimination, 64 Sequent, 36 Ło´s-Vaught, 96 contextually satisfaction, 48 of Cardinality, 18 satisfaction, 48, 49 Restricted Completeness of Gentzen validity, 48 Calculus for Formulas, 58 Set of formulas Soundness of Gentzen Calculus for For- categorical, 96 mulas, 50 complete, 82 Soundness of Gentzen Calculus for consistent, 16 Sequents, 50 contextually satisfiable, 14 Weak Completeness of Gentzen Calcu- contextual satisfiable with respect to the- lus for Sequents, 58 ory, 143 Theory, 31 extension, 87 algebraically closed fields, 84 finitely satisfiable, 87 algebraically closed fields with charac- Hintikka, 50 teristic 0, 108 satisfiable, 15 algebraically closed fields with charac- sober, 102 teristic p, 109 with equality, 16 axiomatizable, 32 witness property, 88 axiomatization, 32 Signature, 1 categorical, 96 algebraically closed fields, 2 combination, 147 arity map, 2 computable quantifier elimination, 77 constant symbol, 2 contextual satisfiability, 143 decidable, 3 dense linear orders, 97 dense linear orders, 97 divisible torsion-free Abelian groups, =∼ disjoint modulo , 146 127 divisible torsion-free Abelian groups, Euclidean geometry, 78 127 extension in one step map, 133 enrichment by interpretation structure, improper, 31 27 incrementing contextual satisfaction Euclidean geometry, 78 map, 134 fields, 2 initial model, 85 function symbol, 2 model complete, 85 induced by a set of formulas, 50 natural numbers on successor, 32 natural numbers, 2 Presburger arithmetic, 115 natural numbers on successor, 2 quantifier elimination, 75 predicate symbol, 2 quasi-algebraically prime map, 133 Presburger arithmetic, 114 real closed ordered fields, 32 real closed ordered fields, 2 stably infinite, 144 with equality, 2 with algebraically prime models, 113
T Term, 3 V denotation, 13 Variables working universe, 3 fixed set of, 3