Computational content of the fan theorem for coconvex bars Helmut - - PowerPoint PPT Presentation

computational content of the fan theorem for coconvex bars
SMART_READER_LITE
LIVE PREVIEW

Computational content of the fan theorem for coconvex bars Helmut - - PowerPoint PPT Presentation

Computational content of the fan theorem for coconvex bars Helmut Schwichtenberg Mathematisches Institut, LMU, M unchen Second Workshop on Mathematical Logic and its Applications, Kanazawa, March 5-9, 2018 1 / 37 Computational content of


slide-1
SLIDE 1

Computational content of the fan theorem for coconvex bars

Helmut Schwichtenberg

Mathematisches Institut, LMU, M¨ unchen

Second Workshop on Mathematical Logic and its Applications, Kanazawa, March 5-9, 2018

1 / 37

slide-2
SLIDE 2

Computational content of proofs

◮ Here: Proofs on sequences (i.e., of type N → ι, lev(ι) = 0)

What is special for sequences f : N → ι ?

◮ Can be seen as streams, infinite type-0 objects.

Example: streams of booleans, S(B), with the single constructor C: B → S(B) → S(B) Why consider streams?

◮ Reals naturally represented by streams of signed digits −1, 0, 1 ◮ Supports access from the front (“most significant digit”) ◮ Reduction of type levels

2 / 37

slide-3
SLIDE 3

Computational content of proofs

◮ Here: Proofs on sequences (i.e., of type N → ι, lev(ι) = 0)

What is special for sequences f : N → ι ?

◮ Can be seen as streams, infinite type-0 objects.

Example: streams of booleans, S(B), with the single constructor C: B → S(B) → S(B) Why consider streams?

◮ Reals naturally represented by streams of signed digits −1, 0, 1 ◮ Supports access from the front (“most significant digit”) ◮ Reduction of type levels

2 / 37

slide-4
SLIDE 4

Computational content of proofs

◮ Here: Proofs on sequences (i.e., of type N → ι, lev(ι) = 0)

What is special for sequences f : N → ι ?

◮ Can be seen as streams, infinite type-0 objects.

Example: streams of booleans, S(B), with the single constructor C: B → S(B) → S(B) Why consider streams?

◮ Reals naturally represented by streams of signed digits −1, 0, 1 ◮ Supports access from the front (“most significant digit”) ◮ Reduction of type levels

2 / 37

slide-5
SLIDE 5

Computational content of proofs

◮ Here: Proofs on sequences (i.e., of type N → ι, lev(ι) = 0)

What is special for sequences f : N → ι ?

◮ Can be seen as streams, infinite type-0 objects.

Example: streams of booleans, S(B), with the single constructor C: B → S(B) → S(B) Why consider streams?

◮ Reals naturally represented by streams of signed digits −1, 0, 1 ◮ Supports access from the front (“most significant digit”) ◮ Reduction of type levels

2 / 37

slide-6
SLIDE 6

Overview

◮ The model C of partial continuous functionals (Scott, Ershov) ◮ TCF (theory of computable functionals) ◮ Realizability, soundness theorem ◮ Computational content of the fan theorem for coconvex bars

3 / 37

slide-7
SLIDE 7

Computable functionals

General view: computations are finite. Arguments not only numbers and functions, but also functionals of any finite type.

◮ Principle of finite support. If H(Φ) is defined with value n,

then there is a finite approximation Φ0 of Φ such that H(Φ0) is defined with value n.

◮ Monotonicity principle. If H(Φ) is defined with value n and Φ′

extends Φ, then also H(Φ′) is defined with value n.

◮ Effectivity principle. An object is computable iff its set of

finite approximations is (primitive) recursively enumerable (or equivalently, Σ0

1-definable).

4 / 37

slide-8
SLIDE 8

Computable functionals

General view: computations are finite. Arguments not only numbers and functions, but also functionals of any finite type.

◮ Principle of finite support. If H(Φ) is defined with value n,

then there is a finite approximation Φ0 of Φ such that H(Φ0) is defined with value n.

◮ Monotonicity principle. If H(Φ) is defined with value n and Φ′

extends Φ, then also H(Φ′) is defined with value n.

◮ Effectivity principle. An object is computable iff its set of

finite approximations is (primitive) recursively enumerable (or equivalently, Σ0

1-definable).

4 / 37

slide-9
SLIDE 9

Computable functionals

General view: computations are finite. Arguments not only numbers and functions, but also functionals of any finite type.

◮ Principle of finite support. If H(Φ) is defined with value n,

then there is a finite approximation Φ0 of Φ such that H(Φ0) is defined with value n.

◮ Monotonicity principle. If H(Φ) is defined with value n and Φ′

extends Φ, then also H(Φ′) is defined with value n.

◮ Effectivity principle. An object is computable iff its set of

finite approximations is (primitive) recursively enumerable (or equivalently, Σ0

1-definable).

4 / 37

slide-10
SLIDE 10

Computable functionals

General view: computations are finite. Arguments not only numbers and functions, but also functionals of any finite type.

◮ Principle of finite support. If H(Φ) is defined with value n,

then there is a finite approximation Φ0 of Φ such that H(Φ0) is defined with value n.

◮ Monotonicity principle. If H(Φ) is defined with value n and Φ′

extends Φ, then also H(Φ′) is defined with value n.

◮ Effectivity principle. An object is computable iff its set of

finite approximations is (primitive) recursively enumerable (or equivalently, Σ0

1-definable).

4 / 37

slide-11
SLIDE 11

Computable functionals

General view: computations are finite. Arguments not only numbers and functions, but also functionals of any finite type.

◮ Principle of finite support. If H(Φ) is defined with value n,

then there is a finite approximation Φ0 of Φ such that H(Φ0) is defined with value n.

◮ Monotonicity principle. If H(Φ) is defined with value n and Φ′

extends Φ, then also H(Φ′) is defined with value n.

◮ Effectivity principle. An object is computable iff its set of

finite approximations is (primitive) recursively enumerable (or equivalently, Σ0

1-definable).

4 / 37

slide-12
SLIDE 12

Computable functionals

General view: computations are finite. Arguments not only numbers and functions, but also functionals of any finite type.

◮ Principle of finite support. If H(Φ) is defined with value n,

then there is a finite approximation Φ0 of Φ such that H(Φ0) is defined with value n.

◮ Monotonicity principle. If H(Φ) is defined with value n and Φ′

