Realizability toposes from specifications Jonas Frey

Warsaw, 3 July 2015

1 / 22

Overview

• In this talk New Krivine realizability models using side effects (I/O) Slogan: ‘Specifications are poles’

• Use categorical approach to realizability, via indexed preorders (triposes) [and categories of partial equivalence relations (toposes)]

• Structure of talk: Warm up: categorical formulation of Kleene realizability ‘Classical’ Krivine realizability formulated categorically New poles using side effects Open questions, speculations, future work

2 / 22

Kleene Realizability and the Brouwer-Heyting-Kolmogorov interpretation • BHK: informal proof semantics of constructive predicate logic Slogan: “The meaning of a formula is the set of its proofs” • ‘Proof’ defined by induction on structure of formulas: Proof of P ∧ Q : Proof of P ⇒ Q : Proof of ∀x : N . ϕ(x) : Proof of ⊥ : ...

Pair ha, bi of proof of P and proof of Q Function f mapping proofs of P to proofs of Q Function f mapping integers n to proofs of ϕ(n) None

• Realizability: replace informal ‘proofs’ by representations as mathematical objects, called ‘realizers’ integers closed λ-terms combinators strategies from game semantics ...

3 / 22

Kleene Realizability and the Brouwer-Heyting-Kolmogorov interpretation • BHK: informal proof semantics of constructive predicate logic Slogan: “The meaning of a formula is the set of its proofs” • ‘Proof’ defined by induction on structure of formulas: Proof of P ∧ Q : Proof of P ⇒ Q : Proof of ∀x : N . ϕ(x) : Proof of ⊥ : ...

Pair ha, bi of proof of P and proof of Q Function f mapping proofs of P to proofs of Q Function f mapping integers n to proofs of ϕ(n) None

• Realizability: replace informal ‘proofs’ by representations as mathematical objects, called ‘realizers’ integers closed λ-terms combinators strategies from game semantics ...

• Implication most important for categorical formulation 3 / 22

Categorical approach – ordering on truth values

• Fix set Λ of realizers (say closed λ-terms modulo β-equivalence) • Truth value: Set P ⊆ Λ of realizers • For P, Q ⊆ Λ, a realizer of P ⇒ Q is a t ∈ Λ such that ∀u ∈ P . tu ∈ Q

[Notation: t P ⇒ Q]

• Define ordering on set P(Λ) of truth values by P≤Q

:⇔

∃t ∈ Λ . t P ⇒ Q



∃t ∈ Λ ∀u ∈ P . tu ∈ Q

• (P(Λ), ≤) is a preorder (with only two elements up to equivalence)

4 / 22

Categorical approach – ordering on semantic predicates

• (Semantic) predicates are used to interpret open formulas • Predicates are families of truth values ϕ, ψ : J → P(Λ)

(J indexing set)

• Ordering on predicates ϕ≤ψ

:⇔

∃t ∈ Λ ∀j ∈ J

. t ϕ(j) ⇒ ψ(j)

• (P(Λ)J , ≤) is a Heyting algebra

5 / 22

Categorical approach – ordering on semantic predicates

• (Semantic) predicates are used to interpret open formulas • Predicates are families of truth values ϕ, ψ : J → P(Λ)

(J indexing set)

• Ordering on predicates ϕ≤ψ

:⇔

∃t ∈ Λ ∀j ∈ J

. t ϕ(j) ⇒ ψ(j)

• (P(Λ)J , ≤) is a Heyting algebra • Compare to pointwise ordering ϕ ≤ptw ψ

:⇔

∀j ∈ J ∃t ∈ Λ

. t ϕ(j) ⇒ ψ(j)

5 / 22

Semantic predicates as indexed preorder

• Functions f : K → J induce monotone reindexing maps f ∗ : (P(Λ)J , ≤) → (P(Λ)K , ≤)

• The mappings J f

7→ 7 →

(P(Λ)J , ≤) f∗

constitute an indexed preorder Q : Setop → Ord

6 / 22

Tripos and topos

Q : Setop → Ord is a tripos, i.e. • All preorders (P(Λ)J , ≤) are Heyting algebras • All reindexing maps f ∗ : (P(Λ)J , ≤) → (P(Λ)K , ≤) have adjoints ∃f a f ∗ a ∀f satisfying Frobenius and Beck-Chevalley conditions • There is a generic predicate tr ∈ Q(Prop) satisfying ∗ ∀J ∈ Set ∀ϕ ∈ Q(J) ∃f : J → Prop . ϕ ∼ = f (tr)

