# Valid formulas, games and network protocols

Save this PDF as:

Size: px
Start display at page:

## Transcription

1 Valid formulas, games and network protocols Jean-Louis Krivine & Yves Legrandgérard Paris VII University, CNRS November 14, 2007 Introduction We describe a remarkable relation between a fundamental notion of mathematical logic that is valid formula of predicate calculus and the specification of network protocols We explain here in detail several simple examples : the acknowledgement of one or two packets, and then of an arbitrary number We show that, using this method, it is possible to specify the composition of protocols We tried to write a self-contained paper, as far as possible, in what concerns the basic notions of the calculus of predicates In particular, the notion of valid formula is defined with the help of the tools introduced in the present paper (specifically, the game associated with the formula) The equivalence with the usual definition of this notion in logic is explained in the appendix, but is never used in the paper Logical framework The language we use is described below It is the well known predicate calculus, fundamental in mathematical logic ; important restriction : the only allowed logical symbols are,,, respectively read as implies, false, for all In fact, every other logical symbol can be defined with them (see below) This restriction is therefore only syntactic, but not semantic We suppose given an infinite set of variables : {x, y, }, an infinite set of constants : C = {a, b, } and some predicate symbols P, Q, R, ; each of them has an arity which is an integer 0 Atomic formulas are of the form (read false) or P t 1 t k (denoted also as P (t 1,, t k )) where P is a predicate symbol of arity k and t 1,, t k are variables or constants Formulas of the predicate calculus are built with the following rules : An atomic formula is a formula If F and G are formulas, then F G is a formula (read F implies G ) If F is a formula and x is a variable, then x F is a formula (read for all x, F ) Remark Propositional calculus is contained in predicate calculus : it has the only logical symbols and, and only predicate symbols of arity 0, usually called propositional variables 1

2 We shall systematically use the notation A, B C for A (B C) and, more generally A 1, A 2, A n B for A 1 (A 2 ( (A n B) )) Usual connectives,,, of propositional calculus are considered as abbreviations, and defined as follows : F is F ; F G is (F, G ) ; F G is F, G ; F G is (F G) (G F ) that is ((F G), (G F ) ) Remark The connective XOR, usual in computer science and often denoted as F ^G, can be defined as F G This abbreviation is not used in the formulas of predicate calculus The existential quantifier (read there exists ) is also considered as an abbreviation : x F is defined as x F that is x(f ) The notation x will denote a finite sequence of variables x 1,, x n Therefore, we shall write x for x 1 x n and the same with In a formula such as x A, the subformula A is called the scope of the quantifier x An occurrence of a variable x in a formula F is called bounded if it is in the scope of a quantifier x ; otherwise, this occurrence is called free Given a bounded occurrence of x, the quantifier which bounds it, is by definition, the nearest quantifier x which has this occurrence in its scope For instance, in the formula x[ x(rx Ry) y(ry Rx)] there are a bound and a free occurrence of the variable y and two bounded occurrences of the variable x These two occurrences of x are not bounded by the same quantifier A variable x is called free in the formula F if there is at least one free occurrence of x The formula F is called closed if it contains no free variable The notation F [x 1,, x n ] (or F [ x]) will mean that the free variables of the formula F are amongst x 1,, x n Then, the formula x 1 x n F [x 1,, x n ] (or x F [ x]) is closed In any formula F, we can rename the bounded variables in an arbitrary way, provided that no capture of variable occurs This means that no free occurrence becomes bound ; and that any bound occurrence must remain bounded by the same quantifier Any formula G, obtained from F in this way is considered as identical with F For instance, z[ y(rx Ry) Rz] is identified with y[ y(rx Ry) Ry] For any formula F [x 1,, x k ] F [ x] and constants a 1,, a k, we denote by F [a 1,, a k ] F [ a] the closed formula we obtain by replacing each free occurrence of x i with a i (1 i k) Remark Any atomic closed formula has the form P a 1 a k, where P is a predicate symbol of arity k and a 1,, a k are constants In the interpretation in terms of network protocols which is given below, such a formula represents a packet, the predicate symbol P represents the datas and a 1,, a k represent the header fields of the packet When k = 0, ie when P is a propositional variable, P represents a pure data packet Normal form of a formula A formula is said to be in normal form or normal, if it can be obtained by means of the following rules : an atomic formula A is normal ; 2

3 if Φ 1,, Φ n are normal, if A is atomic and if x = (x 1,, x k ) is a finite sequence of variables, then x(φ 1,, Φ n A) is a normal formula If n = 0, by definition, this formula is x A In the same way, if k = 0 this formula is Φ 1,, Φ n A For instance, if R is a unary predicate symbol, the formula x Rx x Rx is not a normal form ; but y( x Rx Ry) is a normal form With any formula F, we associate its normal form F, which is obtained as follows : if F is atomic, F F ; if F is x G, then F is x Ĝ ; if F is G H, we write Ĥ x(φ 1,, Φ n A) We first rename the (bounded) variables x so that they become not free in G (a good method is to use variables that do not appear in G) ; then, F is x[ĝ, Φ 1,, Φ n A] Remark Obviously, F and F have the same free variables In particular, if F is closed, then F is also closed Note that any formula of the propositional calculus is in normal form For instance, the normal form of the formula (Rx x Rx) x Rx is : z[ y(rx Ry) Rz] or y[ y(rx Ry) Ry] The game associated with a closed formula Given a closed formula F, we define a two players game ; the players will be called loise and belard or, more briefly, and (the same notation as the quantifiers, but no confusion is possible) loise is also called the player or the defender and belard is called the opponent Intuitively, the player defends the formula F, ie pretends this formula is true and the opponent attacks it, ie pretends it is false Beware : there is no symmetry between the players, as it will be seen by the rule of the game To make the intuitive idea more precise, we can say that pretends the formula F is always true and that pretends it is sometimes false Now, we assume that the closed formula F has been put in normal form Here is the rule of the game associated with this formula [jlk] : We have three finite sets of normal closed formulas, denoted by U, V, A, which change during the play The elements of the set A are closed atomic formulas The sets U and A increase during the play At the beginning of the play, we have U = {F }, V = {F } and A = { } (one-element sets) The first move is done by the opponent Consider now, during the play, a moment when the opponent must play If, at this moment, the set V is empty, the game stops and has lost Otherwise, he chooses a formula Φ x(ψ 1 [ x],, Ψ m [ x] A[ x]) which is in V and a sequence a of constants, of the same length as x Then he adds the formulas Ψ 1 [ a],, Ψ m [ a] to the set U and also the atomic formula A[ a] to the set A Then the defender must play She chooses, in the set U, a formula Ψ y(φ 1 [ y],, Φ n [ y] B[ y]) ; she chooses also a sequence b of constants, of the same length as y, in such a way that B[ b] A ; this is always possible, since she can, at least, choose F which is in U 3

