Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Computational tools derived from LudicsUse in web technologies
Christophe Fouqueré
Laboratoire d’Informatique de Paris-NordUniversité de Paris 13 - CNRS 7030
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Web is (also) a dialog !
The web is a place of (digital) dialogues between human beingsand/or programs.
We need abstractions of processes and data such that we caninfer and compute:
why? to better understand what is in play,what? properties of computational objects: equivalences ofprograms, discovery of structures in web data, . . .how? by means of (finite) descriptions of interactions:retrieval of information, web service usage.
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
1 Ludics
2 C-Designs
3 Generators and Automata
4 Web and c-Ludics
5 (web) Ontologies and c-Ludics
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Ludics
Ludics is a pre-logical framework upon which logic is built
Ludics:from designs to behaviours w.r.t. interaction
Proof theory:to proofs from formulas w.r.t. rules
Automata:from words to languages w.r.t. acceptance
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Ludics: Objects
DefinitionA chronicle is a sequence of (alternate) actions
(a branch in a proof)
A design on a basis ∆ ` Γ is a set of (coherent) chronicles(a (para)proof)
An ethics is a set of designs(ways to (para)prove formulas)
A behaviour is an ethics closed by biorthogonality(a type, a formula with its set of (para)proofs)
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Designs and Normalization
A design D is a set of coherent chronicles:
åinteraction with a design E succeeds and reduces to adaimon if there exists in D a path dual to some path in theinteracting design E (and this design is in the dual).
åinteraction succeeds if there exists a path dual to somepath in the interacting design (and the result is whatremains).
A design may model a (simple) process (as a web service)or datum (as a concept in a concrete ontology).
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Ludics: Interaction as Normalization
b
b2
b20
b1
z
b
s
s1
b2
b20
b1
s2
z
s
s1
z
s2
z
(boldface for positive actions)
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Ludics: Interaction as dual plays
b
b2
b20
b1
z
b
s
s1
b2
b20
b1
s2
z
s
s1
z
s2
z
(visited paths in each design)
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Designs vs Game Semantics
Plays are ways to travel through (coherent) chronicles as itcould be done with an interaction.
What difference between Game Semantics and Designs?
A strategy is a set of (half)realizations of interaction
A design is a set of (half)potentialities of interaction
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Consequences on Ethics
An ethics is a set of designs:
åinteraction succeeds and reduces to a daimon if there exists,for each design in the ethics, a path dual to some path in theinteracting design.
An ethics models an additive/disjunctive situation, e.g. a webservice that may have different executions w.r.t. what exists inits current context.
In terms of incremental/learning process, adding a designmay delete plays:ånon-monotonicity in terms of plays of designsåmonotonicity in terms of ethics
How?
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Consequences on Ethics
Update of an over-generalization:
åSuppose you consider that ‘eat’ may be a verb or a noun (as‘drink’ is), hence one design for the two possibilities, then youmay reconsider your position by adding a new design:
The original design has two slices: one for verb and one fornounYou add a design that considers only one slice.
Update of an unknown information:
åAdverbs may be used with ‘eat’. ‘up’ is one of them.The original design contains the whole set of suchadverbs. But without ‘content’: just a daimonYou add a design replacing such a daimon by a design thatintegrates some content.
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Computational Ludics (K. Terui, 2008)
Goal: Logical reconstruction of computability andcomplexity theory
Why based on Ludics: monism, interaction, existentialismMonism: One kind of object versus automata/word,program/data, grammar/sentence, . . .Interaction:
Primitive of computation (cf Curry-Howard), acceptanceviewed as orthogonalitySymmetry of the process (versus functions)
Existentialism: not necessarily closed objects
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Computational Ludics: Preliminary Results
Correspondence with automata theory
Computational presentation of (generalized) Ludics (andgeneralization of completeness properties)
Introduction of design generators (hence finite presentationof infinite designs)
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Ludics vs Automata
Correspondence:
set of Actions vs AlphabetDesign vs Word
Behaviour vs LanguageFormula/Type vs (eg reg.) Expression
Orthogonality vs Acceptance
D ⊥ R iff [[D,R]] = Dai iff D∗ is accepted by R∗
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Generalizing Ludics (1)
First of all, Terui defines:
A term language for design presentation.
A language for generating designs, hence giving thepossibility to speak of, say, regular expressions.
åThere is a possibility to deal with infinite reductions.
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Generalizing Ludics (2)
Second:Loci addresses are absolute and reflect a chronicle orderå In an action, a focus and its ramification are replaced bya name together with a set of (distinct) variables. Hence,variables may be replaced/reduced by designs during anormalization step.
Designs are cut-free, however a design may be thenormalized form between two designså Explicit cuts are added to the term language.
Designs are identity-freeå As soon as variables are part of the term language,replacing a variable by another one is nothing else but anidentity.
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Term Language
Girard/Curien’s original designs:Normal, η-expanded, linear lambda terms (maybeinfinitary).Actions built with ramifications: I ∈ Pf (N).(in Desseins) a node is addressed by a locus.(in Desseins) children of negative nodes may have a(maybe infinite) set of negative actions with same focus
C-designs:Arbitrary terms.Actions built from a given signature: A = (A,ar) where
A is a set of names,ar : A → N gives an arity to each name.
A term is referenced by a name.A specific constant corresponds to undefined positivesubnodes, hence divergence: Ω
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Term Language: Actions
Actions are polarized:
A positive action is one of the following:
z daemon
Ω divergence
u proper positive action, u ∈ A
A negative action is one of the following:
x variable
u(x1, . . . , xar(u)) proper negative action
(x1, . . . , xn noted −→xi )
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Term Language: C-designs
The sets of positive and negative designs are coinductivelydefined by:
P ::= z daemon
| Ω divergence
| N0|u〈−→Ni〉 proper action
N ::= x variable
|∑
u u(−→xi ).Pu (negative) choices
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Term Language: Ludics designs as C-designs
In Ludics:
ξ00 ` ξ1` ξ011
z
ξ01 `` ξ0, ξ1
ξ10 ` ξ2` ξ1, ξ2
ξ ` or(−, ξ, 0,1)
(+, ξ0, 0,1)
(−, ξ01, 1)
z
(−, ξ, 1,2)
(+, ξ1, 0)
As a c-design: a(x1, x2).B
B = x1 | b〈∑
u(−→xi ).Ω,C +
∑u 6=c u(
−→xi ).Ω〉
C = c(z1).z
z
+ a′(x ′1, x′2).B′
B′ = x ′1 | b′〈∑
u(−→xi ).Ω〉
or a(x1, x2).(
x1 | b〈∑
u(−→xi ).Ω , c(z1).z +
∑u 6=c u(
−→xi ).Ω〉)
+a′(x ′1, x′2).(x ′1 | b′〈
∑u(−→xi ).Ω〉
)+∑
u 6=a,a′ u(−→xi ).Ω
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Term Normalisation: Extension of λ-calculus
In λ-calculus:
(λx1 . . . xn.P)N1 . . .Nn −→ P[N1/x1, . . . ,Nn/xn]
In C-Ludics:
Reduction rule of c-designs:∑u u(x1 . . . xar(u)).Pu|u0〈N1 . . .Nar(u0)〉
−→ Pu0 [N1/x1, . . . ,Nar(u0)/xar(u0)]
Normalization:P ⇓ Q if P −→∗ Q and Q is neither a cut nor Ω
If such a Q exists, it is noted JPK, J·K is extended to allc-designs.Orthogonality:
N ⊥ P if P[N/x ] ⇓ z
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Term Normalization: a Linear Example
a(−, ξ, 0,1)
(+, ξ0, 0,1)
(−, ξ01, 1)
z
a′(−, ξ, 1,2)
(+, ξ1, 0)
a(+, ξ, 0,1)
(−, ξ1, 2)
z
(−, ξ0, 0,1)
(+, ξ01, 1)
(a(x1, x2).
(x1 | b〈
∑u(−→xi ).Ω , c(z1).z +
∑u 6=c u(
−→xi ).Ω〉)
+ a′(x ′1, x′2).(x ′1 | b′〈
∑u(−→xi ).Ω〉
)+ . . .
)a〈b(y1, y2).
(y2|c〈
∑u(−→xi ).Ω〉
)+∑
u 6=b u(−→xi ).Ω , b”(y”1).z +
∑u 6=b” u(
−→xi ).Ω〉
→(
b(y1, y2).(y2|c〈
∑u(−→xi ).Ω〉
)+∑
u 6=b u(−→xi ).Ω
)b〈∑
u(−→xi ).Ω , c(z1).z +
∑u 6=c u(
−→xi ).Ω〉
→(
c(z1).z +∑
u 6=c u(−→xi ).Ω
)c〈∑
u(−→xi ).Ω〉
→ z
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Term Normalization: a Linear Example
(−, ξ, 0,1)
(+, ξ0, 0,1)
(−, ξ01, 1)
z
(−, ξ, 1,2)
(+, ξ1, 0)
(+, ξ, 0,1)
(−, ξ1, 2)
z
(−, ξ0, 0,1)
(+, ξ01, 1)
b b
(a(x1, x2).
(x1 | b〈
∑u(−→xi ).Ω , c(z1).z +
∑u 6=c u(
−→xi ).Ω〉)
+ a′(x ′1, x′2).(x ′1 | b′〈
∑u(−→xi ).Ω〉
)+ . . .
)a〈b(y1, y2).
(y2|c〈
∑u(−→xi ).Ω〉
)+∑
u 6=b u(−→xi ).Ω , b”(y”1).z +
∑u 6=b” u(
−→xi ).Ω〉
→(
b(y1, y2).(y2|c〈
∑u(−→xi ).Ω〉
)+∑
u 6=b u(−→xi ).Ω
)b〈∑
u(−→xi ).Ω , c(z1).z +
∑u 6=c u(
−→xi ).Ω〉
→(
c(z1).z +∑
u 6=c u(−→xi ).Ω
)c〈∑
u(−→xi ).Ω〉
→ z
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Term Normalization: a Linear Example
(−, ξ, 0,1)
(+, ξ0, 0,1)
(−, ξ01, 1)
z
(−, ξ, 1,2)
(+, ξ1, 0)
(+, ξ, 0,1)
(−, ξ1, 2)
z
(−, ξ0, 0,1)
(+, ξ01, 1)cc
(a(x1, x2).
(x1 | b〈
∑u(−→xi ).Ω , c(z1).z +
∑u 6=c u(
−→xi ).Ω〉)
+ a′(x ′1, x′2).(x ′1 | b′〈
∑u(−→xi ).Ω〉
)+ . . .
)a〈b(y1, y2).
(y2|c〈
∑u(−→xi ).Ω〉
)+∑
u 6=b u(−→xi ).Ω , b”(y”1).z +
∑u 6=b” u(
−→xi ).Ω〉
→(
b(y1, y2).(y2|c〈
∑u(−→xi ).Ω〉
)+∑
u 6=b u(−→xi ).Ω
)b〈∑
u(−→xi ).Ω , c(z1).z +
∑u 6=c u(
−→xi ).Ω〉
→(
c(z1).z +∑
u 6=c u(−→xi ).Ω
)c〈∑
u(−→xi ).Ω〉
→ z
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Term Normalization: a Linear Example
(−, ξ, 0,1)
(+, ξ0, 0,1)
(−, ξ01, 1)
z
(−, ξ, 1,2)
(+, ξ1, 0)
(+, ξ, 0,1)
(−, ξ1, 2)
z
(−, ξ0, 0,1)
(+, ξ01, 1)
(a(x1, x2).
(x1 | b〈
∑u(−→xi ).Ω , c(z1).z +
∑u 6=c u(
−→xi ).Ω〉)
+ a′(x ′1, x′2).(x ′1 | b′〈
∑u(−→xi ).Ω〉
)+ . . .
)a〈b(y1, y2).
(y2|c〈
∑u(−→xi ).Ω〉
)+∑
u 6=b u(−→xi ).Ω , b”(y”1).z +
∑u 6=b” u(
−→xi ).Ω〉
→(
b(y1, y2).(y2|c〈
∑u(−→xi ).Ω〉
)+∑
u 6=b u(−→xi ).Ω
)b〈∑
u(−→xi ).Ω , c(z1).z +
∑u 6=c u(
−→xi ).Ω〉
→(
c(z1).z +∑
u 6=c u(−→xi ).Ω
)c〈∑
u(−→xi ).Ω〉
→ z
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Term Normalization in the Large
In the previous example:Variables are used linearly.They specify an immediate sub-cut.
The framework of c-ludics is more general:Variables may appear several times.Cuts may be put for later usage.
As in the following example...
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Term Normalization: a Non-linear Example
(a(x).
(x | b〈c().
(x | b〈c().z +
∑u 6=c u(
−→xi ).Ω〉)〉))
a〈b(y). (y | c〈〉)〉
→ (b(y). (y | c〈〉)) b〈c().(
(b(y). (y | c〈〉)) b〈c().z +∑
u 6=c u(−→xi ).Ω〉
)→ c().
((b(y). (y | c〈〉)) b〈c().z +
∑u 6=c u(
−→xi ).Ω〉)
c〈〉
→ b(y). (y | c〈〉) b〈c().z +∑
u 6=c u(−→xi ).Ω〉
→(
c().z +∑
u 6=c u(−→xi ).Ω
)c〈〉
→ z
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Term Normalization: a Non-linear Example
(a(x).
(x | b〈c().
(x | b〈c().z +
∑u 6=c u(
−→xi ).Ω〉)〉))
a〈b(y). (y | c〈〉)〉
→ (b(y). (y | c〈〉)) b〈c().(
(b(y). (y | c〈〉)) b〈c().z +∑
u 6=c u(−→xi ).Ω〉
)→ c().
((b(y). (y | c〈〉)) b〈c().z +
∑u 6=c u(
−→xi ).Ω〉)
c〈〉
→ b(y). (y | c〈〉) b〈c().z +∑
u 6=c u(−→xi ).Ω〉
→(
c().z +∑
u 6=c u(−→xi ).Ω
)c〈〉
→ z
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Term Normalization: a Non-linear Example
(a(x).
(x | b〈c().
(x | b〈c().z +
∑u 6=c u(
−→xi ).Ω〉)〉))
a〈b(y). (y | c〈〉)〉
→ (b(y). (y | c〈〉)) b〈c().(
(b(y). (y | c〈〉)) b〈c().z +∑
u 6=c u(−→xi ).Ω〉
)→ c().
((b(y). (y | c〈〉)) b〈c().z +
∑u 6=c u(
−→xi ).Ω〉)
c〈〉
→ b(y). (y | c〈〉) b〈c().z +∑
u 6=c u(−→xi ).Ω〉
→(
c().z +∑
u 6=c u(−→xi ).Ω
)c〈〉
→ z
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Term Normalization: a Non-linear Example
(a(x).
(x | b〈c().
(x | b〈c().z +
∑u 6=c u(
−→xi ).Ω〉)〉))
a〈b(y). (y | c〈〉)〉
→ (b(y). (y | c〈〉)) b〈c().(
(b(y). (y | c〈〉)) b〈c().z +∑
u 6=c u(−→xi ).Ω〉
)→ c().
((b(y). (y | c〈〉)) b〈c().z +
∑u 6=c u(
−→xi ).Ω〉)
c〈〉
→ b(y). (y | c〈〉) b〈c().z +∑
u 6=c u(−→xi ).Ω〉
→(
c().z +∑
u 6=c u(−→xi ).Ω
)c〈〉
→ z
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Term Normalization: a Non-linear Example
(a(x).
(x | b〈c().
(x | b〈c().z +
∑u 6=c u(
−→xi ).Ω〉)〉))
a〈b(y). (y | c〈〉)〉
→ (b(y). (y | c〈〉)) b〈c().(
(b(y). (y | c〈〉)) b〈c().z +∑
u 6=c u(−→xi ).Ω〉
)→ c().
((b(y). (y | c〈〉)) b〈c().z +
∑u 6=c u(
−→xi ).Ω〉)
c〈〉
→ b(y). (y | c〈〉) b〈c().z +∑
u 6=c u(−→xi ).Ω〉
→(
c().z +∑
u 6=c u(−→xi ).Ω
)c〈〉
→ z
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Term Normalization: a Non-linear Example
(a(x).
(x | b〈c().
(x | b〈c().z +
∑u 6=c u(
−→xi ).Ω〉)〉))
a〈b(y). (y | c〈〉)〉
→ (b(y). (y | c〈〉)) b〈c().(
(b(y). (y | c〈〉)) b〈c().z +∑
u 6=c u(−→xi ).Ω〉
)→ c().
((b(y). (y | c〈〉)) b〈c().z +
∑u 6=c u(
−→xi ).Ω〉)
c〈〉
→ b(y). (y | c〈〉) b〈c().z +∑
u 6=c u(−→xi ).Ω〉
→(
c().z +∑
u 6=c u(−→xi ).Ω
)c〈〉
→ z
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Term Normalization: Ludics style
(a(x).
(x | b〈c().
(x | b〈c().z +
∑u 6=c u(
−→xi ).Ω〉)〉))
a〈b(y). (y | c〈〉)〉
(−, ξ, 0)
(+, ξ0, 0)
(−, ξ01, )
(+, ξ0, 0)
(−, ξ01, )
z
(+, ξ, 0)
(−, ξ0, 0)
(+, ξ01, )
a a
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Term Normalization: Ludics style
(a(x).
(x | b〈c().
(x | b〈c().z +
∑u 6=c u(
−→xi ).Ω〉)〉))
a〈b(y). (y | c〈〉)〉
(−, ξ, 0)
(+, ξ0, 0)
(−, ξ01, )
(+, ξ0, 0)
(−, ξ01, )
z
(+, ξ, 0)
(−, ξ0, 0)
(+, ξ01, )
a a
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Term Normalization: Ludics style
→ (b(y). (y | c〈〉)) b〈c().(
(b(y). (y | c〈〉)) b〈c().z +∑
u 6=c u(−→xi ).Ω〉
)
(−, ξ, 0)
(−, ξ0, 0)
(+, ξ01, )
(+, ξ0, 0)
(−, ξ01, )
(−, ξ0, 0)
(+, ξ01, )
(+, ξ0, 0)
(−, ξ01, )
z
(+, ξ, 0)
b b
b b
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Term Normalization: Ludics style
→ c().(
(b(y). (y | c〈〉)) b〈c().z +∑
u 6=c u(−→xi ).Ω〉
)c〈〉
(−, ξ, 0)
(−, ξ0, 0)
(+, ξ01, )
(+, ξ0, 0)
(−, ξ01, )
(−, ξ0, 0)
(+, ξ01, )
(+, ξ0, 0)
(−, ξ01, )
z
(+, ξ, 0)
cc
b b
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Term Normalization: Ludics style
→ b(y). (y | c〈〉) b〈c().z +∑
u 6=c u(−→xi ).Ω〉
(−, ξ, 0)
(−, ξ0, 0)
(+, ξ01, )
(+, ξ0, 0)
(−, ξ01, )
(−, ξ0, 0)
(+, ξ01, )
(+, ξ0, 0)
(−, ξ01, )
z
(+, ξ, 0)
b b
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Term Normalization: Ludics style
→(
c().z +∑
u 6=c u(−→xi ).Ω
)c〈〉
(−, ξ, 0)
(−, ξ0, 0)
(+, ξ01, )
(+, ξ0, 0)
(−, ξ01, )
(−, ξ0, 0)
(+, ξ01, )
(+, ξ0, 0)
(−, ξ01, )
z
(+, ξ, 0)
cc
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Term Normalization: Ludics style
→ z
(−, ξ, 0)
(−, ξ0, 0)
(+, ξ01, )
(+, ξ0, 0)
(−, ξ01, )
(−, ξ0, 0)
(+, ξ01, )
(+, ξ0, 0)
(−, ξ01, )
z
(+, ξ, 0)
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Generators
A design generator is given as a set of recursive definitions ofpositive or negative c-designs:
DefinitionA design generator G is a triple (P,N ,g) such that:
P and N are disjoint sets∀P ∈ P, g(P) is
either z
or Ωor N0 | u〈N1, . . . ,Nn〉 with Ni ∈ N
∀N ∈ N , g(N) iseither a variable xor∑
u(−→xu).Pu with Pu ∈ P
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Generators: Reduction
Reduction rule and normalization may be defined ongenerators in the same way as they are on c-designs.
The reduction rule∑
u u(x1 . . . xar(u)).Pu|u0〈N1 . . .Nar(u0)〉 isextended by corecursion to c-designs defined by generators.
The procedure is not effective as replacement may be infinite(as a design may contain an infinite number of the samevariable).
Instead of the previous reduction, one may define reduction bymeans of stack of environments: substitutions are notexplicitly done but kept in the environment.
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Generators: an Example
Example
The fax may be generated by (, N, η) where
η(N) =∑
u(−→xu).
(N | u〈
−−−→η(xu)〉
)Let P and N without cuts and identities,
JP[−−→η(xi)/
−→xi ]K = P
Jη(N[−−→η(xi)/
−→xi ])K = N
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Generators: Basic Data Types
Integers, lists, ... may be encodedfrom a set of names: eg zero, succ, consand a ‘functional’ name ↑
so that data c-designs d =↑ (x). (x | a〈d1, . . . ,dn〉) encodebasic data:
0∗ =↑ (x). (x | zero〈〉)(n + 1)∗ =↑ (x). (x | succ〈n∗〉)...
DefinitionA function is a negative c-design f [x1, . . . , xn] such that, for alldata c-designs d1, . . . ,dn, Jf [d1, . . .dn]K is either a data designor the undef design, ie ↑ (x).Ω.
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Generators
Remark that(↑ (x).f [x ]) | ↑d −→ f [d ]
Standard functional operations are represented by c-designs,maybe with recursive definitions:
case x of...
let d = e in...
duplication of data
Cuts are necessary to obtain finite specifications !
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Standard C-designs and Finite Automata (1)
A standard c-design (ie a Girard’s design) is a c-design that islinear, cut-free, identity-free,6= Ω, with a finite set of free variables.
A deterministic finite automaton M is a tuple (Σ,Q,δ,q0,QF ):Σ is an alphabetQ is a finite setδ : Q × Σ→ Q is the transition function,
q a−→ q′ iff δ(q,a) = q′
q0 ∈ Q is the initial state and QF ⊂ Q the set of final statesM accepts a word a1 . . . an
if ∃qi ∈ Q s.t. q0a1−→ q1
a2−→ . . .an−→ qf ∈ QF
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Standard C-designs and Finite Automata (2)
Theorem (Terui)Let M be a DFA, there exists a finitely generated positivestandard c-design P such that M accepts w iffJP[w∗/x ]K = z
and vice-versa.
The proof is based on the following:A name nil for the empty string
For each state q, two c-designs q+ and q−
g(q+i ) = x | ↑〈q−i 〉
g(q−i ) =∑
a∈A a(x).q+ja + nil().z, if ∀a ∈ A,qi
a−→ qja and qi ∈ QF
g(q−i ) =∑
a∈A a(x).q+ja + nil().Ω, if ∀a ∈ A,qi
a−→ qja and qi 6∈ QF
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
C-designs and Turing Machines
Theorem (Terui)Let P be a finitely generated positive c-design, there existsa Turing Machine M such that M accepts w iffJP[w∗/x ]K = z
Let M be a Turing Machine, there exists a finitelygenerated positive identity-free linear c-design M suchthat M accepts w iff JP[w∗/x ]K = z
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
C-designs and Turing Machines
In other words:
Girard’s finite designs recognize exactly regularlanguages
Cuts are necessary to recover the full expressivepower of Turing machines
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
C-designs and Grammars: an Example (1)
Example (Language anbn, n > 0)A string w is encoded as a negative c-design w∗:
ε∗ =↑ (x).x |nil〈〉(a.w)∗ =↑ (x).x |a〈w∗〉
Use of a stack to postpone what remains to be done:G[t ] = M[nil().z, t ]M[z, t ] = t | ↑〈a(x).M ′[z, x ]〉M ′[z, t ] = t | ↑ 〈
b(x).(x |↑〈z〉)+a(x).M[b(x).(x |↑〈z〉), ↑ (y).y |a〈x〉] 〉
We write Nil as a shorthand for nil().z.
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
C-designs and Grammars: an Example (2)
M[z, (abw)∗] = ↑ (x ′).(x ′|a〈(bw)∗〉) | ↑〈a(x).M ′[z, x ]〉→ a(x).M ′[z, x ] | a〈(bw)∗〉→ M ′[z, (bw)∗]
= ↑ (x).(x |b〈w∗〉) | ↑〈b(x).(x |↑〈z〉) + a(x).M[.., ..]〉→ (b(x).(x |↑〈z〉) + a(x).M[.., ..]) | b〈w∗〉→ w∗ | ↑〈z〉
G[(ab)∗] = M[Nil, (ab)∗]
→ ε∗ | ↑〈Nil〉 =↑ (x).(x |nil〈〉) | ↑〈Nil〉→ nil().z | nil〈〉→ z
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
C-designs and Grammars: an Example (3)
M[z, (aabbw)∗] = ↑ (x ′).(x ′|a〈(abbw)∗〉) | ↑〈a(x).M ′[z, x ]〉→ a(x).M ′[z, x ] | a〈(abbw)∗〉→ M ′[z, (abbw)∗]
= ↑ (x).(x |a〈(bbw)∗〉) | ↑〈b(x).(x |↑〈z〉) + a(x).M[.., ..]〉→ (b(x).(x |↑〈z〉) + a(x).M[.., ..]) | a〈(bbw)∗〉→ M[b(x).(x |↑〈z〉), ↑ (y).y |a〈(bbw)∗〉]= M[b(x).(x |↑〈z〉), (abbw)∗]
→ (bw)∗ | ↑〈b(x).(x |↑〈z〉)〉→ ↑ (y).(y |b〈w∗〉) | ↑〈b(x).(x |↑〈z〉)〉→ b(x).(x |↑〈z〉) | b〈w∗〉→ w∗ | ↑〈z〉
Hence G[(aabb)∗]→ z
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Web and c-Ludics
To stick to web style, we change slightly the syntax:
Definitionα, β, γ, . . . are tag names,
P ::= z daimon
| Ω divergence
| γ(−→Nγ)@N0 proper case, cut if N0 is not a variable
N ::= x variable
|∑
γ(γ(−→xγ)⇒ Pγ) sum of functionalities
The function ar gives the arity of each tag, i.e. the number ofvalues that has to be sent/received for a given tag.N0 should contain the (address of) the code for executing γ(
−→xγ).
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Web and c-Ludics
Interaction between a negative c-design∑
γ(γ(−→xγ)⇒ Pγ) and a
positive c-design γ(−→Nγ)@x is equivalent to computing the
reduction of the positive c-design γ(−→Nγ)@(
∑γ(γ(−→xγ)⇒ Pγ)):
DefinitionThe reduction rule is given by:
γ(−→Nγ)@(
∑γ(γ(−→xγ)⇒ Pγ)) −→ Pγ [
−→Nγ/−→xγ ]
Interaction succeeds if there is a normal form that is neither acut nor Ω.
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Web Interpretation: User Side
A daimon corresponds to a user stop: she properly exitsthe web dialogue.
A divergence takes place whenever the action proposedby the server is not recognized by her browser.
Otherwise, a proper positive action denotes the linkclicked by the user at some stage of the dialogue (this onecharacterized by an address) together with addresses forthe continuation and other data, e.g. form data. Negativeactions have ϑ as tag if update is the only action performedby the browser.
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Web Interpretation: Server Side
A daimon should not occur as it corresponds to a serverfailure: it has no available answer even if it should.
Divergence corresponds to a request that is not takeninto account, a standard ‘Page not available’ should besent by the overall system.
Otherwise, each sublocus of the update tag ϑ is a supportfor a negative action: each such sublocus corresponds to aframe, the ramification associated to a negative actionbeing a set of links, whereas the set of subloci is a layout.Frames remain available for the dialogue, except the oneswhere user clicks occur.
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Web in c-Ludics: an Example
c-Ludics loci denote memory addresses, either code or data(boldface for positive c-designs):
u,v,w, . . . on the server sidea,b,c, . . . on the user side
User Servera := (ϑ(x)⇒ b) u := ϑ(v1)@xb := β(c)@x v1 := (β(x)⇒ w)c := (ϑ(x1, . . . , xn)⇒ d) w := ϑ(x1, . . . ,xn)@xd := δ0(e)@x1 x1 := (δ0(x)⇒ y) + (δ1(x)⇒ . . . ) + (ε(x)⇒ Dais)
. . .xn := (δ′(x)⇒ y’) + (ε′(x)⇒ Undefs)
e := (ϑ(x1, x2)⇒ Daic) y := ϑ(z1,z2)@xDaic := z Dais := z y’ := . . . Undefs := Ω
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Web in c-Ludics: Execution Example
a
b
c
d
e
Daicz
user stop
ϑ
δ0
userchoice(restrictedby website)
ϑ
β
ϑu
v1
w
x1
y
z1
ϑ
z2
δ0
. . .
δ1
Daisz
ε
ϑ
. . . xn
y’
δ′
Undefs
Ω
ε′
β
ϑ
......
...
layouts ordata
bad serverspecifica-tion
‘Page notavailable’
a link
β(c)@v1
ϑ(x1, . . . ,xn)@c
page update
δ0(e)@x1
user request
ϑ(z1,z2)@e
User Server
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Web in c-Ludics: more than Ludics
Auxiliary arguments may be added for sending or receiving(addresses of) values.Eg sending and displaying an HTML datum of address h on theclient browser:
u’ := ϑ(v1,h)@x on the server side to send datum h,a’ := (ϑ(x , y)⇒ b’) on the client side to receive it,b’ := (let _=(display y) in (β(c)@x)) for displaying thedatum.
The interaction may look like the following:
u’[a’/x ] = ϑ(v1,h)@(ϑ(x , y)⇒ b’)−→ b’[v1/x ,h/y ] = (let _=(display h) in (β(c)@v1))
−→ β(c)@v1 (with h displayed on the client side)
−→ . . .
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Ontologies and c-Ludics
Ontologies, as used in the web, may well fit in such a logicalframework:
Quoting Guarino ("Handbook on Ontologies"):
“A body of formally represented knowledge is based on aconceptualization: the objects, concepts, and other entities thatare assumed to exist in some area of interest and therelationships that hold among them.
A conceptualization is an abstract, simplified view of the worldthat we wish to represent for some purpose.
Every knowledge base, knowledge-based system, orknowledge-level agent is committed to some conceptualization,explicitly or implicitly.”
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Quoting Quine’s slogan ("On what there is"):“To be is to be the value of a bounded variable”
åThe logic to be adopted, according to Quine, is First OrderLogic relying on set theory.
Hence:concepts and relations are denoted by sets of objects,data that are recorded in the system as instantiating thoseconcepts and relations.
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
However:
such a choice implies that any change in the extensionalpicture produces also a change of conceptualization
It means that even the turn-over, over the time, of theinstances of a concept causes an unending change of thereference conceptualization.
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
(works done with Abrusci and Romano)
The focus is on the extensional level, i.e. on “real” objects:relations among resources are encoded in a logicalframework,hence the logical interpretation should rely on structuresricher than sets: Coherence Spaces
The interpretation of a concept produces:graph theoretical objectsthe determination of the extensional counterpart within thecollection of resources.
What is a resource? In concrete / web ontologies: data storedin some base, tags put by a user
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Ontologies may then be represented in c-Ludics:
requests and concepts should be considered syntax andsemantics, modelled in a unique kind of objectsusing interaction objects as elementary objects allows fortaking into account particularities of requesting informationover the webgenerators are rational elementary denotationsrequests and concepts are double orthogonal of suchassembled blocks
This may provide means for a complete approach fromdialogue to ontologies, integrating nicely a possibility formodelling learning.
Ludics C-Designs Generators and Automata Web and c-Ludics (web) Ontologies and c-Ludics
Thanks for your attention