Denoting computation

Similar documents
Complete Partial Orders, PCF, and Control

MFPS LICS Special Session Honouring Dana Scott. Symmetric Scott. Andrew Pitts. Computer Laboratory MFPS/LICS /14

Domain theory and denotational semantics of functional programming

Topology in Denotational Semantics

Category Theory. Categories. Definition.

A Non-Topological View of Dcpos as Convergence Spaces

Categories, Proofs and Programs

FROM COHERENT TO FINITENESS SPACES

Denotational semantics of linear logic

Categories and Functors (Lecture Notes for Midlands Graduate School, 2013) Uday S. Reddy The University of Birmingham

Tutorial on Semantics Part I

Introduction to Kleene Algebras

An Intuitive Introduction to Motivic Homotopy Theory Vladimir Voevodsky

COMP6463: λ-calculus

COMMUTATIVE ALGEBRA LECTURE 1: SOME CATEGORY THEORY

2 Analogies between addition and multiplication

Unary negation: T F F T

Notes about Filters. Samuel Mimram. December 6, 2012

Step-indexed models of call-by-name: a tutorial example

Elements of Category Theory

Linear algebra and differential equations (Math 54): Lecture 10

What does the partial order "mean"?

Adjunctions! Everywhere!

A categorical model for a quantum circuit description language

ACLT: Algebra, Categories, Logic in Topology - Grothendieck's generalized topological spaces (toposes)

A Discrete Duality Between Nonmonotonic Consequence Relations and Convex Geometries

FOUNDATIONS OF ALGEBRAIC GEOMETRY CLASS 2

One-sided shift spaces over infinite alphabets

Sémantique des jeux asynchrones et réécriture 2-dimensionnelle

Syllogistic Logic and its Extensions

Math 541 Fall 2008 Connectivity Transition from Math 453/503 to Math 541 Ross E. Staffeldt-August 2008

Extensions to the Logic of All x are y: Verbs, Relative Clauses, and Only

Mathematical Foundations of Logic and Functional Programming

Solution to Proof Questions from September 1st

We are going to discuss what it means for a sequence to converge in three stages: First, we define what it means for a sequence to converge to zero

Topology Proceedings. COPYRIGHT c by Topology Proceedings. All rights reserved.

arxiv: v1 [cs.pl] 19 May 2016

Notes on Monoids and Automata

CALCULUS ON MANIFOLDS

CHAPTER 4 CLASSICAL PROPOSITIONAL SEMANTICS

Section 7.1 Relations and Their Properties. Definition: A binary relation R from a set A to a set B is a subset R A B.

States and Actions: An Automata-theoretic Model of Objects

Relations on Hypergraphs

To every formula scheme there corresponds a property of R. This relationship helps one to understand the logic being studied.

Building a (sort of) GoI from denotational semantics: an improvisation

Partial Metrics and Quantale-valued Sets. by Michael Bukatin, Ralph Kopperman, Steve Matthews, and Homeira Pajoohesh

MA103 Introduction to Abstract Mathematics Second part, Analysis and Algebra

Concrete Domains. Gilles Kahn INRIA Sophia Antipolis Gordon D. Plotkin University of Edinburgh

Notes on Abstract Interpretation

the categories of complete partial orders with Milner or Vuilemin-sequential functions, and concrete domains with Kahn-Plotkin-sequential functions, a

INTRODUCTION TO CATEGORY THEORY FOR FUNCTIONAL PROGRAMMING

Modeling and Analysis of Communicating Systems

5.4 Continuity: Preliminary Notions

Axiomatic Semantics. Stansifer Ch 2.4, Ch. 9 Winskel Ch.6 Slonneger and Kurtz Ch. 11 CSE

The equivalence axiom and univalent models of type theory.

Extraction from classical proofs using game models

Topos Theory. Lectures 17-20: The interpretation of logic in categories. Olivia Caramello. Topos Theory. Olivia Caramello.

The Logic of Partitions

Step-Indexed Biorthogonality: a Tutorial Example