4 Then, she replaces the content of the set V with {Φ 1 [ b],, Φ n [ b]} Then must play, and so on Remarks We observe that the opponent wins if, and only if, the play is infinite The play ends after a finite time if, and only if, V becomes empty (and then, the player wins) Just before, the player has chosen an atomic formula which is in U A The intuitive meaning of the rule of this game is as follows : at each moment, the defender pretends that one of the formulas of U is false and that every formula of V is true On the other hand, the opponent pretends that every formula of U is true and that one of the formulas of V is false Now, both agree on the fact that every formula of A is false In the examples below, we shall interpret a play of this game as a session of communication following a certain protocol In this interpretation, the opponent is the sender and the defender is the receiver The disymmetry of the game is well expressed by a celebrated sentence of Jon Postel (known as Postel s law [jp]) : Be conservative in what you send, be liberal in what you receive Examples 1) F P P We can describe an arbitrary play by the following table : U V A (P P ) P P has no choice (P P ), P unchanged, P chooses (P P ) unchanged unchanged unchanged has no choice unchanged unchanged unchanged chooses (P P ) unchanged unchanged unchanged chooses P unchanged unchanged wins The different possible plays depend only on the number n of times when chooses the formula (P P ) If n is infinite, loses 2) F P Q U V A (P Q) P Q has no choice (P Q), P unchanged, Q cannot choose P unchanged unchanged unchanged has no choice unchanged unchanged unchanged cannot choosep There is only one possible play and wins, since this play is infinite 3) The reader is invited to study by himself the following two examples : ((Q Q) P ) P ; ((P Q) P ) P (Peirce s law) 4) F x P x x P x The normal form of F est G y( x P x P y) 4

5 U V A G G chooses b 0 G, x P x unchanged, P b 0 chooses G unchanged unchanged unchanged chooses b 1 unchanged unchanged, P b 0, P b 1 chooses F unchanged unchanged, P b 0,, P b n chooses x P x and b i unchanged unchanged wins Like in example 1, the play only depends on the moment when the player chooses the formula x P x and one of the b i s already chosen by the opponent We can give the following interpretation, in terms of network : the player sends the data packet P with the headers b 0, then b 1, The acknowledgement by the receiver only happens at the n-th step, and it is the packet P b i that is acknowledged Then the play, that is to say the session, stops immediately From the network point of view, this means that the acknowledgement cannot be lost ; in other words, that the channel from the receiver to the sender is reliable In the following section, we treat a particularly important example : the acknowledgement of a packet in a channel which is not reliable The formula x(p x y P y) Let us call F the normal form of this formula, ie x( y(p x P y) ) For the sake of clarity, let us put G[x] y(p x P y) ; thus, we have F x G[x] The tables I and II below represent what happens during a play, in the (very particular) case when plays in such a way as to win as quickly as possible There are two possibilities, following what the opponent plays at line 3 : Table I U V A 1 F F chooses F 2 F, x G[x] unchanged unchanged chooses x G[x] and a 3 unchanged G[a] y(p a P y) unchanged chooses b, with b a 4 F, x G[x], P a unchanged, P b chooses x G[x] and b 5 unchanged G[b] y(p b P y) unchanged chooses c 6 F, x G[x], P a, P b unchanged, P b, P c chooses P b 7 unchanged unchanged wins Table II U V A 1 F F chooses F 2 F, x G[x] unchanged unchanged chooses x G[x] and a 3 unchanged G[a] y(p a P y) unchanged chooses a 4 F, x G[x], P a unchanged, P a chooses P a 5 unchanged unchanged wins But this is only a particular case The game we are considering presents, in fact, a great variety of possible plays We shall see that these various plays correspond exactly 5

6 to the various possibilities which may happen during the acknowledgement of a packet The play which is described in table I represents the case when the communication occurred in the best possible way We can interpret it as follows : the receiver begins the session by sending the header a (line 3) ; then the sender sends the packet P b (line 4) ; receives the packet P b and sends the acknowledgement (line 5) ; then correctly receives this acknowledgement and sends a signal P c to terminate the session (line 6) Several variants are possible : i) The player can, at each moment, choose the formula F This corresponds to a reinitialisation of the session ii) She can also choose the formula x G[x] with an arbitrary header a, which corresponds to no acknowledgement Then, the opponent must send the packet again This situation corresponds to the loss of the acknowledgement iii) In this case, the sender has the possibility of sending P a again, which gives to the receiver the possibility of finishing the session immediately by choosing precisely the formula P a (since it is now both in U and A) This corresponds to the case when the sender asks to finish the session This may happen at the very beginning : it is the case in the play which is described in table II (line 3 : chooses a) ; this corresponds to a refusal of opening the session ; then can only close the session, by choosing P a (again, it is what happens in table II) or to re-initialise it (by choosing F or x G[x]) iv) The player can terminate the play by choosing the formula P b, where b is any of the headers sent by This corresponds to a successfull communication session, perhaps after some loss of acknowledgements Any session is a combination of an arbitrary number of such variants Sending several packets We consider now the case of the acknowledgement of a fixed number n of packets, n being a previously given integer ; the order of the packets must be preserved The associated formula F n is defined by recurrence : F 1 x y(p 1 x P 1 y) ; F n+1 x y((f n P n+1 x) P n+1 y) ; F n is in normal form For the sake of simplicity, we consider only the case n = 2 We have the formula : F x y((f P x) P y) with F x y(qx Qy) We put G[x] y((f P x) P y), H[x] y(qx Qy) ; thus, we have F x G[x] and F x H[x] The table below describes once more what happens during a play where finishes in the quickest possible way For the sake of clarity, in the columns U and A, we shall put, at each line, only the new formulas 6