extends Φ, then also H(Φ′) is defined with value n.

◮ Effectivity principle. An object is computable iff its set of

finite approximations is (primitive) recursively enumerable (or equivalently, Σ0

1-definable).

4 / 37

slide-13
SLIDE 13

Information system A = (A, Con, ⊢):

◮ A countable set of “tokens”, ◮ Con set of finite subsets of A, ◮ ⊢ (“entails”) subset of Con × A.

such that U ⊆ V ∈ Con → U ∈ Con, {a} ∈ Con, U ⊢ a → U ∪ {a} ∈ Con, a ∈ U ∈ Con → U ⊢ a, U, V ∈ Con → ∀a∈V (U ⊢ a) → V ⊢ b → U ⊢ b. x ⊆ A is an ideal if U ⊆ x → U ∈ Con (x is consistent), x ⊇ U ⊢ a → a ∈ x (x is deductively closed).

5 / 37

slide-14
SLIDE 14

Information system A = (A, Con, ⊢):

◮ A countable set of “tokens”, ◮ Con set of finite subsets of A, ◮ ⊢ (“entails”) subset of Con × A.

such that U ⊆ V ∈ Con → U ∈ Con, {a} ∈ Con, U ⊢ a → U ∪ {a} ∈ Con, a ∈ U ∈ Con → U ⊢ a, U, V ∈ Con → ∀a∈V (U ⊢ a) → V ⊢ b → U ⊢ b. x ⊆ A is an ideal if U ⊆ x → U ∈ Con (x is consistent), x ⊇ U ⊢ a → a ∈ x (x is deductively closed).

5 / 37

slide-15
SLIDE 15

Information system A = (A, Con, ⊢):

◮ A countable set of “tokens”, ◮ Con set of finite subsets of A, ◮ ⊢ (“entails”) subset of Con × A.

such that U ⊆ V ∈ Con → U ∈ Con, {a} ∈ Con, U ⊢ a → U ∪ {a} ∈ Con, a ∈ U ∈ Con → U ⊢ a, U, V ∈ Con → ∀a∈V (U ⊢ a) → V ⊢ b → U ⊢ b. x ⊆ A is an ideal if U ⊆ x → U ∈ Con (x is consistent), x ⊇ U ⊢ a → a ∈ x (x is deductively closed).

5 / 37

slide-16
SLIDE 16

Information system A = (A, Con, ⊢):

◮ A countable set of “tokens”, ◮ Con set of finite subsets of A, ◮ ⊢ (“entails”) subset of Con × A.

such that U ⊆ V ∈ Con → U ∈ Con, {a} ∈ Con, U ⊢ a → U ∪ {a} ∈ Con, a ∈ U ∈ Con → U ⊢ a, U, V ∈ Con → ∀a∈V (U ⊢ a) → V ⊢ b → U ⊢ b. x ⊆ A is an ideal if U ⊆ x → U ∈ Con (x is consistent), x ⊇ U ⊢ a → a ∈ x (x is deductively closed).

5 / 37

slide-17
SLIDE 17

Function spaces

Let A = (A, ConA, ⊢A) and B = (B, ConB, ⊢B) be information

  • systems. Define A → B := (C, Con, ⊢) where

◮ C := ConA × B, ◮ { (Ui, bi) | i ∈ I } ∈ Con :=

∀J⊆I(

j∈J Uj ∈ ConA → { bj | j ∈ J } ∈ ConB) ◮ { (Ui, bi) | i ∈ I } ⊢ (U, b) means { bi | U ⊢A Ui } ⊢B b.

A → B is an information system. Application of an ideal r in A → B to an ideal x in A is defined by { b ∈ B | ∃U⊆xr(U, b) }.

6 / 37

slide-18
SLIDE 18

Function spaces

Let A = (A, ConA, ⊢A) and B = (B, ConB, ⊢B) be information

  • systems. Define A → B := (C, Con, ⊢) where

◮ C := ConA × B, ◮ { (Ui, bi) | i ∈ I } ∈ Con :=

∀J⊆I(

j∈J Uj ∈ ConA → { bj | j ∈ J } ∈ ConB) ◮ { (Ui, bi) | i ∈ I } ⊢ (U, b) means { bi | U ⊢A Ui } ⊢B b.

A → B is an information system. Application of an ideal r in A → B to an ideal x in A is defined by { b ∈ B | ∃U⊆xr(U, b) }.

6 / 37

slide-19
SLIDE 19

Function spaces

Let A = (A, ConA, ⊢A) and B = (B, ConB, ⊢B) be information

  • systems. Define A → B := (C, Con, ⊢) where

◮ C := ConA × B, ◮ { (Ui, bi) | i ∈ I } ∈ Con :=

∀J⊆I(

j∈J Uj ∈ ConA → { bj | j ∈ J } ∈ ConB) ◮ { (Ui, bi) | i ∈ I } ⊢ (U, b) means { bi | U ⊢A Ui } ⊢B b.

A → B is an information system. Application of an ideal r in A → B to an ideal x in A is defined by { b ∈ B | ∃U⊆xr(U, b) }.

6 / 37

slide-20
SLIDE 20

Function spaces

Let A = (A, ConA, ⊢A) and B = (B, ConB, ⊢B) be information

  • systems. Define A → B := (C, Con, ⊢) where

◮ C := ConA × B, ◮ { (Ui, bi) | i ∈ I } ∈ Con :=

∀J⊆I(

j∈J Uj ∈ ConA → { bj | j ∈ J } ∈ ConB) ◮ { (Ui, bi) | i ∈ I } ⊢ (U, b) means { bi | U ⊢A Ui } ⊢B b.

A → B is an information system. Application of an ideal r in A → B to an ideal x in A is defined by { b ∈ B | ∃U⊆xr(U, b) }.

6 / 37

slide-21
SLIDE 21

Function spaces

Let A = (A, ConA, ⊢A) and B = (B, ConB, ⊢B) be information

  • systems. Define A → B := (C, Con, ⊢) where

◮ C := ConA × B, ◮ { (Ui, bi) | i ∈ I } ∈ Con :=

∀J⊆I(

j∈J Uj ∈ ConA → { bj | j ∈ J } ∈ ConB) ◮ { (Ui, bi) | i ∈ I } ⊢ (U, b) means { bi | U ⊢A Ui } ⊢B b.