Sequential algorithms and strongly stable functions

The Minimal Graph Model of Lambda Calculus

Mechanics, Heat, Oscillations and Waves Prof. V. Balakrishnan Department of Physics Indian Institute of Technology, Madras

Non- -overlappings TRSs are UN. Stefan Kahrs and Connor Smith University of Kent

Applied Logic. Lecture 1 - Propositional logic. Marcin Szczuka. Institute of Informatics, The University of Warsaw

Final Exam (100 points)

Locally cartesian closed categories

Relational semantics for a fragment of linear logic

AN ALGEBRA PRIMER WITH A VIEW TOWARD CURVES OVER FINITE FIELDS

Seminaar Abstrakte Wiskunde Seminar in Abstract Mathematics Lecture notes in progress (27 March 2010)

Model theory, algebraic dynamics and local fields

University of Sheffield. School of Mathematics & and Statistics. Measure and Probability MAS350/451/6352

Tree sets. Reinhard Diestel

Topological aspects of restriction categories

CHAPTER THREE: RELATIONS AND FUNCTIONS

CS 6110 Lecture 28 Subtype Polymorphism 3 April 2013 Lecturer: Andrew Myers

Lecture 2: Syntax. January 24, 2018

1. Introduction and preliminaries

Modal and temporal logic

Closure operators on sets and algebraic lattices

Categories and Functors (Lecture Notes for Midlands Graduate School, 2012) Uday S. Reddy The University of Birmingham

Homotopy type theory

ABSTRACT DIFFERENTIAL GEOMETRY VIA SHEAF THEORY

Induction on Failing Derivations

Artificial Intelligence Chapter 7: Logical Agents

EXAMPLES AND EXERCISES IN BASIC CATEGORY THEORY

Inducing syntactic cut-elimination for indexed nested sequents

Formal Techniques for Software Engineering: Denotational Semantics

Universal Properties

Algebraic Geometry

Operational domain theory and topology of sequential programming languages

2.4 The Extreme Value Theorem and Some of its Consequences

cse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska

What are Iteration Theories?

1 Introduction. 2 Categories. Mitchell Faulk June 22, 2014 Equivalence of Categories for Affine Varieties

CS422 - Programming Language Design

Modèles des langages de programmation Domaines, catégories, jeux. Programme de cette seconde séance:

Formal Topology, Chu Space and Approximable Concept

1 Differentiability at a point

Denotational Semantics

A VERY BRIEF REVIEW OF MEASURE THEORY

Transcription:

A jog from Scott Domains to Hypercoherence Spaces 13/12/2006

Outline Motivation 1 Motivation 2 What Does Denotational Semantic Mean? Trivial examples Basic things to know 3 Scott domains di-domains 4 Event structures Coherences Hypercoherences 5

Motivation Why am I here? Well, mainly I wanted to know more about what I will show you, and what better way than this? So, please, bear with me, it won t take long... I hope!

Motivation Why am I here? Well, mainly I wanted to know more about what I will show you, and what better way than this? So, please, bear with me, it won t take long... I hope!

Outline Motivation What Does Denotational Semantic Mean? Trivial examples Basic things to know 1 Motivation 2 What Does Denotational Semantic Mean? Trivial examples Basic things to know 3 Scott domains di-domains 4 Event structures Coherences Hypercoherences 5

What Does Denotational Semantic Mean? Trivial examples Basic things to know First things first: what does operational semantic mean? Operational semantic is a cool and fancy name for what describes how a program written in some language runs. Functional programming language, λ-calculus at the core: variables: x application of a function to an argument: M N definition of a function by abstraction of a variable: λx.m + constants + types

What Does Denotational Semantic Mean? Trivial examples Basic things to know First things first: what does operational semantic mean? Operational semantic is a cool and fancy name for what describes how a program written in some language runs. Functional programming language, λ-calculus at the core: variables: x application of a function to an argument: M N definition of a function by abstraction of a variable: λx.m + constants + types