From the tripos Q, we can construct a realizability topos Set[Q] Reference: • J. van Oosten. Realizability: An Introduction to its Categorical Side.

7 / 22

Krivine’s classical realizability – basic ideas

Guiding intuitions: • Combination of Kleene realizability and negative translation • Syntax with continuations instead of CPS translation • Negation replaced by (−) ⇒ R, for convenient R (‘pole’) • different R give different realizability models • new: encode specifications in R

8 / 22

The Krivine Machine Three syntactic classes Terms: Stacks: Processes:

t π p

::= x | λx.t | tt | cc | kπ ::= π0 | t·π ::= t ? π

( t closed, π0 ∈ Π0 ) ( t closed )

where Π0 is a fixed set of stack constants • Λ set of closed terms • Π set of stacks • Λ?Π set of processes Reduction relation on processes: (push) (pop) (save) (restore)

tu ? π (λx . t[x]) ? u·π cc ? t·π kπ ? t·ρ

 t ? u·π  t[u] ? π  t ? kπ ·π  t ?π

The first two rules implement weak head reduction The other two capture and restore continuations.

9 / 22

Quasi-Proofs and Poles

To define realizability interpretations we need two more ingredients: Definition QP ⊆ Λ is the set of quasi-proofs, i.e. closed terms not containing any kπ . Observation: t is a quasi-proof iff it does not contain any stack constant π0 Definition A pole is a set ‚ ⊆ Λ?Π of processes closed under inverse reduction Different poles ‚ give different realizability models ... as we shall see now

10 / 22

Truth values, predicates, ordering on predicates • Fix a pole ‚ • Truth values are subsets P ⊆ Π, elements are ‘refutations’ • For t ∈ Λ, P, Q ∈ P(Π) define t P P⇒Q

⇔ ∀π ∈ P . t ? π ∈ ‚ = {u·π | u P, π ∈ Q}

(‘t realizes P’)

• Predicates are families of truth values, i.e. functions ϕ, ψ : J → P(Π) • Define ordering on set P(Π)J of predicates on J by ϕ≤ψ

:⇔

∃t ∈ QP ∀j ∈ J . t ϕ(j) ⇒ ψ(j)

[ Restriction to quasi-proofs to avoid degeneracy ] • (P(Π)J , ≤) is a Boolean algebra • The assignment J 7→ (P(Π)J , ≤) extends to a Boolean tripos K‚ : Setop → Ord, which gives rise to a Boolean topos Set[K‚ ] 11 / 22

Consistency

• Falsity is the set Π of all stacks • K‚ is consistent, if there is no quasi-proof realizing Π ¬∃t ∈ QP . t Π ⇔

¬∃t ∈ QP ∀π ∈ Π . t ? π ∈ ‚



∀t ∈ QP ∃π ∈ Π . t ? π 6∈ ‚

• This motivates Krivine’s ‘thread model’. It is obtained by postulating a stack constant πt for each quasi-proof t, and defining ‚ = {p | ∀t ∈ QP . t ? πt 6



p}

Krivine, J.L. Realizability algebras II: new models of ZF+DC. 2011

12 / 22

Adding effects

• Krivine uses non-logical instructions to realize axioms “Indeed, when we realize usual axioms of mathematics, we need to introduce, one after the other, the very standard tools in system programming: for the law of Peirce, these are continuations (particularly useful for exceptions); for the axiom of dependent choice, these are the clock and the process numbering; for the ultrafilter axiom and the well ordering of R, these are no less than I/O instructions on a global memory, in other words assignment.” (Realizability algebras II) • instructions in Krivine’s sense are not real ‘side’-effects • to model actual ‘side’-effects, Alexandre Miquel proposes operational semantics based on pairs (p, s) where p is a process and s is a state which can be changed by non-logical instructions Miquel, A. Classical modal realizability and side effects. 2009

• Our account is based on Miquel’s, but different notion of pole

13 / 22

The Krivine Machine with read/write (IOKAM) Syntax extended by I/O and termination instructions: Terms: Stacks: Processes:

t π p

::= x | λx.t | tt | cc | kπ | r | w1 | w0 | end ::= ε | t·π ::= t ? π | >

( t closed ) ( t closed )