A → B is an information system. Application of an ideal r in A → B to an ideal x in A is defined by { b ∈ B | ∃U⊆xr(U, b) }.

6 / 37

slide-22
SLIDE 22

Function spaces

Let A = (A, ConA, ⊢A) and B = (B, ConB, ⊢B) be information

  • systems. Define A → B := (C, Con, ⊢) where

◮ C := ConA × B, ◮ { (Ui, bi) | i ∈ I } ∈ Con :=

∀J⊆I(

j∈J Uj ∈ ConA → { bj | j ∈ J } ∈ ConB) ◮ { (Ui, bi) | i ∈ I } ⊢ (U, b) means { bi | U ⊢A Ui } ⊢B b.

A → B is an information system. Application of an ideal r in A → B to an ideal x in A is defined by { b ∈ B | ∃U⊆xr(U, b) }.

6 / 37

slide-23
SLIDE 23

Function spaces

Let A = (A, ConA, ⊢A) and B = (B, ConB, ⊢B) be information

  • systems. Define A → B := (C, Con, ⊢) where

◮ C := ConA × B, ◮ { (Ui, bi) | i ∈ I } ∈ Con :=

∀J⊆I(

j∈J Uj ∈ ConA → { bj | j ∈ J } ∈ ConB) ◮ { (Ui, bi) | i ∈ I } ⊢ (U, b) means { bi | U ⊢A Ui } ⊢B b.

A → B is an information system. Application of an ideal r in A → B to an ideal x in A is defined by { b ∈ B | ∃U⊆xr(U, b) }.

6 / 37

slide-24
SLIDE 24

(Free) algebras given by constructors: N by 0N, SN→N α × β by ., .α→β→α×β α + β by (InLαβ)α→α+β, (InRαβ)β→α+β L(α) by NilL(α), Consα→L(α)→L(α) S(α) by SConsα→S(α)→S(α) I by GenI→I S(α) and I have no nullary constructor, hence no “total” objects.

7 / 37

slide-25
SLIDE 25

Information systems Cρ = (Cρ, Conρ, ⊢ρ)

Cρ→σ := Cρ → Cσ. At base types ι: Tokens are type correct constructor expressions Ca∗

1 . . . a∗ n.

(Examples: 0, C∗0, C0∗, C(C∗0)0.) U = {a1, . . . , an} is consistent if

◮ all ai start with the same constructor, ◮ (proper) tokens at j-th argument positions are consistent.

(Example: {C∗0, C0∗}.) U ⊢ a (entails) if

◮ all ai ∈ U and also a start with the same constructor, ◮ (proper) tokens at j-th argument positions of ai entail j-th

argument of a. (Example: {C∗0, C0∗} ⊢ C00).

8 / 37

slide-26
SLIDE 26

Information systems Cρ = (Cρ, Conρ, ⊢ρ)

Cρ→σ := Cρ → Cσ. At base types ι: Tokens are type correct constructor expressions Ca∗

1 . . . a∗ n.

(Examples: 0, C∗0, C0∗, C(C∗0)0.) U = {a1, . . . , an} is consistent if

◮ all ai start with the same constructor, ◮ (proper) tokens at j-th argument positions are consistent.

(Example: {C∗0, C0∗}.) U ⊢ a (entails) if

◮ all ai ∈ U and also a start with the same constructor, ◮ (proper) tokens at j-th argument positions of ai entail j-th

argument of a. (Example: {C∗0, C0∗} ⊢ C00).

8 / 37

slide-27
SLIDE 27

Information systems Cρ = (Cρ, Conρ, ⊢ρ)

Cρ→σ := Cρ → Cσ. At base types ι: Tokens are type correct constructor expressions Ca∗

1 . . . a∗ n.

(Examples: 0, C∗0, C0∗, C(C∗0)0.) U = {a1, . . . , an} is consistent if

◮ all ai start with the same constructor, ◮ (proper) tokens at j-th argument positions are consistent.

(Example: {C∗0, C0∗}.) U ⊢ a (entails) if

◮ all ai ∈ U and also a start with the same constructor, ◮ (proper) tokens at j-th argument positions of ai entail j-th

argument of a. (Example: {C∗0, C0∗} ⊢ C00).

8 / 37

slide-28
SLIDE 28

Information systems Cρ = (Cρ, Conρ, ⊢ρ)

Cρ→σ := Cρ → Cσ. At base types ι: Tokens are type correct constructor expressions Ca∗

1 . . . a∗ n.

(Examples: 0, C∗0, C0∗, C(C∗0)0.) U = {a1, . . . , an} is consistent if

◮ all ai start with the same constructor, ◮ (proper) tokens at j-th argument positions are consistent.

(Example: {C∗0, C0∗}.) U ⊢ a (entails) if

◮ all ai ∈ U and also a start with the same constructor, ◮ (proper) tokens at j-th argument positions of ai entail j-th

argument of a. (Example: {C∗0, C0∗} ⊢ C00).

8 / 37

slide-29
SLIDE 29

Definition

◮ A partial continuous functional of type ρ is an ideal in Cρ. ◮ A partial continuous functional is computable if it is a

(primitive) recursively enumerable set of tokens. Ideals in Cρ: Scott-Ershov domain of type ρ. Principles of finite support and monotonicity hold (“continuity”).

◮ xι is total iff x = { a | {b} ⊢ a } for some token (i.e.,

constructor expression) b without ∗.

◮ xι is cototal iff every token b(∗) ∈ x has a “one-step

extension” b(C ∗ ) ∈ x.

9 / 37

slide-30
SLIDE 30

Definition

◮ A partial continuous functional of type ρ is an ideal in Cρ. ◮ A partial continuous functional is computable if it is a

(primitive) recursively enumerable set of tokens. Ideals in Cρ: Scott-Ershov domain of type ρ. Principles of finite support and monotonicity hold (“continuity”).

◮ xι is total iff x = { a | {b} ⊢ a } for some token (i.e.,

constructor expression) b without ∗.

◮ xι is cototal iff every token b(∗) ∈ x has a “one-step

extension” b(C ∗ ) ∈ x.

9 / 37

slide-31
SLIDE 31

Definition

◮ A partial continuous functional of type ρ is an ideal in Cρ. ◮ A partial continuous functional is computable if it is a

(primitive) recursively enumerable set of tokens. Ideals in Cρ: Scott-Ershov domain of type ρ. Principles of finite support and monotonicity hold (“continuity”).