What Does Denotational Semantic Mean? Trivial examples Basic things to know First things first: what does operational semantic mean? Operational semantic is a cool and fancy name for what describes how a program written in some language runs. Functional programming language, λ-calculus at the core: variables: x application of a function to an argument: M N definition of a function by abstraction of a variable: λx.m + constants + types

Operational Semantics Means... What Does Denotational Semantic Mean? Trivial examples Basic things to know... giving rules for the evaluation of terms. Interaction between abstraction and application, involving substitution: λx.m N M[x := N] Constants have their rules also, for example: { Q if P true if P Q R R if P false

What Does Denotational Semantic Mean? Trivial examples Basic things to know Denotational semantic means instead...... capturing (or trying to do so) the essence of a program, regardless of its evaluation. This is done by interpreting programs as true functions (or rather morphisms) between mathematical structures (or rather objects of a category) which interpret the types. This interpretation is usually denoted by..

Outline Motivation What Does Denotational Semantic Mean? Trivial examples Basic things to know 1 Motivation 2 What Does Denotational Semantic Mean? Trivial examples Basic things to know 3 Scott domains di-domains 4 Event structures Coherences Hypercoherences 5

Set-theoretic partial functions What Does Denotational Semantic Mean? Trivial examples Basic things to know Types as sets: o := { tt, ff } =: Bool, σ τ := τ σ. Partiality sits there for handling divergence. Programs are interpreted with their extensional meaning, for if Bool (Bool (Bool Bool)) as an example: if (tt)(x)(y) := x if (ff)(x)(y) := y Way too many functions: the interpretations get drowned in the sea of all the set theoretical functions!

Set-theoretic partial functions What Does Denotational Semantic Mean? Trivial examples Basic things to know Types as sets: o := { tt, ff } =: Bool, σ τ := τ σ. Partiality sits there for handling divergence. Programs are interpreted with their extensional meaning, for if Bool (Bool (Bool Bool)) as an example: if (tt)(x)(y) := x if (ff)(x)(y) := y Way too many functions: the interpretations get drowned in the sea of all the set theoretical functions!

Terms themselves What Does Denotational Semantic Mean? Trivial examples Basic things to know We can formally define a category in which objects are types τ and morphisms M : σ τ are evaluated terms M of type σ τ. Types are interpreted as themselves, terms as their evaluation. Way too uninformative: the interpretation does not say anything more than the syntax!

Terms themselves What Does Denotational Semantic Mean? Trivial examples Basic things to know We can formally define a category in which objects are types τ and morphisms M : σ τ are evaluated terms M of type σ τ. Types are interpreted as themselves, terms as their evaluation. Way too uninformative: the interpretation does not say anything more than the syntax!

Outline Motivation What Does Denotational Semantic Mean? Trivial examples Basic things to know 1 Motivation 2 What Does Denotational Semantic Mean? Trivial examples Basic things to know 3 Scott domains di-domains 4 Event structures Coherences Hypercoherences 5

From Operational to Denotational What Does Denotational Semantic Mean? Trivial examples Basic things to know. Operational semantic Denotational semantic types τ objects τ terms M : σ τ morphisms M : σ τ reduction M N equality M = N dynamic static

From Operational to Denotational What Does Denotational Semantic Mean? Trivial examples Basic things to know. Operational semantic Denotational semantic types τ objects τ terms M : σ τ morphisms M : σ τ reduction M N equality M = N dynamic static

From Operational to Denotational What Does Denotational Semantic Mean? Trivial examples Basic things to know. Operational semantic Denotational semantic types τ objects τ terms M : σ τ morphisms M : σ τ reduction M N equality M = N dynamic static

From Operational to Denotational What Does Denotational Semantic Mean? Trivial examples Basic things to know. Operational semantic Denotational semantic types τ objects τ terms M : σ τ morphisms M : σ τ reduction M N equality M = N dynamic static

From Operational to Denotational What Does Denotational Semantic Mean? Trivial examples Basic things to know. Operational semantic Denotational semantic types τ objects τ terms M : σ τ morphisms M : σ τ reduction M N equality M = N dynamic static

CCC Motivation What Does Denotational Semantic Mean? Trivial examples Basic things to know In order to interpret λ-calculus we must necessarily be able to handle function spaces inside the category. This amounts to using a cartesian closed category, ccc in short. cartesian for A, B we have a product A B, so that we have (a natural transformation): f : P A, g : P B f, g : P A B and the void product: a terminal object 1, neutral up to isomorphism for. closed for A, B we have a function space A B, so that we have (a natural transformation): f : A B C Λ(f ) : A B C

CCC Motivation What Does Denotational Semantic Mean? Trivial examples Basic things to know In particular: arrows A B of the category are in correspondance with the points 1 A B of the object A B. we have a morphism ev = Λ 1 (id A B ) : (A B) A B which represents internally the application of a function to a point.

What Do We Get? What Does Denotational Semantic Mean? Trivial examples Basic things to know Quoting from the back of Domains and Lambda-Calculi by Amadio and Curien: The main goals are to provide formal tools to assess the meaning of programming constructs [...] and to prove properties about programs, such as whether they terminate, or whether their result is a solution of the problem they are supposed to solve.

Outline Motivation Scott domains di-domains 1 Motivation 2 What Does Denotational Semantic Mean? Trivial examples Basic things to know 3 Scott domains di-domains 4 Event structures Coherences Hypercoherences 5

A good idea! Motivation Scott domains di-domains Dana Scott s idea is to use a refined mathematical concept: Types are interpreted as topological spaces, with a spatial flavour to the concept of information. Programs are interpreted as continuous functions, with computation as some kind of well-behaved flow of information. However...

A good idea! Motivation Scott domains di-domains Dana Scott s idea is to use a refined mathematical concept: Types are interpreted as topological spaces, with a spatial flavour to the concept of information. Programs are interpreted as continuous functions, with computation as some kind of well-behaved flow of information. However topological spaces behave terribly with function spaces, one needs many constraints! Anyway usually domains are presented as orders.

A Scott Domain Is... Scott domains di-domains... a partially ordered set (D, ). Points of D (states) represent amounts of information. x y represents that y contains all the information in x. Supremum and infimum of X (if they exist) are noted by X and X.

A Scott Domain Is... Scott domains di-domains... a poset (D, ). Points of D (states) represent amounts of information. x y represents that y contains all the information in x. Supremum and infimum of X (if they exist) are noted by X and X.

A Scott Domain Is... Scott domains di-domains... a directed complete poset (D, ). X directed if x, y X. z X.x z & y z. D has suprema for all of its directed subsets. Directed sets represent arbitrary approximations of possibly infinite information. Here we say D has the targets of such approximations.

A Scott Domain Is... Scott domains di-domains... a dcpo (D, ). X directed if x, y X. z X.x z & y z. D has suprema for all of its directed subsets. Directed sets represent arbitrary approximations of possibly infinite information. Here we say D has the targets of such approximations.

A Scott Domain Is... Scott domains di-domains... a bounded complete dcpo (D, ). X bounded if z D. x X.x z. D has suprema for all of its bounded subsets. Bounded sets represent consistent information which they can be completed to a common state. Here we say compatible information has a unique way of being extended. In particular we have a bottom element = which represents no information (as for definitions this fact turns the dcpo into a cpo).

A Scott Domain Is... Scott domains di-domains... a bcpo (D, ). X bounded if z D. x X.x z. D has suprema for all of its bounded subsets. Bounded sets represent consistent information which they can be completed to a common state. Here we say compatible information has a unique way of being extended. In particular we have a bottom element = which represents no information (as for definitions this fact turns the dcpo into a cpo).

A Scott Domain Is... Scott domains di-domains... an algebraic bcpo (D, ). The compact elements of D are K(D) := { d D X dir D.(d X x D.d x) } Compact elements are primitive in some sense: they cannot be in an approximation X without already being present in some approximant. Algebraicity is the condition: d D.d = { k K(D) k d }. Here we say that compacts are really primitive: every element is approximable (representable) by them.

That s It! Motivation Scott domains di-domains A Scott Domain is an algebraic bcpo. Not such a long definition, don t you think?

Example: Flat Domains Scott domains di-domains S set: S is (S + { }, ) where x y x =. These are flat domains. They are used to represent atomic data, know all or nothing. For example Bool = tt ff N = 0 1 2

Morphisms of Scott Domains Scott domains di-domains f : D E is continuous iff: it is monotonic: x y = f (x) f (y); it preserves directed suprema: X dir D.f ( X) = f (X). What we are saying is that in order to process infinite information we can stick to the approximations of it and indeed get approximations of the output.

Scott domains di-domains Scott Domains Are a CCC - Product The product is the set-theoretic one with componentwise order, the unit is { }. So for example Bool Bool is: (tt, tt) (tt, ff) (ff, ff) (ff, tt) (tt, ) (, ff) (ff, ) (, tt) (, )

Scott domains di-domains Scott Domains Are a CCC - Function Space We have to define the order on the set of continuous functions, but the pointwise one turns out to be good. f c g x.f (x) g(x)

Ok, So What s the Problem? Scott domains di-domains We have more functions than we would like to have. Most notably the parallel or: por(tt, x) := tt por(x, tt) := tt por(ff, ff) := ff por(x, y) := otherwise por is Scott continuous but cannot be computed sequentially! How can I capture sequentiality?

Ok, So What s the Problem? Scott domains di-domains We have more functions than we would like to have. Most notably the parallel or: por(tt, x) := tt por(x, tt) := tt por(ff, ff) := ff por(x, y) := otherwise por is Scott continuous but cannot be computed sequentially! How can I capture sequentiality?

Outline Motivation Scott domains di-domains 1 Motivation 2 What Does Denotational Semantic Mean? Trivial examples Basic things to know 3 Scott domains di-domains 4 Event structures Coherences Hypercoherences 5

From Continuity to Stability Scott domains di-domains Berry s idea: f : D E is stable iff: it is continuous; if X is bounded then f ( X) = f (X). Given partial info about an output, there exist a minimum info read from input that produces that partial info, in particular that output info cannot come from various input sources.

por Is Not Stable Motivation Scott domains di-domains (tt, ) and (, tt) are bounded by (tt, tt). But por((tt, ) (, tt)) = por(, ) = por(tt, ) por(, tt) = tt tt = tt There is no minimum info taken from input in order to produce output tt, as there are two possible ways of gaining that information.

Oops... Motivation Scott domains di-domains With pointwise ordering of functions ev fails to be stable. No hope of having a CCC! Imposing the stability of ev one gets a restriction of the ordering, the stable one: f s g x y.f (x) = f (y) g(x) Quite awkward if you ask me...

Oops... Motivation Scott domains di-domains With pointwise ordering of functions ev fails to be stable. No hope of having a CCC! Imposing the stability of ev one gets a restriction of the ordering, the stable one: f s g x y.f (x) = f (y) g(x) Quite awkward if you ask me...

Traces Motivation Scott domains di-domains In fact a more natural definition comes from traces. A stable function is completely determined by trace(f ) := { (d, e) K(D) K(E) e f (d) with d minimal } Then we remarkably have f s g trace(f ) trace(g) So s is a good notion of less information than. Unfortunately (D s E, s ) is not a Scott domain in general...

Traces Motivation Scott domains di-domains In fact a more natural definition comes from traces. A stable function is completely determined by trace(f ) := { (d, e) K(D) K(E) e f (d) with d minimal } Then we remarkably have f s g trace(f ) trace(g) So s is a good notion of less information than. Unfortunately (D s E, s ) is not a Scott domain in general...

Scott domains di-domains Ladies and Gentlemen, Meet the di-domains di-domains are Scott domains in which: d) distributes over : if b c then a (b c) = (a b) (a c); I) all compacts have a finite number of states under them: compacts do not contain infinite pieces of information. di-domains and stable functions are a CCC with the usual product. Hmm, it s becoming more complicated... but di-domains are event structures!