Operational semantics defined on configurations (p, σ, τ ) with σ, τ ∈ {0, 1}∗ (τ ) (r0) (r1) (rε) (w0) (w1) (e)

( t ?π , ι, ω) ( r ? t·u·v ·π, 0·ι, ω) ( r ? t·u·v ·π, 1·ι, ω) ( r ? t·u·v ·π, ε, ω) ( w0 ? t·π , ι, ω) ( w1 ? t·π , ι, ω) (end ? π , ι, ω)

(u ? ρ, ι, ω) whenever t ? π  u ? ρ ( t ? π, ι, ω) (u ? π, ι, ω) (v ? π, ε, ω) ( t ? π, ι, 0·ω) ( t ? π, ι, 1·ω) ( > , ι, ω)

Intuition: Model of computation that explicitly includes reading and writing of data – instead of ‘values’ or Church numerals.

14 / 22

Properties of the IOKAM

Definition A process p implements a partial function f : N * N, if we have (p, bin(n), ε)



(>, ε, bin(f (n)))

for all n ∈ dom(f ), where bin(n) is the binary representation of n. Theorem (Turing completeness) Every computable f : N * N is implemented by some process p. Proof uses storage operators, which serve to simulate CBV in CBN.

15 / 22

Quasi-Proofs and Poles in presence of I/O Redefine ‘quasi-proof’ and ‘pole’ in presence of side effects: Definition The set QP ⊆ Λ of quasi-proofs is the set of closed terms not containing any I/O instructions r, w0, w1, end. Idea : Quasi-proofs are ‘purely logical’ (continuations allowed) Definition A pole is a set ‚ ⊆ Λ?Π of processes closed under inverse effect-free reduction . Compare: For Miquel (loc. cit.), poles are sets of configurations closed under all inverse transitions. Theorem With these definitions, poles ‚ give rise to triposes K‚ and toposes Set[K‚ ] just as before.

16 / 22

Consistency in presence of I/O

Theorem With the new definitions, a pole ‚ ⊆ Λ?Π is consistent iff every t ∗ π ∈ ‚ \ {>} contains a non-logical instruction. Proof. Recall that consistency means ∀t ∈ QP ∃π ∈ Π . t ? π 6∈ ‚. If all elements of ‚ \ {>} contain non-logical instructions, then t ? ε 6∈ ‚ for any quasi-proof t. Conversely, if t ? π ∈ ‚ is ‘pure’, then kπ t is a quasi-proof-realizing Π.

17 / 22

Poles from specifications

The slogan ‘specifications are poles’ is made precise as follows. Lemma If ‚ ⊆ Λ?Π is closed under observational equivalence, then ‚ is a pole. • Paper uses two different notions of equivalence. • Finer one captures interactivity, based on weak bisimulation • Prime examples do not require interactivity: Example Let f : N * N be a computable function. Then the set ‚f = {p | p implements f } is a pole, which is consistent if f is not everywhere undefined.

18 / 22

Toposes from computable functions

• Poles ‚f give triposes Kf and toposes Set[Kf ] (for for computable f ) • Plan: use toposes Set[Kf ] to study f , in particular wrt complexity • View Set[Kf ] as geometric object, more precisely as ‘space of solutions to algorithmic problem of computing f ’ • Use geometric invariants like cohomology to study shape of Set[Kf ] • Problem: Well-definedness of cohomology not even clear • Look for other ways of understanding the structure of Set[Kf ]

19 / 22

First steps in understanding the structure of Set[Kf ]

• Are the categories Set[Kf ] Grothendieck toposes? Probably not, at least not in a ‘standard’ way (∆ : Set → Set[Kf ] not part of a geometric morphism)

• What is the finite type hierarchy in Set[Kf ]? No idea

• What are the truth values of Set[Kf ]? Not full picture yet, but some structure of f can be encoded in truth values

20 / 22

Relating f and Kf (1) • Kf (1) = (P(Π), ≤) is the order of truth values in Set[Kf ] • Assume f total • For every computable factorization f = g ◦ h define truth value ∗

Pg = {t·ε | ∀n ∈ N . (t ? n·ε, ε, ε)

(>, ε, bin(g(n)))}

Theorem Pg ≤ Pg0 iff g factors through g 0 computably.

h

9N

g

%

k

N h0

% 

9N

g0

N

21 / 22

Thanks for your attention!

22 / 22

Realizability toposes from specifications