◮ xι is total iff x = { a | {b} ⊢ a } for some token (i.e.,

constructor expression) b without ∗.

◮ xι is cototal iff every token b(∗) ∈ x has a “one-step

extension” b(C ∗ ) ∈ x.

9 / 37

slide-32
SLIDE 32

Definition

◮ A partial continuous functional of type ρ is an ideal in Cρ. ◮ A partial continuous functional is computable if it is a

(primitive) recursively enumerable set of tokens. Ideals in Cρ: Scott-Ershov domain of type ρ. Principles of finite support and monotonicity hold (“continuity”).

◮ xι is total iff x = { a | {b} ⊢ a } for some token (i.e.,

constructor expression) b without ∗.

◮ xι is cototal iff every token b(∗) ∈ x has a “one-step

extension” b(C ∗ ) ∈ x.

9 / 37

slide-33
SLIDE 33

Definition

◮ A partial continuous functional of type ρ is an ideal in Cρ. ◮ A partial continuous functional is computable if it is a

(primitive) recursively enumerable set of tokens. Ideals in Cρ: Scott-Ershov domain of type ρ. Principles of finite support and monotonicity hold (“continuity”).

◮ xι is total iff x = { a | {b} ⊢ a } for some token (i.e.,

constructor expression) b without ∗.

◮ xι is cototal iff every token b(∗) ∈ x has a “one-step

extension” b(C ∗ ) ∈ x.

9 / 37

slide-34
SLIDE 34

Overview

◮ The model C of partial continuous functionals (Scott, Ershov) ◮ TCF (theory of computable functionals) ◮ Realizability, soundness theorem ◮ Computational content of the fan theorem for coconvex bars

10 / 37

slide-35
SLIDE 35

A common extension T+ of G¨

  • del’s T and Plotkin’s PCF

Terms of T+ are built from (typed) variables and (typed) constants (constructors C or defined constants D, see below) by (type-correct) application and abstraction: M, N ::= xρ | Cρ | Dρ | (λxρMσ)ρ→σ | (Mρ→σNρ)σ. Every defined constant D comes with a system of computation rules, consisting of finitely many equations D Pi( yi) = Mi (i = 1, . . . , n) with free variables of Pi( yi) and Mi among yi, where the arguments

  • n the left hand side must be “constructor patterns”, i.e., lists of

applicative terms built from constructors and distinct variables.

11 / 37

slide-36
SLIDE 36

A common extension T+ of G¨

  • del’s T and Plotkin’s PCF

Terms of T+ are built from (typed) variables and (typed) constants (constructors C or defined constants D, see below) by (type-correct) application and abstraction: M, N ::= xρ | Cρ | Dρ | (λxρMσ)ρ→σ | (Mρ→σNρ)σ. Every defined constant D comes with a system of computation rules, consisting of finitely many equations D Pi( yi) = Mi (i = 1, . . . , n) with free variables of Pi( yi) and Mi among yi, where the arguments

  • n the left hand side must be “constructor patterns”, i.e., lists of

applicative terms built from constructors and distinct variables.

11 / 37

slide-37
SLIDE 37

A common extension T+ of G¨

  • del’s T and Plotkin’s PCF

Terms of T+ are built from (typed) variables and (typed) constants (constructors C or defined constants D, see below) by (type-correct) application and abstraction: M, N ::= xρ | Cρ | Dρ | (λxρMσ)ρ→σ | (Mρ→σNρ)σ. Every defined constant D comes with a system of computation rules, consisting of finitely many equations D Pi( yi) = Mi (i = 1, . . . , n) with free variables of Pi( yi) and Mi among yi, where the arguments

  • n the left hand side must be “constructor patterns”, i.e., lists of

applicative terms built from constructors and distinct variables.

11 / 37

slide-38
SLIDE 38

Examples

Fibonacci numbers fib(0) = 0, fib(1) = 1, fib(n + 2) = fib(n) + fib(n + 1). The corecursion operator coRτ

S(ρ) of type

τ → (τ → ρ × (S(ρ) + τ)) → S(ρ) is defined by

coRxf =

  • yz

if f (x) = y, InL(z), y(coRx′f ) if f (x) = y, InR(x′).

12 / 37

slide-39
SLIDE 39

Examples

Fibonacci numbers fib(0) = 0, fib(1) = 1, fib(n + 2) = fib(n) + fib(n + 1). The corecursion operator coRτ

S(ρ) of type

τ → (τ → ρ × (S(ρ) + τ)) → S(ρ) is defined by

coRxf =

  • yz

if f (x) = y, InL(z), y(coRx′f ) if f (x) = y, InR(x′).

12 / 37

slide-40
SLIDE 40

Examples

Fibonacci numbers fib(0) = 0, fib(1) = 1, fib(n + 2) = fib(n) + fib(n + 1). The corecursion operator coRτ

S(ρ) of type

τ → (τ → ρ × (S(ρ) + τ)) → S(ρ) is defined by

coRxf =

  • yz

if f (x) = y, InL(z), y(coRx′f ) if f (x) = y, InR(x′).

12 / 37

slide-41
SLIDE 41

Predicates and formulas

P, Q ::= X | { x | A } | µX(∀

xi((Aiν)ν<ni → X

ri))i<k | νX(. . . ) A, B ::= P r | A → B | ∀xA Example: Even := µX(X0, ∀n(Xn → X(S(Sn)))). (Co)inductive predicates can be computationally relevant (c.r.) or non-computational (n.c). Example: TN (c.r.) and T nc

N (n.c.)

Clauses and least-fixed-point (induction) axiom for TN: (T +

N )0 : 0 ∈ TN

(T +

N )1 : ∀n(n ∈ TN → Sn ∈ TN)

T −

N : 0 ∈ X → ∀n(n ∈ TN → n ∈ X → Sn ∈ X) → TN ⊆ X

and similar for the n.c. variant T nc

N .

13 / 37

slide-42
SLIDE 42

Predicates and formulas

P, Q ::= X | { x | A } | µX(∀

xi((Aiν)ν<ni → X

ri))i<k | νX(. . . ) A, B ::= P r | A → B | ∀xA Example: Even := µX(X0, ∀n(Xn → X(S(Sn)))). (Co)inductive predicates can be computationally relevant (c.r.) or non-computational (n.c). Example: TN (c.r.) and T nc

N (n.c.)