Scott domains di-domains Ladies and Gentlemen, Meet the di-domains di-domains are Scott domains in which: d) distributes over : if b c then a (b c) = (a b) (a c); I) all compacts have a finite number of states under them: compacts do not contain infinite pieces of information. di-domains and stable functions are a CCC with the usual product. Hmm, it s becoming more complicated... but di-domains are event structures!

Scott domains di-domains Ladies and Gentlemen, Meet the di-domains di-domains are Scott domains in which: d) distributes over : if b c then a (b c) = (a b) (a c); I) all compacts have a finite number of states under them: compacts do not contain infinite pieces of information. di-domains and stable functions are a CCC with the usual product. Hmm, it s becoming more complicated... but di-domains are event structures!

Scott domains di-domains Ladies and Gentlemen, Meet the di-domains di-domains are Scott domains in which: d) distributes over : if b c then a (b c) = (a b) (a c); I) all compacts have a finite number of states under them: compacts do not contain infinite pieces of information. di-domains and stable functions are a CCC with the usual product. Hmm, it s becoming more complicated... but di-domains are event structures!

Outline Motivation Event structures Coherences Hypercoherences 1 Motivation 2 What Does Denotational Semantic Mean? Trivial examples Basic things to know 3 Scott domains di-domains 4 Event structures Coherences Hypercoherences 5