7 U V A 1 F F has no choice 2 x G[x] unchanged unchanged chooses x G[x] and a 3 unchanged G[a] y((f P a) P y) unchanged chooses b, with b a 4 F P a unchanged P b chooses x G[x] and b 5 unchanged G[b] y((f P b) P y) unchanged chooses c 6 F P b unchanged P c chooses P b 7 unchanged F unchanged has no choice acknowledgement of the first packet 8 x H[x] unchanged unchanged chooses x H[x] and d 9 unchanged H[d] y(qd Qy) unchanged chooses e, with e d 10 Qd unchanged Qe chooses x H[x] and e 11 unchanged H[e] y(qe Qy) unchanged chooses f 12 Qe unchanged Qf chooses Qe 13 unchanged unchanged wins acknowledgement of the second packet In this particular case, we essentially get twice the table I of the previous example Of course, we may get all the variants already described But new variants may appear : indeed, after the acknowledgement of the first packet (lines 8, 10 and 12), the player can, for instance, come back to line 4, that is to say ask again for the first packet Thus the receiver may lose a packet, even after having correctly acknowledged it It is interesting to notice that she has not to acknowledge it again Strategies and valid formulas Let us consider the game associated with a normal closed formula F A strategy for in this game is, by definition, a function S, which takes as an argument a finite sequence of triples (U i, V i, A i ) 0 i n (U i, V i are finite sets of normal closed formulas and A i is a finite set of atomic closed formulas) and gives as a result an ordered pair (Ψ, b) with Ψ U n, Ψ y(φ 1 [ y],, Φ k [ y] B[ y]), b has the same length as y and B[ b] A n Intuitively, a strategy S for loise is a general method which, each time she must play, chooses for her a possible play, given all the moves already played The strategy S is called a winning strategy if wins every play following this strategy, whatever be the choices of We could define in the same way the winning strategies for A normal closed formula F is called valid if there exists a winning strategy for, in the game associated with F Valid formulas are exactly those which correspond to network protocols Games associated with a conjunction or a disjunction Given two formulas F, G, the game which is associated with the formula F G, ie (F, G ) consists essentially in the following (this is easily checked) : The opponent chooses one of these two formulas and the game goes on, following the chosen formula ; however, the player can, at every moment, decide to start again the 7

8 play from the beginning With the formula F G, it is the player who chooses the formula Composition of protocols Let us consider two valid formulas F and G, which correspond respectively to the protocols (ie games) P F and P G ; we propose now to build a valid formula H such that the associated protocol P H is : P F followed by P G Let A = P (x 1,, x n ) (or ) be an atomic formula and F a normal formula An occurrence of A in F is simply one of the places, in F, where A appears Each occurrence of an atomic formula A in F appears at the end of a subformula of F, of the form x(ψ 1,, Ψ k A) ; k will be called the number of hypothesis of this occurrence of A Each occurrence of an atomic formula A in F is either positive or negative This property is defined in the following way, by recurrence on the length of F : If F is atomic, then F A and the occurrence of A in F is positive If F G H, the occurrence of A in F that we consider, is either in G, or in H If it is in H, its sign is the same in F as in H If it is in G, it has opposite signs in F and in G If F x G, the occurrence of A we consider, has the same sign in F and in G An atomic occurrence A in F, which is negative and without hypothesis, will be called a final atomic occurrence Indeed, it corresponds to the end of a play Now, we can build the formula H we are looking for : it is obtained by replacing, in F, each final atomic occurrence A with G A Remark It is easy to show that, if F and G are valid, then the formula H defined in this way is also valid (see the appendix) Example Take the formula F x[ y(p x P y) ] which corresponds to the sending and the acknowledgement of a packet Then, we get : H x[ y((g P x) P y) ] Indeed, there are, in F, two atomic negative occurrences, which are P x and the first occurrence of The only atomic occurrence without hypothesis is P x In particular, if we take G x[ y(qx Qy) ], we get the protocol which corresponds to the sending of two packets (see above) Formulas and protocols using integer variables We now consider formulas written with a new type of variables : the integer type ; to denote variables of this type, we shall use the letters i, j, k, l, m, n Thus, there are now two types of variables : the type integer and the type already defined, which we shall call the type acknowledgement ; for the variables of this type, we use as before the letters x, y, z Moreover, we have function symbols on the integer type (they denote functions from integers to integers), in particular the constant 0 and the successor s (which represents the function n n + 1) Each function symbol f has an arity k N and represents a 8

9 well determined function from N k to N which is also denoted by f We define the terms of integer type by the following rules : an integer variable or a function symbol of arity 0 (integer constant) is a term of integer type if f is a function symbol of arity k and t 1,, t k are terms of integer type, then f(t 1,, t k ) is a term of integer type We note that a term of integer type without variable (closed term) represents an integer Predicate symbols are also typed For example, P nx or P (n, x) (the first argument of P is of integer type, the second is of type acknowledgement) Definition of formulas Atomic formulas : P t 1 t k ; t i is a constant or a variable of type acknowledgement if the i-th place of P is of this type ; a term of type integer, if the i-th place of P is of integer type If F, G are formulas, F G is also a formula If F is a formula, x F and n F are also formulas If F is a formula and t, u are terms of integer type, then t = u F is also a formula Beware : the expression t = u alone is not a formula Normal forms They are defined as follows : An atomic formula is normal If F is normal, x F and n F are normal If A is atomic and Φ 1,, Φ k are normal formulas or expressions of the form t = u, then Φ 1,, Φ k A is a normal formula We put the formulas under normal form exactly as in the previous case Game associated with a closed formula under normal form We indicate here only the additions to the game rule which has been already given : i) when one of the players has chosen a formula ξ(φ 1,, Φ n A), ( ξ = (ξ 1,, ξ n ) where ξ i is a variable of type integer or acknowledgement) : first, he or she chooses some values a for ξ then, he or she computes the (boolean) expressions Φ j of the form t j = u j if all of them are true, we get rid of them and the play goes on as before with the (simpler) formula obtained in this way if any of them is false : if is playing, she must choose other values a or another formula (which is always possible, as we already saw) if the opponent is playing, then he has lost and the play stops ii) as in the previous game, when the player chooses, in the set U, a formula : Ψ y(φ 1 [ y],, Φ n [ y] B[ y]) and a sequence b of constants, of the same length as y, she have to check that B[ b] A, ie to check that two atomic closed formulas are identical These formulas may contain closed terms of type integer and these terms must be computed before comparing them ω-valid formulas A normal closed formula F will be called ω-valid if there exists a winning strategy for, 9