Clauses and least-fixed-point (induction) axiom for TN: (T +

N )0 : 0 ∈ TN

(T +

N )1 : ∀n(n ∈ TN → Sn ∈ TN)

T −

N : 0 ∈ X → ∀n(n ∈ TN → n ∈ X → Sn ∈ X) → TN ⊆ X

and similar for the n.c. variant T nc

N .

13 / 37

slide-43
SLIDE 43

Predicates and formulas

P, Q ::= X | { x | A } | µX(∀

xi((Aiν)ν<ni → X

ri))i<k | νX(. . . ) A, B ::= P r | A → B | ∀xA Example: Even := µX(X0, ∀n(Xn → X(S(Sn)))). (Co)inductive predicates can be computationally relevant (c.r.) or non-computational (n.c). Example: TN (c.r.) and T nc

N (n.c.)

Clauses and least-fixed-point (induction) axiom for TN: (T +

N )0 : 0 ∈ TN

(T +

N )1 : ∀n(n ∈ TN → Sn ∈ TN)

T −

N : 0 ∈ X → ∀n(n ∈ TN → n ∈ X → Sn ∈ X) → TN ⊆ X

and similar for the n.c. variant T nc

N .

13 / 37

slide-44
SLIDE 44

Coinductive predicates: coTN (c.r.) and coT nc

N (n.c.)

Closure and greatest-fixed-point (coinduction) axioms for coTN:

coT − N : ∀n(n ∈ coTN → n ≡ 0 ∨ ∃n′(n′ ∈ coTN ∧ n ≡ Sn′)) coT + N : ∀n(n ∈ X → n ≡ 0 ∨ ∃n′((n′ ∈ coTN ∨ n′ ∈ X) ∧ n ≡ Sn′)) →

X ⊆ coTN and similar for the n.c. variant coT nc

N (with X nc, ∨nc for X, ∨).

14 / 37

slide-45
SLIDE 45

Existence ∃, conjunction ∧, disjunction ∨, ∨nc

These are nullary inductive predicates with parameters ∃+ : ∀x(x ∈ P → ∃x(x ∈ P)) ∃− : ∃x(x ∈ P) → ∀x(x ∈ P → C) → C (x / ∈ FV(C)) ∧+ : A → B → A ∧ B ∧− : A ∧ B → (A → B → C) → C ∨+

i : Ai → A0 ∨ A1

∨− : A ∨ B → (A → C) → (B → C) → C (∨nc

i )+ : Ai → A0 ∨nc A1

(A0, A1 n.c.) (∨nc)− : A ∨nc B → (A → C) → (B → C) → C (A, B, C n.c.)

15 / 37

slide-46
SLIDE 46

Existence ∃, conjunction ∧, disjunction ∨, ∨nc

These are nullary inductive predicates with parameters ∃+ : ∀x(x ∈ P → ∃x(x ∈ P)) ∃− : ∃x(x ∈ P) → ∀x(x ∈ P → C) → C (x / ∈ FV(C)) ∧+ : A → B → A ∧ B ∧− : A ∧ B → (A → B → C) → C ∨+

i : Ai → A0 ∨ A1

∨− : A ∨ B → (A → C) → (B → C) → C (∨nc

i )+ : Ai → A0 ∨nc A1

(A0, A1 n.c.) (∨nc)− : A ∨nc B → (A → C) → (B → C) → C (A, B, C n.c.)

15 / 37

slide-47
SLIDE 47

Overview

◮ The model C of partial continuous functionals (Scott, Ershov) ◮ TCF (theory of computable functionals) ◮ Realizability, soundness theorem ◮ Computational content of the fan theorem for coconvex bars

16 / 37

slide-48
SLIDE 48

Kolmogorov 1932: “Zur Deutung der intuitionistischen Logik”

◮ Proposed to view a formula A as a computational problem, of

type τ(A), the type of a potential solution or “realizer” of A.

◮ Example: ∀n∈T◆∃m∈T◆(m > n ∧ m ∈ Prime) has type N → N.

17 / 37

slide-49
SLIDE 49

Kolmogorov 1932: “Zur Deutung der intuitionistischen Logik”

◮ Proposed to view a formula A as a computational problem, of

type τ(A), the type of a potential solution or “realizer” of A.

◮ Example: ∀n∈T◆∃m∈T◆(m > n ∧ m ∈ Prime) has type N → N.

17 / 37

slide-50
SLIDE 50

Kolmogorov 1932: “Zur Deutung der intuitionistischen Logik”

◮ Proposed to view a formula A as a computational problem, of

type τ(A), the type of a potential solution or “realizer” of A.

◮ Example: ∀n∈T◆∃m∈T◆(m > n ∧ m ∈ Prime) has type N → N.

17 / 37

slide-51
SLIDE 51

Type τ(C) of a c.r. predicate or formula C

τ(X) := ξ (ξ uniquely assigned to X) τ({ x | A }) := τ(A) τ(µX(∀

xi((Aiν)ν<ni → X

ri))i<k

  • I

) := µξ((τ(Aiν)ν<ni) → ξ)i<k

  • ιI

(similar for coI) τ(P r ) := τ(P) τ(A → B) :=

  • τ(A) → τ(B)

(A c.r.) τ(B) (A n.c.) τ(∀xA) := τ(A)

18 / 37

slide-52
SLIDE 52

Realizability extension C r of c.r. predicates or formulas C

We write z r C for C rz if C is a formula. X r (uniquely assigned to X : ( ρ), of arity (τ(X), ρ )) { x | A }r := { z, x | z r A } I r, coI r z r P r := Pr(z, r ) z r (A → B) :=

  • ∀w(w r A → zw r B)

if A is c.r. A → z r B if A is n.c. z r ∀xA := ∀x(z r A)

19 / 37

slide-53
SLIDE 53

Realizability extension C r of c.r. predicates or formulas C

We write z r C for C rz if C is a formula. X r (uniquely assigned to X : ( ρ), of arity (τ(X), ρ )) { x | A }r := { z, x | z r A } I r, coI r z r P r := Pr(z, r ) z r (A → B) :=

  • ∀w(w r A → zw r B)

if A is c.r. A → z r B if A is n.c. z r ∀xA := ∀x(z r A)

19 / 37

slide-54
SLIDE 54

Extracted term et(M) of a derivation MA with A c.r. et(uA) := zτ(A)

u