Let s Try and Keep it Simple! Event structures Coherences Hypercoherences An event structure is E = ( E, Con, ) where: E is a set: the events. Con P fin (E): consistency, s.t. Y X Con = Y Con. Con E: the enabling relation The states of E, noted D(E), are subsets x of E consistent, i.e. X fin x.x Con, and safe, i.e. each e x has a history of enablings all inside x

Stable Event Structures Event structures Coherences Hypercoherences An event structure is stable if every event in every state has a unique enabling in that state. x D(E), e x, X, Y fin x.(x e & Y e = X = Y ) D(E) for E stable event structure are exactly the di-domains. Traces on event structures get a nicer form: trace(f ) = { (x, e) D fin (E) F e f (x) with x minimal } Let s try to simplify more, even restricting our scope... what if all events are initial, i.e. = { } E }?

Stable Event Structures Event structures Coherences Hypercoherences An event structure is stable if every event in every state has a unique enabling in that state. x D(E), e x, X, Y fin x.(x e & Y e = X = Y ) D(E) for E stable event structure are exactly the di-domains. Traces on event structures get a nicer form: trace(f ) = { (x, e) D fin (E) F e f (x) with x minimal } Let s try to simplify more, even restricting our scope... what if all events are initial, i.e. = { } E }?

Simpler! Motivation Event structures Coherences Hypercoherences A qualitative event structure is E = ( E, Con) where: E is a set: the events. Con P fin (E): consistency, s.t. Y X Con = Y Con. The states of E, noted D(E), are subsets x of E consistent, i.e. X fin x.x Con Safeness of states and stability are for free! D(E) for E qualitative event structure are exactly the qualitative domains. Good. Can we simplify even more? What if Con is generated by a binary relation?

