From Brouwer's Thesis to the Fan Functional
Total Page:16
File Type:pdf, Size:1020Kb
From Brouwer's Thesis to the Fan Functional Ulrich Berger Swansea University University of Birmingham Theoretical Computer Science Seminar February 21, 2020 1 / 36 Overview 1. Introduction 2. Brouwer's thesis 3. Abstract bar induction 4. Vacuous truth 5. Proving uniform continuity 6. Extracting the fan functional 2 / 36 Introduction What are the logical roots of intriguing algorithms/computing principles? I Primitive recursion comes from induction on N. I General recursion comes from wellfounded induction. I The extended Euklidean algorithm comes from a classical proof that Z is a principal ideal ring. I Normalization by evaluation (for the typed lambda-calculus) comes from the Tait/Girard proof of strong normalization, respectively a completeness proof for intuitionistic logic. I ... Where does Tait's fan functional come from? 3 / 36 The fan functional The fan functional computes for every continuous function on Cantor space with values in N its least modulus of uniform continuity: FAN :(f0; 1gN ! N) ! N FAN(F ) = µn 8α; β (α =n β ! F α = F β) Def where α =n β = 8k 2 N (k < n ! α k = β k). So, clearly, this must come from: Fan theorem: Every continuous function on Cantor space with values in N is uniformly continuous. The real question is what are the right logical and mathematical principles and what is the right formal system for a proof of this theorem in order to extract the fan functional, more precisely, a purely functional program that computes it? 4 / 36 Brief history of the fan functional Tait introduced the Fan functional in 1963 and showed that it is recursively continuous but not computable by Kleene's schemata S1-S9, thus shattering Kleene's hope that S1-S9 is a universal notion of computation in higher types. Tait's proof of non-S1-S9-computability had a gap which was noted and fixed in various ways by Gandy, Hyland, Normann, Escardo . The above holds if S1-S9 is interpreted in the hereditarily total continuous functionals by Kleene and Kreisel (1959). If, however, S1-S9, is interpreted in the partial continuous functionals by Scott and Ershov (1970s), then there is an S1-S9 (equivalently PCF) definable functional whose restriction to total arguments is the Fan functional (Gandy 19??, B 1990). In 2000, Normann proved that, in fact, every total recursive functional can be S1-S9 defined in this way, so S1-S9 is universal, when interpreted in the 'right' way. In 2015, Escardo and Oliva generalized the Fan functional to the notion of 'products of selection functionals' and applied it to game theory. 5 / 36 Brouwer's thesis Brouwer's thesis (BT) Every bar is inductive. A predicate P on natural numbers is a bar if 8α9n P(¯α n) P is an inductive bar if IBP (hi) holds where, inductively, (i) If P(s), then IBP (s). (ii) If IBP (s ∗ n) for all n 2 N, then IBP (s). More compactly, µ IBP (s) = P(s) _ 8n IBP (s ∗ n)(µ means 'least') Hence BT can be written as the schema 8α9n P(¯α n) ! IBP (hi) 6 / 36 Bar induction for decidable bars (BI) If (1) P is a bar, (2) P decidable and P ⊆ Q, (3) 8s (8n Q(s ∗ n) ! Q(s)), then Q(hi). Where 'P decidable' means 8n (P(n) _:P(n)). It is easy to see that BT implies BI. 7 / 36 Issues with BT and BI (regarding applicability) BT 8α9n P(¯α n) ! IBP (hi) I restricted to natural numbers I talks about infinite sequences I the premise has computational content which is often not available I the conclusion has unwanted computational content I decidability of the bar P (required in BI) is too restrictive Therefore, we weaken and generalize premise and conclusion. 8 / 36 Paths and accessibility Let ≺ be an arbitrary binary relation. ν Path≺(x) = 9y ≺ x Path≺(y)(ν means 'greatest') µ Acc≺(x) = 8y ≺ x Acc≺(y) Classically, Path≺ and Acc≺ are complements of each other. Path≺(x) means (with dependent choice) that there is an infinite ≺-descending sequence starting with x. Acc≺(x) means that ≺-induction is valid at x. Def Setting s ≺P t = 9n s = t ∗ n ^ :P(t): :Path≺P (hi) means that P is a bar, Acc≺P (hi) means that P is an inductive bar, provided P is decidable. 9 / 36 Brouwer's thesis without computational content The implication Acc≺(x) !:Path≺(x) is intuitionistically valid (easy ≺-induction). The converse is can be viewed as a version of Brouwer's thesis: BT0 8x (:Path≺(x) ! Acc≺(x)) Both, the premise and conclusion of BT0, are Harrop formulas (do not contain _ or 9 at a strictly positive position). Therefore, BT0 has no computational content and hence does not spoil program extraction. 10 / 36 Abstract bar induction (ABI) µ y ≺∗ x = y = x _ 9z (y ≺∗ z ^ z ≺ x) (refl. trans. closure) Def y ≺P x = y ≺ x ^ :P(x) Let x0 be arbitrary (playing the role of the empty sequence). ABI If (1) :Path≺P (x0) ∗ (2) 8x ≺ x0 (:P(x) _ Q(x)), ∗ (3) 8x ≺ x0 (8y ≺ x Q(y) ! Q(x)), then Q(x0). Lemma. BT0 implies ABI. Proof. Assume (1), (2), (3). By BT0, Acc≺P (x0). We prove ∗ Acc≺P ⊆ Q by wellfounded induction. By i.h., 8y ≺P x Q(y). We have to show Q(x). We do a case analysis according to (2). If Q(x), we are done. If :P(x) then the i.h. is equivalent to the premise of (3), hence, again Q(x). 11 / 36 Vacuous truth If A is a formula, then V(A) is a Harrop formula with r V(A) Def= 8a (a r A). For example, r V(?! A) since, a r (?! A) ≡ ? ! a r A. Intuitively, V(A) expresses that A is vacuously true or true (realizable) for trivial reasons. Valid (realizable) rules we will use in the following: A (A Harrop) V(A) A !V(B) V(A) ^ V(B) V(A ! B) V(B ^ A) 8x V(A(x)) 9x V(A(x)) V(8x A(x)) V(9x A(x)) 12 / 36 LEMV , a realizable law of excluded middle :A ! BA !V(B) B Lemma (LEM) The rules for V(·) are realizable. Proof. We only look at LEMV . Assume a r (:A ! B) and r (A !V(B)), that is, (:9c c r A) ! a r B and (9c c r A) ! 8b b r B. Using the law of excluded middle, we conclude a r B. 13 / 36 Abstract bar induction with vacuous bars ABIV If (1) :Path≺P (x0), ∗ (2) 8x ≺ x0 (P(x) !V(Q(x))), ∗ (3) 8x ≺ x0 (8y ≺ x Q(y) ! Q(x)), then Q(x0). Lemma BT0 implies ABIV . Proof. The proof is almost identical to the proof for ABI. The only difference is that we use LEMV to do a case analysis, on whether P(x) holds, using (2). The extracted program takes as input a realizer g of (3) (note that (2) is Harrop) and returns h hi where h s = g s (λa (h (s ∗ a))): 14 / 36 Proving uniform continuity We aim to prove that every total continuous functional F on Cantor space is uniformly continuous and extract from the proof the fan functional that computes the minimal modulus of uniform continuity of F . Language: Sorts: s0 (partial natural numbers), s1 (' s0 ! s0), s2 (' s1 ! s0). Constants: 0; 1; ?, where 0; 1 represent at the same time the first two natural numbers and the Booleans, and ? represents ’undefined’ (not to be confused with the formula ?). Function symbols: +; −, application operation (written by juxtaposition), common (primitive recursive) operations to define finite and infinite sequences. Relation symbol: < (ordinary ordering of numbers). Axioms: The usual disjunctions-free axioms for 0; 1; +; −; <. µ Natural numbers: N(x) = x = 0 _ N(x − 1). Def Booleans: B(x) = x = 0 _ x = 1 15 / 36 Partial functionals We define the partial Booleans and natural numbers as well as the partial functionals of type 1 and 2: Def B?(x) = x 6= ?! B(x) Def N?(x) = x 6= ?! N(x) 1 Def B?(α) = 8n (N(n) ! B?(α n)) 2 Def 1 B?(F ) = 8α (B?(α) ! N?(F α)) 16 / 36 Continuity Specialization order: x v y Def= x 6= ?! x = y α v β Def= 8n 2 N (α n v β n) Monotonicity, finitarity, continuity: Def 1 Mon(F ) = 8α; β 2 B? (α v β ! F α v F β) Def 1 Fin(F ) = 8α 2 B? (8n 2 N F (α " n) = ?! F α = ?) Cont(F ) Def= Mon(F ) ^ Fin(F ) where (α " n) k = if k < n then α k else ?. 17 / 36 Totality Total1(α) Def= 8n (N(n) ! α n 6= ?) Total2(F ) Def= 8α (Total1(α) ! F α 6= ?)) 1 Def 1 1 B (α) = B?(α) ^ Total (α) 2 Def 2 1 B (F ) = B?(F ) ^ Total (F ) 18 / 36 Uniform continuity A type 2 functional F is uniformly continuous if there is (a least) n 2 N such that F α = F β for all total α; β agreeing below n. Def 1 UCont(F ; n) = 8α; β 2 B (α =n β ! F α = F β) UCont(F ) Def= 9n 2 N UCont(F ; n) Def where α =n β = 8k 2 N (k < n ! α k = β k). 2 We aim to prove that every F 2 B? which is total and continuous is uniformly continuous. 19 / 36 Extremal points In the following let F be a total continuous functional, that is, 2 F 2 B and Cont(F ).