(zτ(A)

u

uniquely associated to uA) et((λuAMB)A→B) :=

  • λτ(A)

zu

et(M) if A is c.r. et(M) if A is n.c. et((MA→BNA)B) :=

  • et(M)et(N)

if A is c.r. et(M) if A is n.c. et((λxMA)∀xA) := et(M) et((M∀xA(x)t)A(t)) := et(M) et(I +

i )

:= Ci (i-th constructor of ι associated to I) et(I −) := Rτ

ι

(recursor for ι) et(coI −) := Dι (destructor of ι associated to coI) et(coI +) := coRτ

ι

(corecursor for ι)

20 / 37

slide-55
SLIDE 55

An n.c. part of M is a subderivation with an n.c. end formula. Such n.c. parts do not contribute to the computational content.

Theorem (Soundness)

Let M be a derivation of a formula A from assumptions u : C (c.r.) and v : D (n.c.) Then we can find a derivation of

  • et(M) r A

if A is c.r. A if A is n.c. from assumptions zu r C and D.

Proof.

By induction on M. Few cases: →±, ∀± and c.r. axioms.

21 / 37

slide-56
SLIDE 56

An n.c. part of M is a subderivation with an n.c. end formula. Such n.c. parts do not contribute to the computational content.

Theorem (Soundness)

Let M be a derivation of a formula A from assumptions u : C (c.r.) and v : D (n.c.) Then we can find a derivation of

  • et(M) r A

if A is c.r. A if A is n.c. from assumptions zu r C and D.

Proof.

By induction on M. Few cases: →±, ∀± and c.r. axioms.

21 / 37

slide-57
SLIDE 57

An n.c. part of M is a subderivation with an n.c. end formula. Such n.c. parts do not contribute to the computational content.

Theorem (Soundness)

Let M be a derivation of a formula A from assumptions u : C (c.r.) and v : D (n.c.) Then we can find a derivation of

  • et(M) r A

if A is c.r. A if A is n.c. from assumptions zu r C and D.

Proof.

By induction on M. Few cases: →±, ∀± and c.r. axioms.

21 / 37

slide-58
SLIDE 58

Overview

◮ The model C of partial continuous functionals (Scott, Ershov) ◮ TCF (theory of computable functionals) ◮ Realizability, soundness theorem ◮ Computational content of the fan theorem for coconvex bars

22 / 37

slide-59
SLIDE 59

◮ View trees as sets of nodes u, v, w of type L(B) (lists of

booleans), which are downward closed.

◮ Paths are seen as cototal objects s of type S(B). ◮ Sets of nodes are given by (not necessarily total) functions b

  • f type L(B) → B. To be or not to be in b is expressed by

saying that b(u) is defined with 1 or 0 as its value.

◮ A set b of nodes is a bar if every path s hits the bar, i.e.,

there is an n such that s(n) ∈ b. For simplicity assume that bars b are upwards closed: ∀u,p(u ∈ b → pu ∈ b).

23 / 37

slide-60
SLIDE 60

◮ View trees as sets of nodes u, v, w of type L(B) (lists of

booleans), which are downward closed.

◮ Paths are seen as cototal objects s of type S(B). ◮ Sets of nodes are given by (not necessarily total) functions b

  • f type L(B) → B. To be or not to be in b is expressed by

saying that b(u) is defined with 1 or 0 as its value.

◮ A set b of nodes is a bar if every path s hits the bar, i.e.,

there is an n such that s(n) ∈ b. For simplicity assume that bars b are upwards closed: ∀u,p(u ∈ b → pu ∈ b).

23 / 37

slide-61
SLIDE 61

◮ View trees as sets of nodes u, v, w of type L(B) (lists of

booleans), which are downward closed.

◮ Paths are seen as cototal objects s of type S(B). ◮ Sets of nodes are given by (not necessarily total) functions b

  • f type L(B) → B. To be or not to be in b is expressed by

saying that b(u) is defined with 1 or 0 as its value.

◮ A set b of nodes is a bar if every path s hits the bar, i.e.,

there is an n such that s(n) ∈ b. For simplicity assume that bars b are upwards closed: ∀u,p(u ∈ b → pu ∈ b).

23 / 37

slide-62
SLIDE 62

◮ View trees as sets of nodes u, v, w of type L(B) (lists of

booleans), which are downward closed.

◮ Paths are seen as cototal objects s of type S(B). ◮ Sets of nodes are given by (not necessarily total) functions b

  • f type L(B) → B. To be or not to be in b is expressed by

saying that b(u) is defined with 1 or 0 as its value.

◮ A set b of nodes is a bar if every path s hits the bar, i.e.,

there is an n such that s(n) ∈ b. For simplicity assume that bars b are upwards closed: ∀u,p(u ∈ b → pu ∈ b).

23 / 37

slide-63
SLIDE 63

◮ View trees as sets of nodes u, v, w of type L(B) (lists of

booleans), which are downward closed.

◮ Paths are seen as cototal objects s of type S(B). ◮ Sets of nodes are given by (not necessarily total) functions b

  • f type L(B) → B. To be or not to be in b is expressed by

saying that b(u) is defined with 1 or 0 as its value.

◮ A set b of nodes is a bar if every path s hits the bar, i.e.,

there is an n such that s(n) ∈ b. For simplicity assume that bars b are upwards closed: ∀u,p(u ∈ b → pu ∈ b).

23 / 37

slide-64
SLIDE 64

◮ Josef Berger and Gregor Svindland recently gave a

constructive proof of the fan theorem for “coconvex” bars.

◮ They call a set b ⊆ {0, 1}∗ coconvex if for every n and path s

¯ s(n) ∈ b → ∃m

  • ∀v≤¯

s(m)(v ∈ b) ∨ ∀v≥¯ s(m)(v ∈ b)

  • ,

where v ≤ w means |v| = |w| and v is left of w. Equivalently ¯ s(n) ∈ b → ∃p,m

  • (p = 0 → ∀v≤¯

s(m)(v ∈ b)) ∧

(p = 1 → ∀v≥¯

s(m)(v ∈ b))

  • .

Two “moduli” p and m, depending on s, n and b.

◮ Better “finally coconvex”, with coconvex in the sense that the

b-nodes at height n form the complement of a convex set.

24 / 37

slide-65
SLIDE 65

◮ Josef Berger and Gregor Svindland recently gave a

constructive proof of the fan theorem for “coconvex” bars.