Simpler! Motivation Event structures Coherences Hypercoherences A qualitative event structure is E = ( E, Con) where: E is a set: the events. Con P fin (E): consistency, s.t. Y X Con = Y Con. The states of E, noted D(E), are subsets x of E consistent, i.e. X fin x.x Con Safeness of states and stability are for free! D(E) for E qualitative event structure are exactly the qualitative domains. Good. Can we simplify even more? What if Con is generated by a binary relation?

Outline Motivation Event structures Coherences Hypercoherences 1 Motivation 2 What Does Denotational Semantic Mean? Trivial examples Basic things to know 3 Scott domains di-domains 4 Event structures Coherences Hypercoherences 5

Simpler! Simpler! Motivation Event structures Coherences Hypercoherences A coherence space is E = ( E, ) where: E is a set: the web. a binary symmetric reflexive relation: coherence. The states of E, noted D(E), are subsets x of E consistent, i.e. e, f x : e f Well, quite simple: E is a reflexive undirected graph, and D(E) are its cliques. Let s take a look at the product and function spaces.

Simpler! Simpler! Motivation Event structures Coherences Hypercoherences A coherence space is E = ( E, ) where: E is a set: the web. a binary symmetric reflexive relation: coherence. The states of E, noted D(E), are subsets x of E consistent, i.e. e, f x : e f Well, quite simple: E is a reflexive undirected graph, and D(E) are its cliques. Let s take a look at the product and function spaces.