Jul 3, 2015 - The other two capture and restore continuations. 9 / 22 .... includes reading and writing of data – instead of 'values' or Church numerals. 14 / 22 ...

199KB Sizes 0 Downloads 163 Views

Recommend Documents

Triposes, q-Toposes and Toposes
Nov 5, 2015 - easy enough to describe, but the weak completion process causes problems with functoriality: given tripos morphisms P .... For all 1 ≤ i

Sufficient Cohesion over atomic toposes
lois topos of Barr-atomic sheaves on finite extensions of the ground field. What does .... primitive Nullstellensatz if for every C in C there exists a map ιD → C for.

1 Business Rules Extraction from Business Processes Specifications ...
from specifications of business processes written in natural language, using the .... simple and straightforward mapping to SBVR concepts [Object Management Group,. 2008]. A small .... document with all the BR candidates' sentences. When a ...

Mining API Error-Handling Specifications from Source ...
file system failures, and slow system response. As a simple ... error handling, a send procedure, which sends the content of a file across the network as ... tection and recovery. ...... IEEE Standard for Information Technology - Portable Operating.

Deriving Correct Prototypes from Formal Z Specifications
Miranda. Neither sets, binary relations, mappings, nor bags are directly available. Hence data refine- ..... the validation cycle is easier. Finally, this paper has only ...

Stock Specifications - Pipes
The surface condition complies with API 5L Annex E. (b) External surface of pipe shall be coated with a layer of varnish. NDT. All pipes will be ultrasonic tested ...

GLUT Specifications - Hippo Games
Nov 13, 1996 - The OpenGL Utility Toolkit (GLUT) is a programming interface with ANSI C and FORTRAN bindings for writ- ing window system .... The advantage of a builtin event dispatch loop is simplicity. GLUT contains routines for rendering fonts and

GeoPackage Specifications -
May 11, 2012 - enabled analytics. This GPKG data container ..... GEOS is widely used by both free and commercial software packages. Quantum GIS (QGIS) is.

GLUT Specifications
Nov 13, 1996 - 14.3 Error Checking and Reporting . ...... GLUT CURSOR UP DOWN Bi-directional pointing up & down. GLUT CURSOR LEFT RIGHT ...

manuscript specifications
Rediset WMX®, however, had only minor effect on the binder ... temperature by 20°C up to 50°C from the conventional Hot Mix Asphalt (HMA) without compromising .... The illustration (Figure 5) also demonstrates the crystallization range of.

Construction Specifications - EPA
... with significant input from stakeholders, based on best available science and .... 7.3 Equipment manuals, Indoor airPLUS label, and certificate provided for ...

GeoPackage Specifications -
May 11, 2012 - It is deployed and supported by Google on Android and Apple on IOS ..... 7.2.10.1. ST_IsRing tests if an Curve value is a ring. 4.1.4.1. 2.1.5.1.

GLUT Specifications - Hippo Games
Nov 13, 1996 - the portability of the program's OpenGL rendering code, the program itself will be window system dependent. Testing and ... Menu Management. These routines create and control pop-up menus. Callback .... 1.6 Terminology. A number of ter

Audio Specifications
alters a pure input signal in any way other than chang- ing its magnitude. The most .... Alternatively, noise filters, or weighting filters, are used when measuring ...

specifications for review
Nov 12, 2008 - UNIT 21. DOUBLEGATE LANE. RAWRETH, WICKFORD. ESSEX. SS11 8UD. TEL. 01268 570020. FAX. 01268 570700. DATE: SCALE:.

Firebird Technical Specifications Database Limits
Database Limits. Item. Firebird 2.x. Firebird 1.5. Maximun size of database. Practically unlimited using multiple database files (largest known database.

specifications for review
Apr 30, 2009 - TEL. 01268 570020. FAX. 01268 570700. DATE: SCALE: DRAWN: Rev-. SPECIFICATIONS ... FOR REVIEW. 0. BBC BROADCASTING HOUSE.

floor mat specifications
goods or services provided to the Town, will be made within 30 days of the receipt of a proper billing or the ..... Are manufacturing employees free to speak up about working conditions without fear of reprisals? ... Customer Svc: 207-797-4006.

Indoor airPlus Construction Specifications - EPA
04) Construction Specifications (February 2018) 2 ... corresponding section numbers that must be met after completing the ...... onal_HERS_Standards.pdf.