◮ They call a set b ⊆ {0, 1}∗ coconvex if for every n and path s

¯ s(n) ∈ b → ∃m

  • ∀v≤¯

s(m)(v ∈ b) ∨ ∀v≥¯ s(m)(v ∈ b)

  • ,

where v ≤ w means |v| = |w| and v is left of w. Equivalently ¯ s(n) ∈ b → ∃p,m

  • (p = 0 → ∀v≤¯

s(m)(v ∈ b)) ∧

(p = 1 → ∀v≥¯

s(m)(v ∈ b))

  • .

Two “moduli” p and m, depending on s, n and b.

◮ Better “finally coconvex”, with coconvex in the sense that the

b-nodes at height n form the complement of a convex set.

24 / 37

slide-66
SLIDE 66

◮ Josef Berger and Gregor Svindland recently gave a

constructive proof of the fan theorem for “coconvex” bars.

◮ They call a set b ⊆ {0, 1}∗ coconvex if for every n and path s

¯ s(n) ∈ b → ∃m

  • ∀v≤¯

s(m)(v ∈ b) ∨ ∀v≥¯ s(m)(v ∈ b)

  • ,

where v ≤ w means |v| = |w| and v is left of w. Equivalently ¯ s(n) ∈ b → ∃p,m

  • (p = 0 → ∀v≤¯

s(m)(v ∈ b)) ∧

(p = 1 → ∀v≥¯

s(m)(v ∈ b))

  • .

Two “moduli” p and m, depending on s, n and b.

◮ Better “finally coconvex”, with coconvex in the sense that the

b-nodes at height n form the complement of a convex set.

24 / 37

slide-67
SLIDE 67

◮ Josef Berger and Gregor Svindland recently gave a

constructive proof of the fan theorem for “coconvex” bars.

◮ They call a set b ⊆ {0, 1}∗ coconvex if for every n and path s

¯ s(n) ∈ b → ∃m

  • ∀v≤¯

s(m)(v ∈ b) ∨ ∀v≥¯ s(m)(v ∈ b)

  • ,

where v ≤ w means |v| = |w| and v is left of w. Equivalently ¯ s(n) ∈ b → ∃p,m

  • (p = 0 → ∀v≤¯

s(m)(v ∈ b)) ∧

(p = 1 → ∀v≥¯

s(m)(v ∈ b))

  • .

Two “moduli” p and m, depending on s, n and b.

◮ Better “finally coconvex”, with coconvex in the sense that the

b-nodes at height n form the complement of a convex set.

24 / 37

slide-68
SLIDE 68

◮ Josef Berger and Gregor Svindland recently gave a

constructive proof of the fan theorem for “coconvex” bars.

◮ They call a set b ⊆ {0, 1}∗ coconvex if for every n and path s

¯ s(n) ∈ b → ∃m

  • ∀v≤¯

s(m)(v ∈ b) ∨ ∀v≥¯ s(m)(v ∈ b)

  • ,

where v ≤ w means |v| = |w| and v is left of w. Equivalently ¯ s(n) ∈ b → ∃p,m

  • (p = 0 → ∀v≤¯

s(m)(v ∈ b)) ∧

(p = 1 → ∀v≥¯

s(m)(v ∈ b))

  • .

Two “moduli” p and m, depending on s, n and b.

◮ Better “finally coconvex”, with coconvex in the sense that the

b-nodes at height n form the complement of a convex set.

24 / 37

slide-69
SLIDE 69

25 / 37

slide-70
SLIDE 70

Uniform coconvexity with modulus d (direction)

◮ Simplification: p only, depending on node u (i.e., p = d(u)). ◮ Special case of the B&S concept. Goal: better algorithm.

Definition

A set b ⊆ {0, 1}∗ is uniformly coconvex with modulus d if for all u we have: if the innermost path from pu (where p := d(u)) hits b in some node v ∈ b, then

  • ∀w(wpu ≤ v → wpu ∈ b)

if p = 0, ∀w(wpu ≥ v → wpu ∈ b) if p = 1.

26 / 37

slide-71
SLIDE 71

Uniform coconvexity with modulus d (direction)

◮ Simplification: p only, depending on node u (i.e., p = d(u)). ◮ Special case of the B&S concept. Goal: better algorithm.

Definition

A set b ⊆ {0, 1}∗ is uniformly coconvex with modulus d if for all u we have: if the innermost path from pu (where p := d(u)) hits b in some node v ∈ b, then

  • ∀w(wpu ≤ v → wpu ∈ b)

if p = 0, ∀w(wpu ≥ v → wpu ∈ b) if p = 1.

26 / 37

slide-72
SLIDE 72

Uniform coconvexity with modulus d (direction)

◮ Simplification: p only, depending on node u (i.e., p = d(u)). ◮ Special case of the B&S concept. Goal: better algorithm.

Definition

A set b ⊆ {0, 1}∗ is uniformly coconvex with modulus d if for all u we have: if the innermost path from pu (where p := d(u)) hits b in some node v ∈ b, then

  • ∀w(wpu ≤ v → wpu ∈ b)

if p = 0, ∀w(wpu ≥ v → wpu ∈ b) if p = 1.

26 / 37

slide-73
SLIDE 73

u 0u 1u v∈b w0u v∈b w1u

27 / 37

slide-74
SLIDE 74

Recall: coTS(ρ) is the greatest fixed point of the clause s ∈ coTS(ρ) → ∃x∈Tρ,s′∈coT❙(ρ)(s = xs′) The corecursion operator coRτ

S(ρ), of type

τ → (τ → ρ × (S(ρ) + τ)) → S(ρ) is defined by

coRxf =

  • yz

if f (x) = y, InL(z), y(coRx′f ) if f (x) = y, InR(x′).

28 / 37

slide-75
SLIDE 75

Recall: coTS(ρ) is the greatest fixed point of the clause s ∈ coTS(ρ) → ∃x∈Tρ,s′∈coT❙(ρ)(s = xs′) The corecursion operator coRτ

S(ρ), of type

τ → (τ → ρ × (S(ρ) + τ)) → S(ρ) is defined by

coRxf =

  • yz

if f (x) = y, InL(z), y(coRx′f ) if f (x) = y, InR(x′).

28 / 37

slide-76
SLIDE 76

Recall: coTS(ρ) is the greatest fixed point of the clause s ∈ coTS(ρ) → ∃x∈Tρ,s′∈coT❙(ρ)(s = xs′) The corecursion operator coRτ