Products, very briefly Event structures Coherences Hypercoherences E F = E + F = {0} E {1} F ; (i, a) (j, b) iff i = j = a b in the relative space. In fact D(E F ) = D(E) D(F ). 1 is the empty web.

Function Spaces Motivation Event structures Coherences Hypercoherences We have a coherence space in which states are exactly the traces of stable functions; E s F = D fin (E) F ; (x, f ) (y, g) iff x y D(E) = (f g & (f = g = x = y)) Mmm, seems like two operations... Exponential!E = D fin (E) with x y iff x y D(E); Linear arrow E F = E F with (d, f ) (e, g) iff d e = (f g & (f = g = d = e)).

Event structures Coherences Hypercoherences Function Spaces and a Glimpse of Linear Logic We have a coherence space in which states are exactly the traces of stable functions; E s F = D fin (E) F ; (x, f ) (y, g) iff x y D(E) = (f g & (f = g = x = y)) Mmm, seems like two operations... Exponential!E = D fin (E) with x y iff x y D(E); Linear arrow E F = E F with (d, f ) (e, g) iff d e = (f g & (f = g = d = e)).

Event structures Coherences Hypercoherences Function Spaces and a Glimpse of Linear Logic We have a coherence space in which states are exactly the traces of stable functions; E s F = D fin (E) F ; (x, f ) (y, g) iff x y D(E) = (f g & (f = g = x = y)) Mmm, seems like two operations... Exponential!E = D fin (E) with x y iff x y D(E); Linear arrow E F = E F with (d, f ) (e, g) iff d e = (f g & (f = g = d = e)).

Problems again? Motivation Event structures Coherences Hypercoherences There is much more to coherence spaces, but there is also a problem, shared by all models with stable functions.

Event structures Coherences Hypercoherences Problems again? Yes, the Gustave function There is much more to coherence spaces, but there is also a problem, shared by all models with stable functions. The Gustave function G

The Gustave Function Event structures Coherences Hypercoherences A vicious one, the Gustave function G is defined by: G(tt, ff, x) := tt G(x, tt, ff) := tt G(ff, x, tt) := tt G(x, y, z) := otherwise It is stable, because (tt, ff, ), (, tt, ff), (ff, tt, ) are not compatible, so we do not check for preservation of minimum. Like por it is not sequentializable, no first input to look at.

Event structures Coherences Hypercoherences Getting Rid of the Gustave Function We want to regard {(tt, ff, ), (, tt, ff), (ff, tt, )} as coherent, while still any two of the triples are incoherent. We move on to a kind of consistency not downward consistent.

Event structures Coherences Hypercoherences Getting Rid of the Gustave Function We want to regard {(tt, ff, ), (, tt, ff), (ff, tt, )} as coherent, while still any two of the triples are incoherent. We move on to a kind of consistency not downward consistent.

Event structures Coherences Hypercoherences dic-domains and Strongly Stable Functions dic-domains: di-domains D equipped with a C(D) P fin (D) with some properties. bounded finite sets of states are in C(D). f : D E is strongly stable iff it is continuous; X C(D).f (X) C(E) & f ( X) = f (X). A := {(tt, ff, ), (, tt, ff), (ff, tt, )} C(Bool 3 ), but G( A) = G(,, ) = while G(A) = {tt} = tt

Outline Motivation Event structures Coherences Hypercoherences 1 Motivation 2 What Does Denotational Semantic Mean? Trivial examples Basic things to know 3 Scott domains di-domains 4 Event structures Coherences Hypercoherences 5