10 in the game associated with F The ω-valid formulas are exactly those which correspond to network protocols (as before, with valid formulas) Example First, send an integer n ; after that, acknowledgement of n packets The formula is : F j{ i[j = si x y((ui P ix) P iy)] Uj} n Un U is a predicate symbol with one argument of integer type ; P has two arguments, the first is of integer type, the second of type acknowledgement Put G j{ i[j = si x y((ui P ix) P iy)] Uj} and H[i, x] y((ui P ix) P iy) We put the formula F in normal form, so it is written as F n(g Un) The following table shows the particular session in which every packet is acknowledged in the quickest possible way U V A 1 F F chooses n 0 2 G unchanged Un 0 chooses G and n 0 3 unchanged i(n 0 =si xh[i, x]) unchanged can only choose n x H[n 0 1, x] unchanged unchanged chooses a 0 5 unchanged H[n 0 1, a 0 ] unchanged chooses b 0 a 0 6 U(n 0 1) P (n 0 1, a 0 ) unchanged P (n 0 1, b 0 ) chooses x H[n 0 1, x] and b 0 7 unchanged H[n 0 1, b 0 ] unchanged chooses b 1 a 0, b 0 8 U(n 0 1) P (n 0 1, b 0 ) unchanged P (n 0 1, b 1 ) chooses U(n 0 1) P (n 0 1, b 0 ) 9 unchanged U(n 0 1) unchanged can only choose U(n 0 1) acknowledgement of packet n unchanged unchanged U(n 0 1) chooses G and n 0 1 acknowledgement of packet 0 unchanged unchanged U 0 chooses G and 0 unchanged i(0=si xh[i, x]) unchanged has lost In order to avoid a supplementary complication, we did not ask that the integer n (the number of packets to transmit) which is sent by, be acknowledged But if we want this integer to be acknowledged, we must add a field acknowledgement to the predicate symbol U, which therefore becomes binary In this case, we write the following formula : F n x y (( G[x ] Unx ) Uny ) with G[x ] j{ i[j = si x y((uix P ix) P iy)] Ujx } The following table shows the beginning of a communication session and the acknowledgement of the integer n We put H[n, x ] y (( G[x ] Unx ) Uny ) 10