S(ρ), of type

τ → (τ → ρ × (S(ρ) + τ)) → S(ρ) is defined by

coRxf =

  • yz

if f (x) = y, InL(z), y(coRx′f ) if f (x) = y, InR(x′).

28 / 37

slide-77
SLIDE 77

Lemma (Cototality of corecursion)

Let f : τ → ρ × (S(ρ) + τ) be of InR-form, i.e., f (x) has the form y, InR(x′) for all x. Then coRxf ∈ coTS(ρ) for all x.

Proof.

By coinduction with competitor predicate X := { z | ∃x(z = coRxf ) }. Need to prove that X satisfies the clause defining coTS(ρ): ∀z(z ∈ X → ∃y∃z′(z′ ∈ X ∧ z = yz′)). Let z = coRxf for some x. Since f is assumed to be of InR-form we have y, x′ such that f (x) = y, InR(x′). By the definition of

coRτ S(ρ) we obtain coRxf = y(coRx′f ). Use coRx′f ∈ X.

29 / 37

slide-78
SLIDE 78

Lemma (Cototality of corecursion)

Let f : τ → ρ × (S(ρ) + τ) be of InR-form, i.e., f (x) has the form y, InR(x′) for all x. Then coRxf ∈ coTS(ρ) for all x.

Proof.

By coinduction with competitor predicate X := { z | ∃x(z = coRxf ) }. Need to prove that X satisfies the clause defining coTS(ρ): ∀z(z ∈ X → ∃y∃z′(z′ ∈ X ∧ z = yz′)). Let z = coRxf for some x. Since f is assumed to be of InR-form we have y, x′ such that f (x) = y, InR(x′). By the definition of

coRτ S(ρ) we obtain coRxf = y(coRx′f ). Use coRx′f ∈ X.

29 / 37

slide-79
SLIDE 79

Lemma (Cototality of corecursion)

Let f : τ → ρ × (S(ρ) + τ) be of InR-form, i.e., f (x) has the form y, InR(x′) for all x. Then coRxf ∈ coTS(ρ) for all x.

Proof.

By coinduction with competitor predicate X := { z | ∃x(z = coRxf ) }. Need to prove that X satisfies the clause defining coTS(ρ): ∀z(z ∈ X → ∃y∃z′(z′ ∈ X ∧ z = yz′)). Let z = coRxf for some x. Since f is assumed to be of InR-form we have y, x′ such that f (x) = y, InR(x′). By the definition of

coRτ S(ρ) we obtain coRxf = y(coRx′f ). Use coRx′f ∈ X.

29 / 37

slide-80
SLIDE 80

Lemma (Cototality of corecursion)

Let f : τ → ρ × (S(ρ) + τ) be of InR-form, i.e., f (x) has the form y, InR(x′) for all x. Then coRxf ∈ coTS(ρ) for all x.

Proof.

By coinduction with competitor predicate X := { z | ∃x(z = coRxf ) }. Need to prove that X satisfies the clause defining coTS(ρ): ∀z(z ∈ X → ∃y∃z′(z′ ∈ X ∧ z = yz′)). Let z = coRxf for some x. Since f is assumed to be of InR-form we have y, x′ such that f (x) = y, InR(x′). By the definition of

coRτ S(ρ) we obtain coRxf = y(coRx′f ). Use coRx′f ∈ X.

29 / 37

slide-81
SLIDE 81

The escape path sd ∈ S(B) is constructed from d corecursively: Start with the root node. At any node u, take the

  • pposite direction to what d(u) says, and continue.

Definition (Distance)

Dbnu := ∀v(|v| = n → vu ∈ b) “u has distance n from the bar b”

30 / 37

slide-82
SLIDE 82

The escape path sd ∈ S(B) is constructed from d corecursively: Start with the root node. At any node u, take the

  • pposite direction to what d(u) says, and continue.

Definition (Distance)

Dbnu := ∀v(|v| = n → vu ∈ b) “u has distance n from the bar b”

30 / 37

slide-83
SLIDE 83

Lemma (BoundL, BoundR)

Let b be a uniformly coconvex bar with modulus d. Then for every n there are bounds ℓn, rn for the b-distances of all nodes of the same length n that are left / right of sd(n).

  • Proof. For n = 0 there are no such nodes.

31 / 37

slide-84
SLIDE 84

Consider sd(n + 1) = (sd)nu of length n + 1. Assume (sd)n = 0. Then every node to the left of 0u is a successor node of one to the left of u, and hence ℓn+1 = ℓn − 1. The nodes to the right of 0u are 1u and then nodes which are all successor nodes of one to the right of u. Since 1u is d(u)u, by assumption we have its b-distance

  • m. Let rn+1 = max(m, rn − 1).

ℓn n ℓn+1 u 0u 1u m rn rn+1

32 / 37

slide-85
SLIDE 85

Extracted term for BoundL [hit,d,n](Rec nat=>nat)n 0 ([n0,n1][case (d(U d n0)) (True -> Pred n1 max hit(True::U d n0)cCoSTConstFalse) (False -> Pred n1)]) and for BoundR [hit,d,n](Rec nat=>nat)n 0 ([n0,n1][case (d(U d n0)) (True -> Pred n1) (False -> Pred n1 max hit(False::U d n0)cCoSTConstTrue)]) with hit of type L(B) → I → N.

33 / 37

slide-86
SLIDE 86

Theorem

Let b be a uniformly coconvex bar with modulus d. Then b is a uniform bar, i.e., ∃m∀u(|u| = m → u ∈ b).

34 / 37

slide-87
SLIDE 87

Let sd be the escape path. Since b is a bar, the escape path sd hits b at some length n. Use lemma Bounds: the uniform bound is n + max(ℓn, rn) ℓn n ∈ b sd(n) rn

35 / 37

slide-88
SLIDE 88

Extracted term [hit,d] cBoundL hit d(hit Nil(cEscCoST d))max cBoundR hit d(hit Nil(cEscCoST d))+ hit Nil(cEscCoST d) with hit of type L(B) → I → N.

36 / 37

slide-89
SLIDE 89

Reference

Josef Berger and Gregor Svindland, Constructive convex programming. To appear: Proof-Computation – Digitalization in Mathematics, Computer Science and Philosophy (eds. Mainzer. Schuster, S.) World Scientific, Singapore, 2018

37 / 37