Down again Motivation Event structures Coherences Hypercoherences As for coherence spaces, boil down to qualitative domains with coherence and then... A hypercoherence space is E = ( E, Γ) where: E is a set: the web. Γ P fin ( E ) is s.t. {e} Γ: hypercoherence. The states of E, noted D(E), are subsets x of E consistent, i.e. X fin x : X Γ Well, almost simple: E is a reflexive undirected hypergraph, and D(E) are its cliques.

Down again Motivation Event structures Coherences Hypercoherences As for coherence spaces, boil down to qualitative domains with coherence and then... A hypercoherence space is E = ( E, Γ) where: E is a set: the web. Γ P fin ( E ) is s.t. {e} Γ: hypercoherence. The states of E, noted D(E), are subsets x of E consistent, i.e. X fin x : X Γ Well, almost simple: E is a reflexive undirected hypergraph, and D(E) are its cliques.

Products, very briefly Event structures Coherences Hypercoherences E F = E + F = {0} E {1} F ; X Γ(E F ) iff X E = = X F Γ(F) and viceversa. In fact D(E F ) = D(E) D(F ). 1 is the empty web.

Event structures Coherences Hypercoherences Function Spaces and a Glimpse of Linear Logic We have a coherence space in which states are exactly the traces of stable functions; E s F = D fin (E) F ; (x, f ) (y, g) iff x y D(E) = (f g & (f = g = x = y)) Mmm, seems like two operations... Exponential!E = D fin (E) with x y iff x y D(E); Linear arrow E F = E F with (d, f ) (e, g) iff d e = (f g & (f = g = d = e)).

Event structures Coherences Hypercoherences Function Spaces and a Glimpse of Linear Logic We have a coherence space in which states are exactly the traces of stable functions; E s F = D fin (E) F ; (x, f ) (y, g) iff x y D(E) = (f g & (f = g = x = y)) Mmm, seems like two operations... Exponential!E = D fin (E) with x y iff x y D(E); Linear arrow E F = E F with (d, f ) (e, g) iff d e = (f g & (f = g = d = e)).

Event structures Coherences Hypercoherences Function Spaces and Again a Glimpse of Linear Logic We have a hypercoherence space in which states are exactly the traces of strongly stable functions; E s sf = D fin (E) F ; Γ(X) iff u fin E.(u π 1(X) = u Γ(E)) implies (π 2 (X) Γ & (#π 2 (X) = 1 = #π 1 (X) = 1)) u X means e u. v X.e v and v X. e u.e v.

Event structures Coherences Hypercoherences Function Spaces and Again a Glimpse of Linear Logic We have a hypercoherence space in which states are exactly the traces of strongly stable functions; E s sf = D fin (E) F ; Γ(X) iff u fin E.(u π 1(X) = u Γ(E)) implies (π 2 (X) Γ & (#π 2 (X) = 1 = #π 1 (X) = 1)) Mmm, seems again like two operations... Exponential!E = D fin (E) with X Γ iff u fin E.(u X = u Γ(E); Linear arrow E F = E F with X Γ iff π 1 (X) Γ(E) = (π 2 (X) Γ(F) & (#π 2 (X) = 1 = #π 1 (X) = 1)). (1)

Victory! Motivation Event structures Coherences Hypercoherences If E i, E are flat hypercoherences, a function f : D(E i ) D(E) is sequential iff it is strongly stable.

At Last! Motivation This slides have turned out to be a kind of (maybe too) fast tutorial. There is much still to say about denotational semantic. Anyway my personal interests in them is about: denoting proofs. Coherence spaces are full complete for MLL. Hypercoherence and MALL? Not quite the same, but it should be worked out. the Gustave function arise in proof theory as particular structures which do not correspond to sequential proofs. What other parallelism between the two worlds can be done? is there anything more to say about the relations between (strongly) stable functions and the linear ones which give rise to a bunch of linear adjoints?

Au Revoir! Well, I hope I will be able to speak about these things another time, and why not, maybe even with answers?