11 U V A 1 F F chooses n 0 2 x H[n 0, x ] unchanged unchanged chooses x H[n 0, x ] and x 0 4 G[x 0] Un 0 x 0 0] unchanged Un 0 y 0 3 unchanged H[n 0, x unchanged chooses y 0 chooses x H[n 0, x ] and y 0 5 unchanged H[n 0, y 0] unchanged 6 G[y 0] Un 0 y 0 unchanged Un 0 y 1 chooses y 1 chooses G[y 0] Un 0 y 0 7 unchanged G[y 0] unchanged has no choice 8 G[y 0] unchanged unchanged chooses G[y 0] and n 0 From now on, the play continues as in the previous example (with the formula G[y 0] instead of the formula G) Remark A somewhat simpler formula for the same protocol can be written as : n x y (G[x ] Uny ) with, as before : G[x ] j{ i[j = si x y((uix P ix) P iy)] Ujx } The reader will check this easily Appendix Valid formulas The usual definition of a valid formula of the predicate calculus uses the notion of model The interested reader will find it, for example in [rcdl] or [jrs] A formula is called valid if it is satisfied in every model A fundamental theorem of logic, known as the completeness theorem, says that a formula is valid if, and only if, it is provable by means of the deduction rules of pure logic This notion of validity is equivalent to that introduced in the present paper, which is given in terms of strategies (see a proof in [jlk]) It is often much easier to check the validity of a formula with the help of models For example, it is immediately seen in this way that the formula F x(p x y P y) is valid : indeed, either the model we consider satisfies y P y and therefore also F, either it satisfies x P x and thus again F Let us consider two valid formulas F and G, and let H be the formula defined above, such that the protocol P H associated with H is obtained by composing the protocols associated with F and G Then, it is easy to show that H is valid Indeed, we obtained the formula H by replacing, in F, some subformulas A with G A But A and G A are obviously equivalent, since G is valid Thus, we get finally a formula H which is equivalent to F, and therefore a valid formula Formulas with integers For the formulas with two types (integer and acknowledgement), the situation is a bit more complex The ω-valid formulas are the formulas which are satisfied in every ω-model, that is to say the models in which the integer type has its standard interpretation Again, in this case, it is often much easier to use this definition in order to check that a formula is ω-valid For instance, it is not difficult to show that the formula (that we have already used before) 11

12 F G n Un, with G j{ i[j = si x y((ui P ix) P iy)] Uj} is ω- valid Indeed, we assume G and we show Un by recurrence on the integer n Proof of U0 We put j = 0 in G ; since 0 = si is false, we get U0 Proof of Un U(n + 1) We put j = n + 1 in G Then, it suffices to show : i[n + 1 = si x y((ui P ix) P iy)] with Un as an hypothesis Since n + 1 = si is equivalent to i = n, we now need to show x y((un P nx) P ny), that is to say x y(p nx P ny) (because we assume Un) But this last formula is already shown With some simple changes, the same proof works for the formulas : n x y (( G[x ] Unx ) Uny ) and n x y (G[x ] Uny ) with G[x ] j{ i[j = si x y((uix P ix) P iy)] Ujx } Indeed, you only need to show the first one, since the second is trivially weaker Determination of games A game is called determined if one of the players has a winning strategy It is always the case for the games considered in this paper (Gale-Stewart theorem) Sketch of proof Suppose that has no winning strategy Then, the following strategy is winning for the opponent : to play, at each step, in such a way that the player has no winning strategy from this step Then the play lasts infinitely long, and wins References [rcdl] René Cori & Daniel Lascar Mathematical logic Oxford University Press (2001) [jlk] Jean-Louis Krivine Realizability : a machine for analysis and set theory Geocal06, Marseille (2006) More recent version at : [jp] Jon Postel RFC Transmission Control Protocol specification (1981) [jrs] Joseph R Schoenfield Mathematical logic Addison Wesley (1967) 12

### Semantics for the Predicate Calculus: Part I

Semantics for the Predicate Calculus: Part I (Version 0.3, revised 6:15pm, April 14, 2005. Please report typos to hhalvors@princeton.edu.) The study of formal logic is based on the fact that the validity

### Handout #1: Mathematical Reasoning

Math 101 Rumbos Spring 2010 1 Handout #1: Mathematical Reasoning 1 Propositional Logic A proposition is a mathematical statement that it is either true or false; that is, a statement whose certainty or

### Predicate Calculus. There are certain arguments that seem to be perfectly logical, yet they cannot be expressed by using propositional calculus.

Predicate Calculus (Alternative names: predicate logic, first order logic, elementary logic, restricted predicate calculus, restricted functional calculus, relational calculus, theory of quantification,

### (LMCS, p. 317) V.1. First Order Logic. This is the most powerful, most expressive logic that we will examine.

(LMCS, p. 317) V.1 First Order Logic This is the most powerful, most expressive logic that we will examine. Our version of first-order logic will use the following symbols: variables connectives (,,,,

### Predicate Logic Review

Predicate Logic Review UC Berkeley, Philosophy 142, Spring 2016 John MacFarlane 1 Grammar A term is an individual constant or a variable. An individual constant is a lowercase letter from the beginning

### 3. Mathematical Induction

3. MATHEMATICAL INDUCTION 83 3. Mathematical Induction 3.1. First Principle of Mathematical Induction. Let P (n) be a predicate with domain of discourse (over) the natural numbers N = {0, 1,,...}. If (1)

### Mathematical Induction

Mathematical Induction In logic, we often want to prove that every member of an infinite set has some feature. E.g., we would like to show: N 1 : is a number 1 : has the feature Φ ( x)(n 1 x! 1 x) How

### Induction. Margaret M. Fleck. 10 October These notes cover mathematical induction and recursive definition

Induction Margaret M. Fleck 10 October 011 These notes cover mathematical induction and recursive definition 1 Introduction to induction At the start of the term, we saw the following formula for computing

### Regular Languages and Finite Automata

Regular Languages and Finite Automata 1 Introduction Hing Leung Department of Computer Science New Mexico State University Sep 16, 2010 In 1943, McCulloch and Pitts [4] published a pioneering work on a

### Foundations of mathematics

Foundations of mathematics 1. First foundations of mathematics 1.1. Introduction to the foundations of mathematics Mathematics, theories and foundations Sylvain Poirier http://settheory.net/ Mathematics

### Chapter 3. Cartesian Products and Relations. 3.1 Cartesian Products

Chapter 3 Cartesian Products and Relations The material in this chapter is the first real encounter with abstraction. Relations are very general thing they are a special type of subset. After introducing

### CHAPTER 7 GENERAL PROOF SYSTEMS

CHAPTER 7 GENERAL PROOF SYSTEMS 1 Introduction Proof systems are built to prove statements. They can be thought as an inference machine with special statements, called provable statements, or sometimes

### Discrete Mathematics and Probability Theory Fall 2009 Satish Rao, David Tse Note 2

CS 70 Discrete Mathematics and Probability Theory Fall 2009 Satish Rao, David Tse Note 2 Proofs Intuitively, the concept of proof should already be familiar We all like to assert things, and few of us

### ON FUNCTIONAL SYMBOL-FREE LOGIC PROGRAMS

PROCEEDINGS OF THE YEREVAN STATE UNIVERSITY Physical and Mathematical Sciences 2012 1 p. 43 48 ON FUNCTIONAL SYMBOL-FREE LOGIC PROGRAMS I nf or m at i cs L. A. HAYKAZYAN * Chair of Programming and Information

### 2. Methods of Proof Types of Proofs. Suppose we wish to prove an implication p q. Here are some strategies we have available to try.

2. METHODS OF PROOF 69 2. Methods of Proof 2.1. Types of Proofs. Suppose we wish to prove an implication p q. Here are some strategies we have available to try. Trivial Proof: If we know q is true then

### Invalidity in Predicate Logic

Invalidity in Predicate Logic So far we ve got a method for establishing that a predicate logic argument is valid: do a derivation. But we ve got no method for establishing invalidity. In propositional

### This asserts two sets are equal iff they have the same elements, that is, a set is determined by its elements.

3. Axioms of Set theory Before presenting the axioms of set theory, we first make a few basic comments about the relevant first order logic. We will give a somewhat more detailed discussion later, but

### CHAPTER 2. Logic. 1. Logic Definitions. Notation: Variables are used to represent propositions. The most common variables used are p, q, and r.

CHAPTER 2 Logic 1. Logic Definitions 1.1. Propositions. Definition 1.1.1. A proposition is a declarative sentence that is either true (denoted either T or 1) or false (denoted either F or 0). Notation:

### NP-Completeness and Cook s Theorem

NP-Completeness and Cook s Theorem Lecture notes for COM3412 Logic and Computation 15th January 2002 1 NP decision problems The decision problem D L for a formal language L Σ is the computational task:

### Composing Schema Mappings: Second-Order Dependencies to the Rescue

Composing Schema Mappings: Second-Order Dependencies to the Rescue Ronald Fagin IBM Almaden Research Center fagin@almaden.ibm.com Phokion G. Kolaitis UC Santa Cruz kolaitis@cs.ucsc.edu Wang-Chiew Tan UC

### Discrete Mathematics and Probability Theory Fall 2009 Satish Rao,David Tse Note 11

CS 70 Discrete Mathematics and Probability Theory Fall 2009 Satish Rao,David Tse Note Conditional Probability A pharmaceutical company is marketing a new test for a certain medical condition. According

### Mathematical Induction

Mathematical Induction (Handout March 8, 01) The Principle of Mathematical Induction provides a means to prove infinitely many statements all at once The principle is logical rather than strictly mathematical,

### 4 Domain Relational Calculus

4 Domain Relational Calculus We now present two relational calculi that we will compare to RA. First, what is the difference between an algebra and a calculus? The usual story is that the algebra RA is

### An Innocent Investigation

An Innocent Investigation D. Joyce, Clark University January 2006 The beginning. Have you ever wondered why every number is either even or odd? I don t mean to ask if you ever wondered whether every number

### This chapter is all about cardinality of sets. At first this looks like a

CHAPTER Cardinality of Sets This chapter is all about cardinality of sets At first this looks like a very simple concept To find the cardinality of a set, just count its elements If A = { a, b, c, d },

### CHAPTER 3 Numbers and Numeral Systems

CHAPTER 3 Numbers and Numeral Systems Numbers play an important role in almost all areas of mathematics, not least in calculus. Virtually all calculus books contain a thorough description of the natural,

### Lecture 2: Query Containment

CS 838: Foundations of Data Management Spring 2016 Lecture 2: Query Containment Instructor: Paris Koutris 2016 In this lecture we will study when we can say that two conjunctive queries that are syntactically

### CS 3719 (Theory of Computation and Algorithms) Lecture 4

CS 3719 (Theory of Computation and Algorithms) Lecture 4 Antonina Kolokolova January 18, 2012 1 Undecidable languages 1.1 Church-Turing thesis Let s recap how it all started. In 1990, Hilbert stated a

### Mathematics for Computer Science

Mathematics for Computer Science Lecture 2: Functions and equinumerous sets Areces, Blackburn and Figueira TALARIS team INRIA Nancy Grand Est Contact: patrick.blackburn@loria.fr Course website: http://www.loria.fr/~blackbur/courses/math

### 3. Equivalence Relations. Discussion

3. EQUIVALENCE RELATIONS 33 3. Equivalence Relations 3.1. Definition of an Equivalence Relations. Definition 3.1.1. A relation R on a set A is an equivalence relation if and only if R is reflexive, symmetric,

### Some Notes on Taylor Polynomials and Taylor Series

Some Notes on Taylor Polynomials and Taylor Series Mark MacLean October 3, 27 UBC s courses MATH /8 and MATH introduce students to the ideas of Taylor polynomials and Taylor series in a fairly limited

### Mathematics for Computer Science/Software Engineering. Notes for the course MSM1F3 Dr. R. A. Wilson

Mathematics for Computer Science/Software Engineering Notes for the course MSM1F3 Dr. R. A. Wilson October 1996 Chapter 1 Logic Lecture no. 1. We introduce the concept of a proposition, which is a statement

### CHAPTER 3. Methods of Proofs. 1. Logical Arguments and Formal Proofs

CHAPTER 3 Methods of Proofs 1. Logical Arguments and Formal Proofs 1.1. Basic Terminology. An axiom is a statement that is given to be true. A rule of inference is a logical rule that is used to deduce

### SJÄLVSTÄNDIGA ARBETEN I MATEMATIK

SJÄLVSTÄNDIGA ARBETEN I MATEMATIK MATEMATISKA INSTITUTIONEN, STOCKHOLMS UNIVERSITET Automated Theorem Proving av Tom Everitt 2010 - No 8 MATEMATISKA INSTITUTIONEN, STOCKHOLMS UNIVERSITET, 106 91 STOCKHOLM

### Real Roots of Univariate Polynomials with Real Coefficients

Real Roots of Univariate Polynomials with Real Coefficients mostly written by Christina Hewitt March 22, 2012 1 Introduction Polynomial equations are used throughout mathematics. When solving polynomials

### A Beginner s Guide to Modern Set Theory

A Beginner s Guide to Modern Set Theory Martin Dowd Product of Hyperon Software PO Box 4161 Costa Mesa, CA 92628 www.hyperonsoft.com Copyright c 2010 by Martin Dowd 1. Introduction..... 1 2. Formal logic......

### 2. The Language of First-order Logic

2. The Language of First-order Logic KR & R Brachman & Levesque 2005 17 Declarative language Before building system before there can be learning, reasoning, planning, explanation... need to be able to

### We now explore a third method of proof: proof by contradiction.

CHAPTER 6 Proof by Contradiction We now explore a third method of proof: proof by contradiction. This method is not limited to proving just conditional statements it can be used to prove any kind of statement

### Proofs are short works of prose and need to be written in complete sentences, with mathematical symbols used where appropriate.

Advice for homework: Proofs are short works of prose and need to be written in complete sentences, with mathematical symbols used where appropriate. Even if a problem is a simple exercise that doesn t

### Predicate Logic. For example, consider the following argument:

Predicate Logic The analysis of compound statements covers key aspects of human reasoning but does not capture many important, and common, instances of reasoning that are also logically valid. For example,

### Introduction to Predicate Logic. Ling324 Reading: Meaning and Grammar, pg

Introduction to Predicate Logic Ling324 Reading: Meaning and Grammar, pg. 113-141 Usefulness of Predicate Logic for Natural Language Semantics While in propositional logic, we can only talk about sentences

### Sudoku puzzles and how to solve them

Sudoku puzzles and how to solve them Andries E. Brouwer 2006-05-31 1 Sudoku Figure 1: Two puzzles the second one is difficult A Sudoku puzzle (of classical type ) consists of a 9-by-9 matrix partitioned

### Linear Codes. Chapter 3. 3.1 Basics

Chapter 3 Linear Codes In order to define codes that we can encode and decode efficiently, we add more structure to the codespace. We shall be mainly interested in linear codes. A linear code of length

### NIM with Cash. Abstract. loses. This game has been well studied. For example, it is known that for NIM(1, 2, 3; n)

NIM with Cash William Gasarch Univ. of MD at College Park John Purtilo Univ. of MD at College Park Abstract NIM(a 1,..., a k ; n) is a -player game where initially there are n stones on the board and the

### DEFINABLE TYPES IN PRESBURGER ARITHMETIC

DEFINABLE TYPES IN PRESBURGER ARITHMETIC GABRIEL CONANT Abstract. We consider the first order theory of (Z, +,

### INTRODUCTORY SET THEORY

M.Sc. program in mathematics INTRODUCTORY SET THEORY Katalin Károlyi Department of Applied Analysis, Eötvös Loránd University H-1088 Budapest, Múzeum krt. 6-8. CONTENTS 1. SETS Set, equal sets, subset,

### Chapter 11 Number Theory

Chapter 11 Number Theory Number theory is one of the oldest branches of mathematics. For many years people who studied number theory delighted in its pure nature because there were few practical applications

### Development of dynamically evolving and self-adaptive software. 1. Background

Development of dynamically evolving and self-adaptive software 1. Background LASER 2013 Isola d Elba, September 2013 Carlo Ghezzi Politecnico di Milano Deep-SE Group @ DEIB 1 Requirements Functional requirements

### (x + a) n = x n + a Z n [x]. Proof. If n is prime then the map

22. A quick primality test Prime numbers are one of the most basic objects in mathematics and one of the most basic questions is to decide which numbers are prime (a clearly related problem is to find

### First-Order Logics and Truth Degrees

First-Order Logics and Truth Degrees George Metcalfe Mathematics Institute University of Bern LATD 2014, Vienna Summer of Logic, 15-19 July 2014 George Metcalfe (University of Bern) First-Order Logics

### The last three chapters introduced three major proof techniques: direct,

CHAPTER 7 Proving Non-Conditional Statements The last three chapters introduced three major proof techniques: direct, contrapositive and contradiction. These three techniques are used to prove statements

### Expressive powver of logical languages

July 18, 2012 Expressive power distinguishability The expressive power of any language can be measured through its power of distinction or equivalently, by the situations it considers indistinguishable.

### Cartesian Products and Relations

Cartesian Products and Relations Definition (Cartesian product) If A and B are sets, the Cartesian product of A and B is the set A B = {(a, b) :(a A) and (b B)}. The following points are worth special

### x < y iff x < y, or x and y are incomparable and x χ(x,y) < y χ(x,y).

12. Large cardinals The study, or use, of large cardinals is one of the most active areas of research in set theory currently. There are many provably different kinds of large cardinals whose descriptions

### I. GROUPS: BASIC DEFINITIONS AND EXAMPLES

I GROUPS: BASIC DEFINITIONS AND EXAMPLES Definition 1: An operation on a set G is a function : G G G Definition 2: A group is a set G which is equipped with an operation and a special element e G, called

### Correspondence analysis for strong three-valued logic

Correspondence analysis for strong three-valued logic A. Tamminga abstract. I apply Kooi and Tamminga s (2012) idea of correspondence analysis for many-valued logics to strong three-valued logic (K 3 ).

### 6.080/6.089 GITCS Feb 12, 2008. Lecture 3

6.8/6.89 GITCS Feb 2, 28 Lecturer: Scott Aaronson Lecture 3 Scribe: Adam Rogal Administrivia. Scribe notes The purpose of scribe notes is to transcribe our lectures. Although I have formal notes of my

### 6.4 Normal Distribution

Contents 6.4 Normal Distribution....................... 381 6.4.1 Characteristics of the Normal Distribution....... 381 6.4.2 The Standardized Normal Distribution......... 385 6.4.3 Meaning of Areas under

### MATH10212 Linear Algebra. Systems of Linear Equations. Definition. An n-dimensional vector is a row or a column of n numbers (or letters): a 1.

MATH10212 Linear Algebra Textbook: D. Poole, Linear Algebra: A Modern Introduction. Thompson, 2006. ISBN 0-534-40596-7. Systems of Linear Equations Definition. An n-dimensional vector is a row or a column

### x if x 0, x if x < 0.

Chapter 3 Sequences In this chapter, we discuss sequences. We say what it means for a sequence to converge, and define the limit of a convergent sequence. We begin with some preliminary results about the

### The theory of the six stages of learning with integers (Published in Mathematics in Schools, Volume 29, Number 2, March 2000) Stage 1

The theory of the six stages of learning with integers (Published in Mathematics in Schools, Volume 29, Number 2, March 2000) Stage 1 Free interaction In the case of the study of integers, this first stage

### AN ANALYSIS OF A WAR-LIKE CARD GAME. Introduction

AN ANALYSIS OF A WAR-LIKE CARD GAME BORIS ALEXEEV AND JACOB TSIMERMAN Abstract. In his book Mathematical Mind-Benders, Peter Winkler poses the following open problem, originally due to the first author:

### 1 if 1 x 0 1 if 0 x 1

Chapter 3 Continuity In this chapter we begin by defining the fundamental notion of continuity for real valued functions of a single real variable. When trying to decide whether a given function is or

### CHAPTER 1. Logic, Proofs Propositions

CHAPTER 1 Logic, Proofs 1.1. Propositions A proposition is a declarative sentence that is either true or false (but not both). For instance, the following are propositions: Paris is in France (true), London

### WHAT ARE MATHEMATICAL PROOFS AND WHY THEY ARE IMPORTANT?

WHAT ARE MATHEMATICAL PROOFS AND WHY THEY ARE IMPORTANT? introduction Many students seem to have trouble with the notion of a mathematical proof. People that come to a course like Math 216, who certainly

### Elementary Number Theory We begin with a bit of elementary number theory, which is concerned

CONSTRUCTION OF THE FINITE FIELDS Z p S. R. DOTY Elementary Number Theory We begin with a bit of elementary number theory, which is concerned solely with questions about the set of integers Z = {0, ±1,

### Logic in Computer Science: Logic Gates

Logic in Computer Science: Logic Gates Lila Kari The University of Western Ontario Logic in Computer Science: Logic Gates CS2209, Applied Logic for Computer Science 1 / 49 Logic and bit operations Computers

### Theory of Computation Prof. Kamala Krithivasan Department of Computer Science and Engineering Indian Institute of Technology, Madras

Theory of Computation Prof. Kamala Krithivasan Department of Computer Science and Engineering Indian Institute of Technology, Madras Lecture No. # 31 Recursive Sets, Recursively Innumerable Sets, Encoding

### Quine on truth by convention

Quine on truth by convention March 8, 2005 1 Linguistic explanations of necessity and the a priori.............. 1 2 Relative and absolute truth by definition.................... 2 3 Is logic true by convention?...........................

### Lecture 17 : Equivalence and Order Relations DRAFT

CS/Math 240: Introduction to Discrete Mathematics 3/31/2011 Lecture 17 : Equivalence and Order Relations Instructor: Dieter van Melkebeek Scribe: Dalibor Zelený DRAFT Last lecture we introduced the notion

### a 11 x 1 + a 12 x 2 + + a 1n x n = b 1 a 21 x 1 + a 22 x 2 + + a 2n x n = b 2.

Chapter 1 LINEAR EQUATIONS 1.1 Introduction to linear equations A linear equation in n unknowns x 1, x,, x n is an equation of the form a 1 x 1 + a x + + a n x n = b, where a 1, a,..., a n, b are given

### Linear Algebra I. Ronald van Luijk, 2012

Linear Algebra I Ronald van Luijk, 2012 With many parts from Linear Algebra I by Michael Stoll, 2007 Contents 1. Vector spaces 3 1.1. Examples 3 1.2. Fields 4 1.3. The field of complex numbers. 6 1.4.

### 88 CHAPTER 2. VECTOR FUNCTIONS. . First, we need to compute T (s). a By definition, r (s) T (s) = 1 a sin s a. sin s a, cos s a

88 CHAPTER. VECTOR FUNCTIONS.4 Curvature.4.1 Definitions and Examples The notion of curvature measures how sharply a curve bends. We would expect the curvature to be 0 for a straight line, to be very small

### Reading 13 : Finite State Automata and Regular Expressions

CS/Math 24: Introduction to Discrete Mathematics Fall 25 Reading 3 : Finite State Automata and Regular Expressions Instructors: Beck Hasti, Gautam Prakriya In this reading we study a mathematical model

### 9.2 Summation Notation

9. Summation Notation 66 9. Summation Notation In the previous section, we introduced sequences and now we shall present notation and theorems concerning the sum of terms of a sequence. We begin with a

### Consistency, completeness of undecidable preposition of Principia Mathematica. Tanmay Jaipurkar

Consistency, completeness of undecidable preposition of Principia Mathematica Tanmay Jaipurkar October 21, 2013 Abstract The fallowing paper discusses the inconsistency and undecidable preposition of Principia

### princeton univ. F 13 cos 521: Advanced Algorithm Design Lecture 6: Provable Approximation via Linear Programming Lecturer: Sanjeev Arora

princeton univ. F 13 cos 521: Advanced Algorithm Design Lecture 6: Provable Approximation via Linear Programming Lecturer: Sanjeev Arora Scribe: One of the running themes in this course is the notion of

### P (A) = lim P (A) = N(A)/N,

1.1 Probability, Relative Frequency and Classical Definition. Probability is the study of random or non-deterministic experiments. Suppose an experiment can be repeated any number of times, so that we

### Victor Shoup Avi Rubin. fshoup,rubing@bellcore.com. Abstract

Session Key Distribution Using Smart Cards Victor Shoup Avi Rubin Bellcore, 445 South St., Morristown, NJ 07960 fshoup,rubing@bellcore.com Abstract In this paper, we investigate a method by which smart

### Computability Theory

CSC 438F/2404F Notes (S. Cook and T. Pitassi) Fall, 2014 Computability Theory This section is partly inspired by the material in A Course in Mathematical Logic by Bell and Machover, Chap 6, sections 1-10.

### 4.5 Linear Dependence and Linear Independence

4.5 Linear Dependence and Linear Independence 267 32. {v 1, v 2 }, where v 1, v 2 are collinear vectors in R 3. 33. Prove that if S and S are subsets of a vector space V such that S is a subset of S, then

### Solutions to In-Class Problems Week 4, Mon.

Massachusetts Institute of Technology 6.042J/18.062J, Fall 05: Mathematics for Computer Science September 26 Prof. Albert R. Meyer and Prof. Ronitt Rubinfeld revised September 26, 2005, 1050 minutes Solutions

### Week 5: Binary Relations

1 Binary Relations Week 5: Binary Relations The concept of relation is common in daily life and seems intuitively clear. For instance, let X be the set of all living human females and Y the set of all

### Theory of Computation Lecture Notes

Theory of Computation Lecture Notes Abhijat Vichare August 2005 Contents 1 Introduction 2 What is Computation? 3 The λ Calculus 3.1 Conversions: 3.2 The calculus in use 3.3 Few Important Theorems 3.4 Worked

### x 2 + y 2 = 1 y 1 = x 2 + 2x y = x 2 + 2x + 1

Implicit Functions Defining Implicit Functions Up until now in this course, we have only talked about functions, which assign to every real number x in their domain exactly one real number f(x). The graphs

### RESULTANT AND DISCRIMINANT OF POLYNOMIALS

RESULTANT AND DISCRIMINANT OF POLYNOMIALS SVANTE JANSON Abstract. This is a collection of classical results about resultants and discriminants for polynomials, compiled mainly for my own use. All results

### Biinterpretability up to double jump in the degrees

Biinterpretability up to double jump in the degrees below 0 0 Richard A. Shore Department of Mathematics Cornell University Ithaca NY 14853 July 29, 2013 Abstract We prove that, for every z 0 0 with z

### Notes on Complexity Theory Last updated: August, 2011. Lecture 1

Notes on Complexity Theory Last updated: August, 2011 Jonathan Katz Lecture 1 1 Turing Machines I assume that most students have encountered Turing machines before. (Students who have not may want to look

### Taylor Polynomials and Taylor Series Math 126

Taylor Polynomials and Taylor Series Math 26 In many problems in science and engineering we have a function f(x) which is too complicated to answer the questions we d like to ask. In this chapter, we will

### Bored MUMSians. Is it possible that he is left with the number 1?

Sam Chow One Player Games Bored MUMSians Han writes the numbers 1, 2,..., 100 on the whiteboard. He picks two of these numbers, erases them, and replaces them with their difference (so at some point in

### Math 3000 Section 003 Intro to Abstract Math Homework 2

Math 3000 Section 003 Intro to Abstract Math Homework 2 Department of Mathematical and Statistical Sciences University of Colorado Denver, Spring 2012 Solutions (February 13, 2012) Please note that these

### Florida State University Course Notes MAD 2104 Discrete Mathematics I

Florida State University Course Notes MAD 2104 Discrete Mathematics I Florida State University Tallahassee, Florida 32306-4510 Copyright c 2011 Florida State University Written by Dr. John Bryant and Dr.

### THE SEARCH FOR NATURAL DEFINABILITY IN THE TURING DEGREES

THE SEARCH FOR NATURAL DEFINABILITY IN THE TURING DEGREES ANDREW E.M. LEWIS 1. Introduction This will be a course on the Turing degrees. We shall assume very little background knowledge: familiarity with

### 2.1 The Algebra of Sets

Chapter 2 Abstract Algebra 83 part of abstract algebra, sets are fundamental to all areas of mathematics and we need to establish a precise language for sets. We also explore operations on sets and relations

### On strong fairness in UNITY

On strong fairness in UNITY H.P.Gumm, D.Zhukov Fachbereich Mathematik und Informatik Philipps Universität Marburg {gumm,shukov}@mathematik.uni-marburg.de Abstract. In [6] Tsay and Bagrodia present a correct

### The continuous and discrete Fourier transforms

FYSA21 Mathematical Tools in Science The continuous and discrete Fourier transforms Lennart Lindegren Lund Observatory (Department of Astronomy, Lund University) 1 The continuous Fourier transform 1.1

### An example of a computable

An example of a computable absolutely normal number Verónica Becher Santiago Figueira Abstract The first example of an absolutely normal number was given by Sierpinski in 96, twenty years before the concept