SlideShare uma empresa Scribd logo
1 de 67
Baixar para ler offline
Reasoning and the Semantic Web

Hassan A¨t-Kaci
ı
ANR Chair of Excellence

´
Universite Claude Bernard Lyon 1

Constraint Event-Driven Automated Reasoning Project

C E D A R
Reasoning and the Semantic Web

Outline
◮ Constraint Logic Programming
◮ What is unification?
◮ Semantic Web objects
◮ Graphs as constraints
◮ OWL and DL-based reasoning
◮ Constraint-based Semantic Web

reasoning
◮ Recapitulation

1
Reasoning and the Semantic Web

Outline
◮ Constraint Logic Programming
◮ What is unification?
◮ Semantic Web objects
◮ Graphs as constraints
◮ OWL and DL-based reasoning
◮ Constraint-based Semantic Web

reasoning
◮ Recapitulation

2
Constraint Logic Programming

In Prolog seen as a CLP language, a clause such as:
append([],L,L).
append([H|T],L,[H|R]) :- append(T,L,R).

is construed as:
append(X1,X2,X3) :- true
| X1 = [],

X2 = L, X3 = L.

append(X1,X2,X3) :- append(X4,X5,X6)
| X1 = [H|T], X2 = L, X3 = [H|R],
X4 = T,
X5 = L, X6 = R.
3
Constraint Logic Programming Scheme

The CLP scheme requires a set R of relational symbols (or,
predicate symbols) and a constraint language L.
The constraint language L needs very little
—(not even syntax!):
◮ a set V of variables (denoted as capitalized X, Y, . . .);
◮ a set Φ of formulae (denoted φ, φ′, . . .) called constraints;
◮ a function VAR: Φ → V, giving for every constraint φ the
set VAR(φ) of variables constrained by φ;
◮ a family of interpretations A over some domain D A;
◮ a set VAL (A) of valuations—total functions α : V → D A.
4
Constraint Logic Programming Language

Given a set of relational symbols R (r, r1, . . .), a constraint
language L is extended into a language R(L) of constrained
relational clauses with:
◮ the set R(Φ) of formulae defined to include:

– all formulae φ in Φ, i.e., all L-constraints;
– all relational atoms r(X1, . . . , Xn),
where X1, . . . , Xn ∈ V are mutually distinct;
and closed under & (conjunction) and → (implication);
◮ extending an interpretation A of L by adding relations:
rA ⊆ DA × . . . × DA for each r ∈ R.
5
Constraint Logic Programming Clause

We define a CLP constrained definite clause in R(L) as:
r(X) ← r1(X1) & . . . & rm(Xm) [] φ,

where (0 ≤ m) and:
◮ r(X), r1(X1), . . . , rm(Xm) are relational atoms in R(L); and,
◮ φ is a constraint formula in L.

A constrained resolvent is a formula ̺ [] φ, where ̺ is
a (possibly empty) conjunction of relational atoms r(X1, . . . , Xn)—
its relational part—and φ is a (possibly empty) conjunction of Lconstraints—its constraint part.
6
Constraint Logic Programming Resolution

Constrained resolution is a reduction rule on resolvents that
gives a sound and complete interpreter for programs consisting of a set C of constrained definite R(L)-clauses.
The reduction of a constrained resolvent of the form:
B1 & . . . & r(X1, . . . , Xn) & . . . Bk [] φ
by the (renamed) program clause:
r(X1, . . . , Xn) ← A1 & . . . & Am [] φ′
is the new constrained resolvent of the form:
B1 & . . . & A1 & . . . & Am & . . . Bk [] φ & φ′.
7
Why Constraints?

Some important points:
◮ But... wait a minute: “Constraints are logical formulae—so

why not use only logic?”
Indeed, constraints are logical formulae—and that is good!
But such formulae as factors in a conjunction commute
with other factors, thus freeing operational scheduling of
resolvents.
◮ A constraint is a formula solvable by a specific solving

algorithm rather than general-purpose logic-programming
machinery.
◮ Better: constraint solving remembers proven facts (proof

memoizing).
Such are key points exploited in CLP!

8
Constraint Solving—Constraint Normalization

Constraint solving is conveniently specified using constraint
normalization rules, which are semantics-preserving syntaxdriven rewrite (meta-)rules.
Plotkin’s SOS notation:
(n) Rule Name
Prior Form
if Condition

Posterior Form

A normalization rule is said to be correct iff the prior form’s
denotation is equal to the posterior form’s whenever the side
condition holds.

9
Constraint Normalization—Declarative Coroutining

Normalizing a constraint yields a normal form: a constraint
formula that can’t be transformed by any normalization rule.
Such may be either the inconsistent constraint ⊥, or:
◮ a solved form—a normal form that can be immediately

deemed consistent; or,
◮ a residuated form—a normal form but not a solved form.

A residuated constraint is a suspended computation; shared
variables are inter-process communication channels: binding in one normalization process may trigger resumption of
another residuated normalization process.
Constraint residuation enables automatic coroutining!
10
Reasoning and the Semantic Web

Outline
◮ Constraint Logic Programming
◮ What is unification?
◮ Semantic Web objects
◮ Graphs as constraints
◮ OWL and DL-based reasoning
◮ Constraint-based Semantic Web

reasoning
◮ Recapitulation

11
What is unification?—First-order terms

The set TΣ,V of first-order terms is defined given:
◮ V a countable set of variables;
◮ Σn sets of constructors of arity n (n ≥ 0);
◮ Σ = ∪n≥0Σn the constructor signature.

Then, a first-order term (FOT) is either:
◮ a variable in V; or,
◮ an element of Σ0; or,
◮ an expression of the form f (t1, . . . , tn),
where n > 0, f ∈ Σn, and ti is a FOT, for all i ≥ 1.

Examples of FOTs:

X

a

f (g(X, a), Y, h(X))

(variables are capitalized as in Prolog).

12
What is unification?—Substitutions & instances

A variable substitution is a map σ : V → TΣ,V such that the
set {X ∈ V | σ(X) = X} is finite.
Given a substitution σ and a FOT t, the σ-instance of t is the
FOT:

if t = X ∈ V;
 σ(X)
if t = a ∈ Σ0;
tσ = a

f (t1σ, . . . , tnσ) if t = f (t1, . . . , tn).
Unification is the process of solving an equation of the form:
.
t = t′
13
What is unification?—FOT equation solving

A solution, if one exists, is any substitution σ such that:
tσ = t′σ

If solutions exist, there is always a minimal solution (the
most general unifier ): mgu(t, t′).
where: “σ1 is more general than σ2”

iff ∃σ s.t. σ2 = σ1σ

Equation and solution example:
.
f (g(X, b), X, g(h(X), Y )) = f (g(U, U ), b, g(V, a))
.
.
.
.
X = b, Y = a, U = b, V = h(b)
14
What is unification?—Algorithms

FOT unification algorithms have been (re-)invented:

◮ J. Herbrand (PhD thesis—page 148, 1930)
◮ J.A. Robinson (JACM 1965)
◮ A. Martelli & U. Montanari (ACM TOPLAS 1982)

But, rather than a monolithic algorithm, FOT unification is
simply expressible as a set of syntax-driven commutative
and terminating constraint normalization rules!
15
What is unification?—Constraint normalization rules

(1) Substitute
.
φ & X =t
.
φ[X/t] & X = t

if X occurs in φ

(2) Decompose
.
φ & f (s1 , . . . , sn ) = f (t1, . . . , tn)
.
.
φ & s1 = t1 & . . . & sn = tn

if f ∈ Σn, (n ≥ 0)

(3) Fail
.
φ & f (s1 , . . . , sn ) = g(t1, . . . , tm)
⊥

if
f ∈ Σn, (n ≥ 0)
and g ∈ Σm, (m ≥ 0)
and m = n

16
What is unification?—Constraint normalization rules

(4) Flip
.
φ & t=X
.
φ & X=t

if
X∈V
and t ∈ V

(5) Erase
.
φ & t=t
φ

if t ∈ Σ0 ∪ V

(6) Cycle
.
φ & X=t
⊥

if
X∈V
and t ∈ V
and X occurs in t

17
Reasoning and the Semantic Web

Outline
◮ Constraint Logic Programming
◮ What is unification?
◮ Semantic Web objects
◮ Graphs as constraints
◮ OWL and DL-based reasoning
◮ Constraint-based Semantic Web

reasoning
◮ Recapitulation

18
Semantic Web objects—Objects are labelled graphs!
JohnDoe35

true
er
ot
isV

marriedPerson
a

c
first

name

fullName

j

last

d

ag
e

"John"

"Doe"
k

42

DoeResidence

spouse

spouse

ess
addr

e

streetAddress
f

marriedPerson
b

l
"Main Street"
m
"Sometown"
n
o

40
g
first

name

is
Vo
te
r

city
co
un
tr y

123

"USA"

add
res
s

e
ag

er
mb
nu
street

fullName

"Jane"
p

last

h

"Doe"
q

JaneDoe78

false
i
19
Semantic Web objects—Objects are labelled graphs!

JohnDoe35 : marriedPerson ( name

=> fullName
( first => "John"
, last => "Doe" )
=> 42
, age
, address => DoeResidence
, spouse => JaneDoe78
, isVoter => true
)

20
Semantic Web objects—Objects are labelled graphs!

JaneDoe78 : marriedPerson ( name

=> fullName
( first => "Jane"
, last => "Doe" )
=> 40
, age
, address => DoeResidence
, spouse => JohnDoe35
, isVoter => false
)

DoeResidence : streetAddress

(
,
,
,
)

number
street
city
country

=>
=>
=>
=>

123
"Main Street"
"Sometown"
"USA"

21
Semantic Web types—Types are labelled graphs!
M1

boolean

er
ot
V
is

c
first

name

marriedPerson
a

fullName

j

last

d

ag
e

string

string
k

int
ess
addr

e
R

spouse

spouse

er
mb
nu
t
stree
streetAddress

add
ress

f

e
ag

marriedPerson
b

l
string
m

city

co
un
tr y

string
n
string
o

int
g
first

name
is
Vo
te
r

int

fullName

string
p

last

h

string
q

M2

boolean
i
22
Semantic Web types—Types are labelled graphs!

M1 : marriedPerson ( name

=> fullName
( first => string
, last => string )
=> int
, age
, address => R
, spouse => M2
, isVoter => boolean
)

23
Semantic Web formalisms—Types are labelled graphs!

M2 : marriedPerson ( name

=> fullName
( first => string
, last => string )
, age
=> int
, address => R
, spouse => M1
, isVoter => boolean
)

R : streetAddress

(
,
,
,
)

number
street
city
country

=>
=>
=>
=>

int
string
string
string

24
Reasoning and the Semantic Web

Outline
◮ Constraint Logic Programming
◮ What is unification?
◮ Semantic Web objects
◮ Graphs as constraints
◮ OWL and DL-based reasoning
◮ Constraint-based Semantic Web

reasoning
◮ Recapitulation

25
Original motivation: Formalize this?—ca. 1982

26
Graphs as constraints—Motivation

◮ What: a formalism for representing objects that is:

intuitive (objects as labelled graphs), expressive (“real-life” data
models), formal (logical semantics), operational (executable), &
efficient (constraint-solving)
◮ Why? viz., ubiquitous use of labelled graphs to structure

information naturally as in:
– object-orientation, knowledge representation,
– databases, semi-structured data,
– natural language processing, graphical interfaces,
– concurrency and communication,
– XML, RDF, the “Semantic Web,” etc., ...
27
Graphs as constraints—History

Viewing graphs as constraints stems from the work of:

◮ Hassan A¨t-Kaci (since 1983)
ı
◮ Gert Smolka (since 1986)
◮ Andreas Podelski (since 1989)

¨
◮ Franz Baader, Rolf Backhofen, Jochen Dorre, Martin Emele,
Bernhard Nebel, Joachim Niehren, Ralf Treinen, Manfred
Schmidt-Schauß, Remi Zajac, . . .
28
Graphs as constraints—Inheritance as graph endomorphism
first
name
last

string

id

person

string
first
name
last

married person

string

id
spouse

string

spouse

last

married person

name

id
29
Graphs as constraints—Inheritance as graph endomorphism
first
name
last

string

id

person

string
first
name
last

married person

string

id
spouse

string

spouse

last

married person

name

id
30
Graphs as constraints—OSF term syntax

Let V be a countable set of variables, and S a lattice of sorts.
An OSF term is an expression of the form:
X : s(ℓ1 ⇒ t1, . . . , ℓn ⇒ tn)
where:
◮ X ∈ V is the root variable
◮ s ∈ S is the root sort
◮ n ≥ 0 (if n = 0, we write X : s)
◮ {ℓ1, . . . , ℓn } ⊆ F are features
◮ t1, . . . , tn are OSF terms
31
Graphs as constraints—OSF term syntax example

X : person(name ⇒ N : ⊤(f irst ⇒ F : string),
name ⇒ M : id(last ⇒ S : string),
spouse ⇒ P : person(name ⇒ I : id(last ⇒ S : ⊤),
spouse ⇒ X : ⊤)).

Lighter notation (showing only shared variables):
X : person(name ⇒ ⊤(f irst ⇒ string),
name ⇒ id(last ⇒ S : string),
spouse ⇒ person(name ⇒ id(last ⇒ S),
spouse ⇒ X)).
32
Graphs as constraints—OSF clause syntax

An OSF constraint is one of:
◮X :s

. ′
◮ X.ℓ = X
. ′
◮X =X
where X (X ′) is a variable (i.e., a node), s is a sort (i.e., a
node’s type), and ℓ is a feature (i.e., an arc).
An OSF clause is a conjunction of OSFconstraints—i.e., a
set of OSF constraints
φ1 & . . .

& φn
33
Graphs as constraints—From OSF terms to OSF clauses

An OSF term t = X : s(ℓ1 ⇒ t1, . . . , ℓn ⇒ tn) is dissolved
into an OSF clause φ(t) as follows:

ϕ(t) = X : s
=
DEF

&
&

.
X.ℓ1 = X1
ϕ(t1)

&
&

...
...

&
&

.
X.ℓn = Xn
ϕ(tn)

where X1, . . . , Xn are the root variables of t1, . . . , tn.
34
Graphs as constraints—Example of OSF term dissolution

t = X : person(name ⇒ N : ⊤(f irst ⇒ F : string),
name ⇒ M : id(last ⇒ S : string),
spouse ⇒ P : person(name ⇒ I : id(last ⇒ S : ⊤),
spouse ⇒ X : ⊤))
ϕ(t) = X : person &
&
&
&
&
&
&
&

.
X . name = N
.
X . name = M
.
X . spouse = P
.
N . f irst = F
.
M . last
= S
.
P . name = I
.
I . last
= S
.
P . spouse = X

& N: ⊤
& M : id
& P : person
& F : string
& S : string
& I : id
& S:⊤
& X: ⊤
35
Graphs as constraints—Basic OSF term normalization

(1) Sort Intersection
φ & X : s & X : s′
φ & X : s ∧ s′
(2) Inconsistent Sort

(3) Variable Elimination
.
φ & X = X′
if
X = X′
.
φ[X ′/X] & X = X ′ and X ∈ Var(φ)

φ & X:⊥

(4) Feature Functionality
.
.
φ & X.ℓ = X ′ & X.ℓ = X ′′

X:⊥

.
.
φ & X.ℓ = X ′ & X ′ = X ′′

36
Graphs as constraints—OSF unification as OSF constraint normalization

person

employee

student

faculty

staff
intern

bob

piotr

pablo simon elena

art

judy

don john

sheila
37
Graphs as constraints—OSF unification as OSF constraint normalization

X : student
(roommate => person(rep => E : employee),
advisor => don(secretary => E))
&
Y : employee
(advisor => don(assistant => A),
roommate => S : student(rep => S),
helper
=> simon(spouse => A))
&
X = Y

38
Graphs as constraints—OSF unification as OSF constraint normalization

X : intern
(roommate => S : intern(rep => S),
advisor => don(assistant => A,
secretary => S),
helper => simon(spouse => A))
&
X = Y
&
E = S
39
Graphs as constraints—Extended OSF terms

Basic OSF terms may be extended to express:
◮ Non-lattice sort signatures
◮ Disjunction
◮ Negation
◮ Partial features
◮ Extensional sorts (i.e., denoting elements)
◮ Relational features (a.k.a., “roles”)

`
◮ Aggregates (a la monoid comprehensions)
◮ Regular-expression feature paths
◮ Sort definitions (a.k.a., “OSF theories”—“ontologies”)
40
Order-sorted featured graph constraints—(Summary)

We have overviewed a formalism of objects where:

◮ “real-life” objects are viewed as logical constraints
◮ objects may be approximated as set-denoting constructs
◮ object normalization rules provide an efficient operational

semantics
◮ consistency extends unification (and thus matching)
◮ this enables rule-based computation (whether rewrite or

logical rules) over general graph-based objects
◮ this yield a powerful means for effectively using ontologies
41
Reasoning and the Semantic Web

Outline
◮ Constraint Logic Programming
◮ What is unification?
◮ Semantic Web objects
◮ Graphs as constraints
◮ OWL and DL-based reasoning
◮ Constraint-based Semantic Web

reasoning
◮ Recapitulation

42
Semantic Web formalisms—OWL speaks

What language(s) do OWL’s speak?—a confusing growing
crowd of strange-sounding languages and logics:
• OWL, OWL Lite, OWL DL, OWL Full
• DL, DLR, . . .
• AL, ALC, ALCN , ALCN R, . . .
• SHIF , SHIN , CIQ, SHIQ, SHOQ(D), SHOIQ, SRIQ,
SROIQ, . . .
Depending on whether the system allows:
• concepts, roles (inversion, composition, inclusion, . . . )
• individuals, datatypes, cardinality constraints
• various combination thereof
43
Semantic Web formalisms—DL dialects

For better or worse, the W3C has married its efforts to DLbased reasoning systems:
◮ All the proposed DL Knowledge Base formalisms in the

OWL family use tableaux-based methods for reasoning
◮ Tableaux methods work by building models explicitly via

formula expansion rules
◮ This limits DL reasoning to finite (i.e., decidable) models
◮ Worse, tableaux methods only work for small ontologies:

they fail to scale up to large ontologies
44
Semantic Web formalisms—DL dialects

Tableaux style DL reasoning (ALCN R)

C ONJUNCTIVE C ONCEPT:

E XISTENTIAL R OLE :
S

if x : (C1 ⊓ C2 ) ∈ S
and {x : C1 , x : C2 } ⊆ S

S ∪ {x : C1, x : C2}

D ISJUNCTIVE C ONCEPT:



if
 and
and

DEF

x : (∃R.C) ∈ S s.t. R =
=
z : C ∈ S ⇒ z ∈ RS [x]
y is new

m
i=1

Ri




S ∪ {xRiy}m ∪ {y : C}
i=1

M IN C ARDINALITY:
S

if x : (C1 ⊔ C2 ) ∈ S
and x : Ci ∈ S (i = 1, 2)

S

S ∪ {x : Ci}



if
 and
and

DEF

x : (≥ n.R) ∈ S s.t. R =
=
|RS [x]| = n
yi is new (0 ≤ i ≤ n)

m
i=1

Ri




S
S ∪ {xRiyj }m,n
. i,j=1,1
∪ {yi = yj }1≤i<j≤n

U NIVERSAL R OLE :


if
 and
and


x : (∀R.C) ∈ S

y ∈ RS [x]
y:C ∈ S

S
S ∪ {y : C}

M AX C ARDINALITY:


if
 and
and


x : (≤ n.R) ∈ S
|RS [x]| > n and y, z ∈ RS [x] 
.
y=z ∈ S

S
S ∪ S[y/z]

45
Understanding OWL speak—OSF vs. DL

Understanding OWL amounts to reasoning with knowledge
expressed as OWL sentences. Its DL semantics relies on
explicitly building models using induction.
ergo:
Inductive techniques are eager and (thus) wasteful
Reasoning with knowledge expressed as constrained (OSF)
graphs relies on implicitly pruning inconsistent elements using coinduction.
ergo:
Coinductive techniques are lazy and (thus) thrifty
46
Reasoning and the Semantic Web

Outline
◮ Constraint Logic Programming
◮ What is unification?
◮ Semantic Web objects
◮ Graphs as constraints
◮ OWL and DL-based reasoning
◮ Constraint-based Semantic Web

reasoning
◮ Recapitulation

47
LIF E—Rules + constraints for Semantic Web reasoning

LIFE—Logic, Inheritance, Functions, and Equations
CLP(χ)—Constraint, Logic, Programming, parameterized over
is a constraint system χ
LIFE is a CLP system over OSF constraints and functions
over them (rewrite rules); namely:

LIFE = CLP(OSF + FP)

48
LIF E—Rules + constraints for Semantic Web reasoning

adultPerson

employee

richemployee

marriedPerson

marriedEmployee

A multiple-inheritance hierarchy
49
The same hierarchy in Java
interface adultPerson {
name id;
date dob;
int age;
String ssn;
}
interface employee extends adultPerson {
title position;
String institution;
employee supervisor;
int salary;
}
interface marriedPerson extends adultPerson {
marriedPerson spouse;
}
interface marriedEmployee extends employee, marriedPerson {
}
interface richEmployee extends employee {
}
50
The same hierarchy in LIF E

employee <: adultPerson.
marriedPerson <: adultPerson.
richEmployee <: employee.
marriedEmployee <: employee.
marriedEmployee <: marriedPerson.
:: adultPerson

(
,
,
,

id ⇒ name
dob ⇒ date
age ⇒ int
ssn ⇒ string ).

:: employee

(
,
,
,

position ⇒ title
institution ⇒ string
supervisor ⇒ employee
salary ⇒ int ).

:: marriedPerson ( spouse ⇒ marriedPerson ).
51
A relationally and functionally constrained LIF E sort hierarchy

:: P : adultPerson (
,
,
,

id ⇒ name
dob ⇒ date
age ⇒ A : int
ssn ⇒ string )

| A = ageInYears(P ), A ≥ 18.

:: employee

(
,
,
,

position ⇒ T : title
institution ⇒ string
supervisor ⇒ E : employee
salary ⇒ S : int )

| higherRank(E.position, T ) , E.salary ≥ S.

52
A relationally and functionally constrained LIF E sort hierarchy

:: M : marriedPerson ( spouse ⇒ P : marriedPerson )
| P.spouse = M.

:: R : richEmployee

( institution ⇒ I
, salary ⇒ S )

| stockValue(I) = V , hasShares(R, I, N ) , S + N ∗ V ≥ 200000.

53
Proof “memoizing”

OSF constraints as syntactic variants of logical formulae:

Sorts are unary predicates:

X : s ⇐⇒ [ s]]([[X]])

.
Features are unary functions: X.f = Y ⇐⇒ [ f ] ([[X]]) = [ Y ]
Coreferences are equations:

.
X = Y ⇐⇒ [ X]] = [ Y ]

So . . .
Why not use (good old) logic proofs instead?
54
Proof “memoizing”

But:

model equivalence = proof equivalence!

◮ OSF-unification proves sort constraints by reducing them

monotonically w.r.t. the sort ordering
◮ ergo, once X : s has been proven, the proof of s(X) is
recorded as the sort “s” itself!
◮ if further down a proof, it is again needed to prove X : s, it
is remembered as X’s binding
◮ Indeed, OSF constraint proof rules ensure that:
no type constraint is ever proved twice
55
Proof “memoizing”

OSF type constraints are incrementally “memoized” as they
are verified:
sorts act as (instantaneous!) proof caches!
whereas in logic having proven s(X) is not “remembered” in
any way (e.g., Prolog)
Example: consider the OSF constraint conjunction:
• X : adultPerson(age ⇒ 25),
• X : employee,
• X : marriedPerson(spouse ⇒ Y ).
Notation: type#(condition) means “constraint condition
attached to sort type”

56
Proof “memoizing”—Example hierarchy reminded

adultPerson

employee

richEmployee

marriedPerson

marriedEmployee

57
Proof “memoizing”

1. proving: X : adultPerson(age ⇒ 25) . . .
2. proving: adultPerson#(X.age ≥ 18) . . .
3. proving: X : employee . . .
4. proving: employee#(higherRank(E.position, P )) . . .
5. proving: employee#(E.salary ≥ S) . . .
6. proving: X : marriedPerson(spouse ⇒ Y ) . . .
7. proving: X : marriedEmployee(spouse ⇒ Y ) . . .
8. proving: marriedEmployee#(Y.spouse = X) . . .
Therefore, all other inherited conditions coming from a
sort greater than marriedEmployee (such as employee or
adultPerson) can be safely ignored!
58
Proof “memoizing”

This “memoizing” property of OSF constraint-solving enables:
using rules over ontologies
as well as, conversely ,
enhancing ontologies with rules
Indeed, with OSF:
◮ concept ontologies may be used as constraints by

rules for inference and computation
◮ rule-based conditions in concept definitions may be

used to magnify expressivity of ontologies thanks to the
proof-memoizing property of ordered sorts
59
Reasoning and the Semantic Web

Outline
◮ Constraint Logic Programming
◮ What is unification?
◮ Semantic Web objects
◮ Graphs as constraints
◮ OWL and DL-based reasoning
◮ Constraint-based Semantic Web

reasoning
◮ Recapitulation

60
Recapitulation—what you must remember from this talk. . .

◮ Objects are graphs
◮ Graphs are constraints
◮ Constraints are good: they provide both formal theory

and efficient processing
◮ Formal Logic is not all there is
◮ even so: model theory = proof theory
◮ indeed, due to its youth, much of W3C technology is often

na¨ve in conception and design
ı
Ergo. . . it is condemned to reinventing [square!] wheels
as long as it does not realize that such issues have been
studied in depth for the past 50 years in theoretical CS!
61
Recapitulation—what you must remember from this talk. . . (ctd)

Pending issues re. “ontological programming”
◮ Syntax:
– What’s essential?
– What’s superfluous?
Confusing notation : XML-based cluttered verbosity
ok, not for human consumption—but still!
◮ Semantics:

– What’s a model good for?
– What’s (efficiently) provable?
– decidable = efficient
– undecidable = inefficient
◮ Applications, maintenance, evolution, etc., ...
◮ Many, many, publications... but no (real) field testing as
yet!
62
Recapitulation—what you must remember from this talk. . . (ctd)

Proposal: take heed of the following facts:
◮ Linked data represents all information as interconnected

sorted labelled RDF graphs—it has become a universal
de facto knowledge model standard
◮ Differences between DL and OSF can come handy:

– DL is expansive—therefore, expensive—and can only
describe finitely computable sets; whereas,
– OSF is contractive—therefore, efficient—and can also
describe recursively-enumerable sets
◮ CLP-based graph unification reasoning = practical KR:

– structural: objects, classes, inheritance
– non-structural: path equations, relational constraints,
type definitions
63
Innovation takes courage. . . (from Martin Wildberger’s “Smarter Planet” Keynote, CASCON 2009)
If I’d asked my customers what they wanted,
they’d have said a faster horse!—Henry Ford

64
Thank You For Your Attention !

For more information:
hak@acm.org
http://cs.brown.edu/people/pvh/CPL/Papers/v1/hak.pdf
http://cedar.liris.cnrs.fr

C E D A R
65
Hak ontoforum

Mais conteúdo relacionado

Mais procurados

Meta-theory of Actions: Beyond Consistency
Meta-theory of Actions: Beyond ConsistencyMeta-theory of Actions: Beyond Consistency
Meta-theory of Actions: Beyond ConsistencyIvan Varzinczak
 
Disrete mathematics and_its application_by_rosen _7th edition_lecture_1
Disrete mathematics and_its application_by_rosen _7th edition_lecture_1Disrete mathematics and_its application_by_rosen _7th edition_lecture_1
Disrete mathematics and_its application_by_rosen _7th edition_lecture_1taimoor iftikhar
 
Metalogic: The non-algorithmic side of the mind
Metalogic: The non-algorithmic side of the mindMetalogic: The non-algorithmic side of the mind
Metalogic: The non-algorithmic side of the mindHaskell Lambda
 
Algorithms and Complexity: Cryptography Theory
Algorithms and Complexity: Cryptography TheoryAlgorithms and Complexity: Cryptography Theory
Algorithms and Complexity: Cryptography TheoryAlex Prut
 
3.1 intro toautomatatheory h1
3.1 intro toautomatatheory  h13.1 intro toautomatatheory  h1
3.1 intro toautomatatheory h1Rajendran
 
Non Standard Logics & Modal Logics
Non Standard Logics & Modal LogicsNon Standard Logics & Modal Logics
Non Standard Logics & Modal LogicsSerge Garlatti
 

Mais procurados (14)

Predicate Logic
Predicate LogicPredicate Logic
Predicate Logic
 
Meta-theory of Actions: Beyond Consistency
Meta-theory of Actions: Beyond ConsistencyMeta-theory of Actions: Beyond Consistency
Meta-theory of Actions: Beyond Consistency
 
Disrete mathematics and_its application_by_rosen _7th edition_lecture_1
Disrete mathematics and_its application_by_rosen _7th edition_lecture_1Disrete mathematics and_its application_by_rosen _7th edition_lecture_1
Disrete mathematics and_its application_by_rosen _7th edition_lecture_1
 
New version
New versionNew version
New version
 
Propositional Logic and Pridicate logic
Propositional Logic and Pridicate logicPropositional Logic and Pridicate logic
Propositional Logic and Pridicate logic
 
Icml12
Icml12Icml12
Icml12
 
Metalogic: The non-algorithmic side of the mind
Metalogic: The non-algorithmic side of the mindMetalogic: The non-algorithmic side of the mind
Metalogic: The non-algorithmic side of the mind
 
Discrete Math Lecture 02: First Order Logic
Discrete Math Lecture 02: First Order LogicDiscrete Math Lecture 02: First Order Logic
Discrete Math Lecture 02: First Order Logic
 
Algorithms and Complexity: Cryptography Theory
Algorithms and Complexity: Cryptography TheoryAlgorithms and Complexity: Cryptography Theory
Algorithms and Complexity: Cryptography Theory
 
Modal Logic
Modal LogicModal Logic
Modal Logic
 
3.1 intro toautomatatheory h1
3.1 intro toautomatatheory  h13.1 intro toautomatatheory  h1
3.1 intro toautomatatheory h1
 
test
testtest
test
 
Non Standard Logics & Modal Logics
Non Standard Logics & Modal LogicsNon Standard Logics & Modal Logics
Non Standard Logics & Modal Logics
 
3 fol examples v2
3 fol examples v23 fol examples v2
3 fol examples v2
 

Destaque (10)

Informatica cuestionario (Cindy Pineda)
Informatica cuestionario (Cindy Pineda)Informatica cuestionario (Cindy Pineda)
Informatica cuestionario (Cindy Pineda)
 
ICMI '13: Evaluating Dual-view Perceptual Issues in Handheld Augmented Realit...
ICMI '13: Evaluating Dual-view Perceptual Issues in Handheld Augmented Realit...ICMI '13: Evaluating Dual-view Perceptual Issues in Handheld Augmented Realit...
ICMI '13: Evaluating Dual-view Perceptual Issues in Handheld Augmented Realit...
 
Cuestionario generaciones informatica
Cuestionario generaciones informaticaCuestionario generaciones informatica
Cuestionario generaciones informatica
 
Seletivo profuncionario-2013
Seletivo profuncionario-2013Seletivo profuncionario-2013
Seletivo profuncionario-2013
 
Guia de certificação do ensino médio através do Enem 2014
Guia de certificação do ensino médio através do Enem 2014Guia de certificação do ensino médio através do Enem 2014
Guia de certificação do ensino médio através do Enem 2014
 
Сила нашей победы
Сила нашей победыСила нашей победы
Сила нашей победы
 
Peta Piri Reis (Part-3)
Peta Piri Reis (Part-3)Peta Piri Reis (Part-3)
Peta Piri Reis (Part-3)
 
Новые подходы в обучении на уроках русского языка
Новые подходы в обучении на уроках русского языкаНовые подходы в обучении на уроках русского языка
Новые подходы в обучении на уроках русского языка
 
Declaração de Acúmulo
Declaração de AcúmuloDeclaração de Acúmulo
Declaração de Acúmulo
 
Bí quyết thành công của nhà lãnh đạo tài năng
Bí quyết thành công của nhà lãnh đạo tài năngBí quyết thành công của nhà lãnh đạo tài năng
Bí quyết thành công của nhà lãnh đạo tài năng
 

Semelhante a Hak ontoforum

leanCoR: lean Connection-based DL Reasoner
leanCoR: lean Connection-based DL ReasonerleanCoR: lean Connection-based DL Reasoner
leanCoR: lean Connection-based DL ReasonerAdriano Melo
 
Herbrand-satisfiability of a Quantified Set-theoretical Fragment (Cantone, Lo...
Herbrand-satisfiability of a Quantified Set-theoretical Fragment (Cantone, Lo...Herbrand-satisfiability of a Quantified Set-theoretical Fragment (Cantone, Lo...
Herbrand-satisfiability of a Quantified Set-theoretical Fragment (Cantone, Lo...Cristiano Longo
 
Closed-Form Solutions in Low-Rank Subspace Recovery Models and Their Implicat...
Closed-Form Solutions in Low-Rank Subspace Recovery Models and Their Implicat...Closed-Form Solutions in Low-Rank Subspace Recovery Models and Their Implicat...
Closed-Form Solutions in Low-Rank Subspace Recovery Models and Their Implicat...少华 白
 
Master Thesis on the Mathematial Analysis of Neural Networks
Master Thesis on the Mathematial Analysis of Neural NetworksMaster Thesis on the Mathematial Analysis of Neural Networks
Master Thesis on the Mathematial Analysis of Neural NetworksAlina Leidinger
 
"SSC" - Geometria e Semantica del Linguaggio
"SSC" - Geometria e Semantica del Linguaggio"SSC" - Geometria e Semantica del Linguaggio
"SSC" - Geometria e Semantica del LinguaggioAlumni Mathematica
 
Harmonic Analysis and Deep Learning
Harmonic Analysis and Deep LearningHarmonic Analysis and Deep Learning
Harmonic Analysis and Deep LearningSungbin Lim
 
9 normalization
9 normalization9 normalization
9 normalizationGRajendra
 
slides_low_rank_matrix_optim_farhad
slides_low_rank_matrix_optim_farhadslides_low_rank_matrix_optim_farhad
slides_low_rank_matrix_optim_farhadFarhad Gholami
 
Building WordSpaces via Random Indexing from simple to complex spaces
Building WordSpaces via Random Indexing from simple to complex spacesBuilding WordSpaces via Random Indexing from simple to complex spaces
Building WordSpaces via Random Indexing from simple to complex spacesPierpaolo Basile
 
16 logical programming
16 logical programming16 logical programming
16 logical programmingjigeno
 
MetiTarski: An Automatic Prover for Real-Valued Special Functions
MetiTarski: An Automatic Prover for Real-Valued Special FunctionsMetiTarski: An Automatic Prover for Real-Valued Special Functions
MetiTarski: An Automatic Prover for Real-Valued Special FunctionsLawrence Paulson
 
GDSC SSN - solution Challenge : Fundamentals of Decision Making
GDSC SSN - solution Challenge : Fundamentals of Decision MakingGDSC SSN - solution Challenge : Fundamentals of Decision Making
GDSC SSN - solution Challenge : Fundamentals of Decision MakingGDSCSSN
 
Csr2011 june17 14_00_bulatov
Csr2011 june17 14_00_bulatovCsr2011 june17 14_00_bulatov
Csr2011 june17 14_00_bulatovCSR2011
 
590-Article Text.pdf
590-Article Text.pdf590-Article Text.pdf
590-Article Text.pdfBenoitValea
 

Semelhante a Hak ontoforum (20)

leanCoR: lean Connection-based DL Reasoner
leanCoR: lean Connection-based DL ReasonerleanCoR: lean Connection-based DL Reasoner
leanCoR: lean Connection-based DL Reasoner
 
Fol
FolFol
Fol
 
Herbrand-satisfiability of a Quantified Set-theoretical Fragment (Cantone, Lo...
Herbrand-satisfiability of a Quantified Set-theoretical Fragment (Cantone, Lo...Herbrand-satisfiability of a Quantified Set-theoretical Fragment (Cantone, Lo...
Herbrand-satisfiability of a Quantified Set-theoretical Fragment (Cantone, Lo...
 
Closed-Form Solutions in Low-Rank Subspace Recovery Models and Their Implicat...
Closed-Form Solutions in Low-Rank Subspace Recovery Models and Their Implicat...Closed-Form Solutions in Low-Rank Subspace Recovery Models and Their Implicat...
Closed-Form Solutions in Low-Rank Subspace Recovery Models and Their Implicat...
 
Master Thesis on the Mathematial Analysis of Neural Networks
Master Thesis on the Mathematial Analysis of Neural NetworksMaster Thesis on the Mathematial Analysis of Neural Networks
Master Thesis on the Mathematial Analysis of Neural Networks
 
AI Lab Manual.docx
AI Lab Manual.docxAI Lab Manual.docx
AI Lab Manual.docx
 
Big o
Big oBig o
Big o
 
"SSC" - Geometria e Semantica del Linguaggio
"SSC" - Geometria e Semantica del Linguaggio"SSC" - Geometria e Semantica del Linguaggio
"SSC" - Geometria e Semantica del Linguaggio
 
Unit05 dbms
Unit05 dbmsUnit05 dbms
Unit05 dbms
 
Harmonic Analysis and Deep Learning
Harmonic Analysis and Deep LearningHarmonic Analysis and Deep Learning
Harmonic Analysis and Deep Learning
 
9 normalization
9 normalization9 normalization
9 normalization
 
slides_low_rank_matrix_optim_farhad
slides_low_rank_matrix_optim_farhadslides_low_rank_matrix_optim_farhad
slides_low_rank_matrix_optim_farhad
 
Building WordSpaces via Random Indexing from simple to complex spaces
Building WordSpaces via Random Indexing from simple to complex spacesBuilding WordSpaces via Random Indexing from simple to complex spaces
Building WordSpaces via Random Indexing from simple to complex spaces
 
Pl vol1
Pl vol1Pl vol1
Pl vol1
 
Q
QQ
Q
 
16 logical programming
16 logical programming16 logical programming
16 logical programming
 
MetiTarski: An Automatic Prover for Real-Valued Special Functions
MetiTarski: An Automatic Prover for Real-Valued Special FunctionsMetiTarski: An Automatic Prover for Real-Valued Special Functions
MetiTarski: An Automatic Prover for Real-Valued Special Functions
 
GDSC SSN - solution Challenge : Fundamentals of Decision Making
GDSC SSN - solution Challenge : Fundamentals of Decision MakingGDSC SSN - solution Challenge : Fundamentals of Decision Making
GDSC SSN - solution Challenge : Fundamentals of Decision Making
 
Csr2011 june17 14_00_bulatov
Csr2011 june17 14_00_bulatovCsr2011 june17 14_00_bulatov
Csr2011 june17 14_00_bulatov
 
590-Article Text.pdf
590-Article Text.pdf590-Article Text.pdf
590-Article Text.pdf
 

Último

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 

Último (20)

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 

Hak ontoforum

  • 1. Reasoning and the Semantic Web Hassan A¨t-Kaci ı ANR Chair of Excellence ´ Universite Claude Bernard Lyon 1 Constraint Event-Driven Automated Reasoning Project C E D A R
  • 2. Reasoning and the Semantic Web Outline ◮ Constraint Logic Programming ◮ What is unification? ◮ Semantic Web objects ◮ Graphs as constraints ◮ OWL and DL-based reasoning ◮ Constraint-based Semantic Web reasoning ◮ Recapitulation 1
  • 3. Reasoning and the Semantic Web Outline ◮ Constraint Logic Programming ◮ What is unification? ◮ Semantic Web objects ◮ Graphs as constraints ◮ OWL and DL-based reasoning ◮ Constraint-based Semantic Web reasoning ◮ Recapitulation 2
  • 4. Constraint Logic Programming In Prolog seen as a CLP language, a clause such as: append([],L,L). append([H|T],L,[H|R]) :- append(T,L,R). is construed as: append(X1,X2,X3) :- true | X1 = [], X2 = L, X3 = L. append(X1,X2,X3) :- append(X4,X5,X6) | X1 = [H|T], X2 = L, X3 = [H|R], X4 = T, X5 = L, X6 = R. 3
  • 5. Constraint Logic Programming Scheme The CLP scheme requires a set R of relational symbols (or, predicate symbols) and a constraint language L. The constraint language L needs very little —(not even syntax!): ◮ a set V of variables (denoted as capitalized X, Y, . . .); ◮ a set Φ of formulae (denoted φ, φ′, . . .) called constraints; ◮ a function VAR: Φ → V, giving for every constraint φ the set VAR(φ) of variables constrained by φ; ◮ a family of interpretations A over some domain D A; ◮ a set VAL (A) of valuations—total functions α : V → D A. 4
  • 6. Constraint Logic Programming Language Given a set of relational symbols R (r, r1, . . .), a constraint language L is extended into a language R(L) of constrained relational clauses with: ◮ the set R(Φ) of formulae defined to include: – all formulae φ in Φ, i.e., all L-constraints; – all relational atoms r(X1, . . . , Xn), where X1, . . . , Xn ∈ V are mutually distinct; and closed under & (conjunction) and → (implication); ◮ extending an interpretation A of L by adding relations: rA ⊆ DA × . . . × DA for each r ∈ R. 5
  • 7. Constraint Logic Programming Clause We define a CLP constrained definite clause in R(L) as: r(X) ← r1(X1) & . . . & rm(Xm) [] φ, where (0 ≤ m) and: ◮ r(X), r1(X1), . . . , rm(Xm) are relational atoms in R(L); and, ◮ φ is a constraint formula in L. A constrained resolvent is a formula ̺ [] φ, where ̺ is a (possibly empty) conjunction of relational atoms r(X1, . . . , Xn)— its relational part—and φ is a (possibly empty) conjunction of Lconstraints—its constraint part. 6
  • 8. Constraint Logic Programming Resolution Constrained resolution is a reduction rule on resolvents that gives a sound and complete interpreter for programs consisting of a set C of constrained definite R(L)-clauses. The reduction of a constrained resolvent of the form: B1 & . . . & r(X1, . . . , Xn) & . . . Bk [] φ by the (renamed) program clause: r(X1, . . . , Xn) ← A1 & . . . & Am [] φ′ is the new constrained resolvent of the form: B1 & . . . & A1 & . . . & Am & . . . Bk [] φ & φ′. 7
  • 9. Why Constraints? Some important points: ◮ But... wait a minute: “Constraints are logical formulae—so why not use only logic?” Indeed, constraints are logical formulae—and that is good! But such formulae as factors in a conjunction commute with other factors, thus freeing operational scheduling of resolvents. ◮ A constraint is a formula solvable by a specific solving algorithm rather than general-purpose logic-programming machinery. ◮ Better: constraint solving remembers proven facts (proof memoizing). Such are key points exploited in CLP! 8
  • 10. Constraint Solving—Constraint Normalization Constraint solving is conveniently specified using constraint normalization rules, which are semantics-preserving syntaxdriven rewrite (meta-)rules. Plotkin’s SOS notation: (n) Rule Name Prior Form if Condition Posterior Form A normalization rule is said to be correct iff the prior form’s denotation is equal to the posterior form’s whenever the side condition holds. 9
  • 11. Constraint Normalization—Declarative Coroutining Normalizing a constraint yields a normal form: a constraint formula that can’t be transformed by any normalization rule. Such may be either the inconsistent constraint ⊥, or: ◮ a solved form—a normal form that can be immediately deemed consistent; or, ◮ a residuated form—a normal form but not a solved form. A residuated constraint is a suspended computation; shared variables are inter-process communication channels: binding in one normalization process may trigger resumption of another residuated normalization process. Constraint residuation enables automatic coroutining! 10
  • 12. Reasoning and the Semantic Web Outline ◮ Constraint Logic Programming ◮ What is unification? ◮ Semantic Web objects ◮ Graphs as constraints ◮ OWL and DL-based reasoning ◮ Constraint-based Semantic Web reasoning ◮ Recapitulation 11
  • 13. What is unification?—First-order terms The set TΣ,V of first-order terms is defined given: ◮ V a countable set of variables; ◮ Σn sets of constructors of arity n (n ≥ 0); ◮ Σ = ∪n≥0Σn the constructor signature. Then, a first-order term (FOT) is either: ◮ a variable in V; or, ◮ an element of Σ0; or, ◮ an expression of the form f (t1, . . . , tn), where n > 0, f ∈ Σn, and ti is a FOT, for all i ≥ 1. Examples of FOTs: X a f (g(X, a), Y, h(X)) (variables are capitalized as in Prolog). 12
  • 14. What is unification?—Substitutions & instances A variable substitution is a map σ : V → TΣ,V such that the set {X ∈ V | σ(X) = X} is finite. Given a substitution σ and a FOT t, the σ-instance of t is the FOT:  if t = X ∈ V;  σ(X) if t = a ∈ Σ0; tσ = a  f (t1σ, . . . , tnσ) if t = f (t1, . . . , tn). Unification is the process of solving an equation of the form: . t = t′ 13
  • 15. What is unification?—FOT equation solving A solution, if one exists, is any substitution σ such that: tσ = t′σ If solutions exist, there is always a minimal solution (the most general unifier ): mgu(t, t′). where: “σ1 is more general than σ2” iff ∃σ s.t. σ2 = σ1σ Equation and solution example: . f (g(X, b), X, g(h(X), Y )) = f (g(U, U ), b, g(V, a)) . . . . X = b, Y = a, U = b, V = h(b) 14
  • 16. What is unification?—Algorithms FOT unification algorithms have been (re-)invented: ◮ J. Herbrand (PhD thesis—page 148, 1930) ◮ J.A. Robinson (JACM 1965) ◮ A. Martelli & U. Montanari (ACM TOPLAS 1982) But, rather than a monolithic algorithm, FOT unification is simply expressible as a set of syntax-driven commutative and terminating constraint normalization rules! 15
  • 17. What is unification?—Constraint normalization rules (1) Substitute . φ & X =t . φ[X/t] & X = t if X occurs in φ (2) Decompose . φ & f (s1 , . . . , sn ) = f (t1, . . . , tn) . . φ & s1 = t1 & . . . & sn = tn if f ∈ Σn, (n ≥ 0) (3) Fail . φ & f (s1 , . . . , sn ) = g(t1, . . . , tm) ⊥ if f ∈ Σn, (n ≥ 0) and g ∈ Σm, (m ≥ 0) and m = n 16
  • 18. What is unification?—Constraint normalization rules (4) Flip . φ & t=X . φ & X=t if X∈V and t ∈ V (5) Erase . φ & t=t φ if t ∈ Σ0 ∪ V (6) Cycle . φ & X=t ⊥ if X∈V and t ∈ V and X occurs in t 17
  • 19. Reasoning and the Semantic Web Outline ◮ Constraint Logic Programming ◮ What is unification? ◮ Semantic Web objects ◮ Graphs as constraints ◮ OWL and DL-based reasoning ◮ Constraint-based Semantic Web reasoning ◮ Recapitulation 18
  • 20. Semantic Web objects—Objects are labelled graphs! JohnDoe35 true er ot isV marriedPerson a c first name fullName j last d ag e "John" "Doe" k 42 DoeResidence spouse spouse ess addr e streetAddress f marriedPerson b l "Main Street" m "Sometown" n o 40 g first name is Vo te r city co un tr y 123 "USA" add res s e ag er mb nu street fullName "Jane" p last h "Doe" q JaneDoe78 false i 19
  • 21. Semantic Web objects—Objects are labelled graphs! JohnDoe35 : marriedPerson ( name => fullName ( first => "John" , last => "Doe" ) => 42 , age , address => DoeResidence , spouse => JaneDoe78 , isVoter => true ) 20
  • 22. Semantic Web objects—Objects are labelled graphs! JaneDoe78 : marriedPerson ( name => fullName ( first => "Jane" , last => "Doe" ) => 40 , age , address => DoeResidence , spouse => JohnDoe35 , isVoter => false ) DoeResidence : streetAddress ( , , , ) number street city country => => => => 123 "Main Street" "Sometown" "USA" 21
  • 23. Semantic Web types—Types are labelled graphs! M1 boolean er ot V is c first name marriedPerson a fullName j last d ag e string string k int ess addr e R spouse spouse er mb nu t stree streetAddress add ress f e ag marriedPerson b l string m city co un tr y string n string o int g first name is Vo te r int fullName string p last h string q M2 boolean i 22
  • 24. Semantic Web types—Types are labelled graphs! M1 : marriedPerson ( name => fullName ( first => string , last => string ) => int , age , address => R , spouse => M2 , isVoter => boolean ) 23
  • 25. Semantic Web formalisms—Types are labelled graphs! M2 : marriedPerson ( name => fullName ( first => string , last => string ) , age => int , address => R , spouse => M1 , isVoter => boolean ) R : streetAddress ( , , , ) number street city country => => => => int string string string 24
  • 26. Reasoning and the Semantic Web Outline ◮ Constraint Logic Programming ◮ What is unification? ◮ Semantic Web objects ◮ Graphs as constraints ◮ OWL and DL-based reasoning ◮ Constraint-based Semantic Web reasoning ◮ Recapitulation 25
  • 27. Original motivation: Formalize this?—ca. 1982 26
  • 28. Graphs as constraints—Motivation ◮ What: a formalism for representing objects that is: intuitive (objects as labelled graphs), expressive (“real-life” data models), formal (logical semantics), operational (executable), & efficient (constraint-solving) ◮ Why? viz., ubiquitous use of labelled graphs to structure information naturally as in: – object-orientation, knowledge representation, – databases, semi-structured data, – natural language processing, graphical interfaces, – concurrency and communication, – XML, RDF, the “Semantic Web,” etc., ... 27
  • 29. Graphs as constraints—History Viewing graphs as constraints stems from the work of: ◮ Hassan A¨t-Kaci (since 1983) ı ◮ Gert Smolka (since 1986) ◮ Andreas Podelski (since 1989) ¨ ◮ Franz Baader, Rolf Backhofen, Jochen Dorre, Martin Emele, Bernhard Nebel, Joachim Niehren, Ralf Treinen, Manfred Schmidt-Schauß, Remi Zajac, . . . 28
  • 30. Graphs as constraints—Inheritance as graph endomorphism first name last string id person string first name last married person string id spouse string spouse last married person name id 29
  • 31. Graphs as constraints—Inheritance as graph endomorphism first name last string id person string first name last married person string id spouse string spouse last married person name id 30
  • 32. Graphs as constraints—OSF term syntax Let V be a countable set of variables, and S a lattice of sorts. An OSF term is an expression of the form: X : s(ℓ1 ⇒ t1, . . . , ℓn ⇒ tn) where: ◮ X ∈ V is the root variable ◮ s ∈ S is the root sort ◮ n ≥ 0 (if n = 0, we write X : s) ◮ {ℓ1, . . . , ℓn } ⊆ F are features ◮ t1, . . . , tn are OSF terms 31
  • 33. Graphs as constraints—OSF term syntax example X : person(name ⇒ N : ⊤(f irst ⇒ F : string), name ⇒ M : id(last ⇒ S : string), spouse ⇒ P : person(name ⇒ I : id(last ⇒ S : ⊤), spouse ⇒ X : ⊤)). Lighter notation (showing only shared variables): X : person(name ⇒ ⊤(f irst ⇒ string), name ⇒ id(last ⇒ S : string), spouse ⇒ person(name ⇒ id(last ⇒ S), spouse ⇒ X)). 32
  • 34. Graphs as constraints—OSF clause syntax An OSF constraint is one of: ◮X :s . ′ ◮ X.ℓ = X . ′ ◮X =X where X (X ′) is a variable (i.e., a node), s is a sort (i.e., a node’s type), and ℓ is a feature (i.e., an arc). An OSF clause is a conjunction of OSFconstraints—i.e., a set of OSF constraints φ1 & . . . & φn 33
  • 35. Graphs as constraints—From OSF terms to OSF clauses An OSF term t = X : s(ℓ1 ⇒ t1, . . . , ℓn ⇒ tn) is dissolved into an OSF clause φ(t) as follows: ϕ(t) = X : s = DEF & & . X.ℓ1 = X1 ϕ(t1) & & ... ... & & . X.ℓn = Xn ϕ(tn) where X1, . . . , Xn are the root variables of t1, . . . , tn. 34
  • 36. Graphs as constraints—Example of OSF term dissolution t = X : person(name ⇒ N : ⊤(f irst ⇒ F : string), name ⇒ M : id(last ⇒ S : string), spouse ⇒ P : person(name ⇒ I : id(last ⇒ S : ⊤), spouse ⇒ X : ⊤)) ϕ(t) = X : person & & & & & & & & . X . name = N . X . name = M . X . spouse = P . N . f irst = F . M . last = S . P . name = I . I . last = S . P . spouse = X & N: ⊤ & M : id & P : person & F : string & S : string & I : id & S:⊤ & X: ⊤ 35
  • 37. Graphs as constraints—Basic OSF term normalization (1) Sort Intersection φ & X : s & X : s′ φ & X : s ∧ s′ (2) Inconsistent Sort (3) Variable Elimination . φ & X = X′ if X = X′ . φ[X ′/X] & X = X ′ and X ∈ Var(φ) φ & X:⊥ (4) Feature Functionality . . φ & X.ℓ = X ′ & X.ℓ = X ′′ X:⊥ . . φ & X.ℓ = X ′ & X ′ = X ′′ 36
  • 38. Graphs as constraints—OSF unification as OSF constraint normalization person employee student faculty staff intern bob piotr pablo simon elena art judy don john sheila 37
  • 39. Graphs as constraints—OSF unification as OSF constraint normalization X : student (roommate => person(rep => E : employee), advisor => don(secretary => E)) & Y : employee (advisor => don(assistant => A), roommate => S : student(rep => S), helper => simon(spouse => A)) & X = Y 38
  • 40. Graphs as constraints—OSF unification as OSF constraint normalization X : intern (roommate => S : intern(rep => S), advisor => don(assistant => A, secretary => S), helper => simon(spouse => A)) & X = Y & E = S 39
  • 41. Graphs as constraints—Extended OSF terms Basic OSF terms may be extended to express: ◮ Non-lattice sort signatures ◮ Disjunction ◮ Negation ◮ Partial features ◮ Extensional sorts (i.e., denoting elements) ◮ Relational features (a.k.a., “roles”) ` ◮ Aggregates (a la monoid comprehensions) ◮ Regular-expression feature paths ◮ Sort definitions (a.k.a., “OSF theories”—“ontologies”) 40
  • 42. Order-sorted featured graph constraints—(Summary) We have overviewed a formalism of objects where: ◮ “real-life” objects are viewed as logical constraints ◮ objects may be approximated as set-denoting constructs ◮ object normalization rules provide an efficient operational semantics ◮ consistency extends unification (and thus matching) ◮ this enables rule-based computation (whether rewrite or logical rules) over general graph-based objects ◮ this yield a powerful means for effectively using ontologies 41
  • 43. Reasoning and the Semantic Web Outline ◮ Constraint Logic Programming ◮ What is unification? ◮ Semantic Web objects ◮ Graphs as constraints ◮ OWL and DL-based reasoning ◮ Constraint-based Semantic Web reasoning ◮ Recapitulation 42
  • 44. Semantic Web formalisms—OWL speaks What language(s) do OWL’s speak?—a confusing growing crowd of strange-sounding languages and logics: • OWL, OWL Lite, OWL DL, OWL Full • DL, DLR, . . . • AL, ALC, ALCN , ALCN R, . . . • SHIF , SHIN , CIQ, SHIQ, SHOQ(D), SHOIQ, SRIQ, SROIQ, . . . Depending on whether the system allows: • concepts, roles (inversion, composition, inclusion, . . . ) • individuals, datatypes, cardinality constraints • various combination thereof 43
  • 45. Semantic Web formalisms—DL dialects For better or worse, the W3C has married its efforts to DLbased reasoning systems: ◮ All the proposed DL Knowledge Base formalisms in the OWL family use tableaux-based methods for reasoning ◮ Tableaux methods work by building models explicitly via formula expansion rules ◮ This limits DL reasoning to finite (i.e., decidable) models ◮ Worse, tableaux methods only work for small ontologies: they fail to scale up to large ontologies 44
  • 46. Semantic Web formalisms—DL dialects Tableaux style DL reasoning (ALCN R) C ONJUNCTIVE C ONCEPT: E XISTENTIAL R OLE : S if x : (C1 ⊓ C2 ) ∈ S and {x : C1 , x : C2 } ⊆ S S ∪ {x : C1, x : C2} D ISJUNCTIVE C ONCEPT:  if  and and DEF x : (∃R.C) ∈ S s.t. R = = z : C ∈ S ⇒ z ∈ RS [x] y is new m i=1 Ri   S ∪ {xRiy}m ∪ {y : C} i=1 M IN C ARDINALITY: S if x : (C1 ⊔ C2 ) ∈ S and x : Ci ∈ S (i = 1, 2) S S ∪ {x : Ci}  if  and and DEF x : (≥ n.R) ∈ S s.t. R = = |RS [x]| = n yi is new (0 ≤ i ≤ n) m i=1 Ri   S S ∪ {xRiyj }m,n . i,j=1,1 ∪ {yi = yj }1≤i<j≤n U NIVERSAL R OLE :  if  and and  x : (∀R.C) ∈ S  y ∈ RS [x] y:C ∈ S S S ∪ {y : C} M AX C ARDINALITY:  if  and and  x : (≤ n.R) ∈ S |RS [x]| > n and y, z ∈ RS [x]  . y=z ∈ S S S ∪ S[y/z] 45
  • 47. Understanding OWL speak—OSF vs. DL Understanding OWL amounts to reasoning with knowledge expressed as OWL sentences. Its DL semantics relies on explicitly building models using induction. ergo: Inductive techniques are eager and (thus) wasteful Reasoning with knowledge expressed as constrained (OSF) graphs relies on implicitly pruning inconsistent elements using coinduction. ergo: Coinductive techniques are lazy and (thus) thrifty 46
  • 48. Reasoning and the Semantic Web Outline ◮ Constraint Logic Programming ◮ What is unification? ◮ Semantic Web objects ◮ Graphs as constraints ◮ OWL and DL-based reasoning ◮ Constraint-based Semantic Web reasoning ◮ Recapitulation 47
  • 49. LIF E—Rules + constraints for Semantic Web reasoning LIFE—Logic, Inheritance, Functions, and Equations CLP(χ)—Constraint, Logic, Programming, parameterized over is a constraint system χ LIFE is a CLP system over OSF constraints and functions over them (rewrite rules); namely: LIFE = CLP(OSF + FP) 48
  • 50. LIF E—Rules + constraints for Semantic Web reasoning adultPerson employee richemployee marriedPerson marriedEmployee A multiple-inheritance hierarchy 49
  • 51. The same hierarchy in Java interface adultPerson { name id; date dob; int age; String ssn; } interface employee extends adultPerson { title position; String institution; employee supervisor; int salary; } interface marriedPerson extends adultPerson { marriedPerson spouse; } interface marriedEmployee extends employee, marriedPerson { } interface richEmployee extends employee { } 50
  • 52. The same hierarchy in LIF E employee <: adultPerson. marriedPerson <: adultPerson. richEmployee <: employee. marriedEmployee <: employee. marriedEmployee <: marriedPerson. :: adultPerson ( , , , id ⇒ name dob ⇒ date age ⇒ int ssn ⇒ string ). :: employee ( , , , position ⇒ title institution ⇒ string supervisor ⇒ employee salary ⇒ int ). :: marriedPerson ( spouse ⇒ marriedPerson ). 51
  • 53. A relationally and functionally constrained LIF E sort hierarchy :: P : adultPerson ( , , , id ⇒ name dob ⇒ date age ⇒ A : int ssn ⇒ string ) | A = ageInYears(P ), A ≥ 18. :: employee ( , , , position ⇒ T : title institution ⇒ string supervisor ⇒ E : employee salary ⇒ S : int ) | higherRank(E.position, T ) , E.salary ≥ S. 52
  • 54. A relationally and functionally constrained LIF E sort hierarchy :: M : marriedPerson ( spouse ⇒ P : marriedPerson ) | P.spouse = M. :: R : richEmployee ( institution ⇒ I , salary ⇒ S ) | stockValue(I) = V , hasShares(R, I, N ) , S + N ∗ V ≥ 200000. 53
  • 55. Proof “memoizing” OSF constraints as syntactic variants of logical formulae: Sorts are unary predicates: X : s ⇐⇒ [ s]]([[X]]) . Features are unary functions: X.f = Y ⇐⇒ [ f ] ([[X]]) = [ Y ] Coreferences are equations: . X = Y ⇐⇒ [ X]] = [ Y ] So . . . Why not use (good old) logic proofs instead? 54
  • 56. Proof “memoizing” But: model equivalence = proof equivalence! ◮ OSF-unification proves sort constraints by reducing them monotonically w.r.t. the sort ordering ◮ ergo, once X : s has been proven, the proof of s(X) is recorded as the sort “s” itself! ◮ if further down a proof, it is again needed to prove X : s, it is remembered as X’s binding ◮ Indeed, OSF constraint proof rules ensure that: no type constraint is ever proved twice 55
  • 57. Proof “memoizing” OSF type constraints are incrementally “memoized” as they are verified: sorts act as (instantaneous!) proof caches! whereas in logic having proven s(X) is not “remembered” in any way (e.g., Prolog) Example: consider the OSF constraint conjunction: • X : adultPerson(age ⇒ 25), • X : employee, • X : marriedPerson(spouse ⇒ Y ). Notation: type#(condition) means “constraint condition attached to sort type” 56
  • 58. Proof “memoizing”—Example hierarchy reminded adultPerson employee richEmployee marriedPerson marriedEmployee 57
  • 59. Proof “memoizing” 1. proving: X : adultPerson(age ⇒ 25) . . . 2. proving: adultPerson#(X.age ≥ 18) . . . 3. proving: X : employee . . . 4. proving: employee#(higherRank(E.position, P )) . . . 5. proving: employee#(E.salary ≥ S) . . . 6. proving: X : marriedPerson(spouse ⇒ Y ) . . . 7. proving: X : marriedEmployee(spouse ⇒ Y ) . . . 8. proving: marriedEmployee#(Y.spouse = X) . . . Therefore, all other inherited conditions coming from a sort greater than marriedEmployee (such as employee or adultPerson) can be safely ignored! 58
  • 60. Proof “memoizing” This “memoizing” property of OSF constraint-solving enables: using rules over ontologies as well as, conversely , enhancing ontologies with rules Indeed, with OSF: ◮ concept ontologies may be used as constraints by rules for inference and computation ◮ rule-based conditions in concept definitions may be used to magnify expressivity of ontologies thanks to the proof-memoizing property of ordered sorts 59
  • 61. Reasoning and the Semantic Web Outline ◮ Constraint Logic Programming ◮ What is unification? ◮ Semantic Web objects ◮ Graphs as constraints ◮ OWL and DL-based reasoning ◮ Constraint-based Semantic Web reasoning ◮ Recapitulation 60
  • 62. Recapitulation—what you must remember from this talk. . . ◮ Objects are graphs ◮ Graphs are constraints ◮ Constraints are good: they provide both formal theory and efficient processing ◮ Formal Logic is not all there is ◮ even so: model theory = proof theory ◮ indeed, due to its youth, much of W3C technology is often na¨ve in conception and design ı Ergo. . . it is condemned to reinventing [square!] wheels as long as it does not realize that such issues have been studied in depth for the past 50 years in theoretical CS! 61
  • 63. Recapitulation—what you must remember from this talk. . . (ctd) Pending issues re. “ontological programming” ◮ Syntax: – What’s essential? – What’s superfluous? Confusing notation : XML-based cluttered verbosity ok, not for human consumption—but still! ◮ Semantics: – What’s a model good for? – What’s (efficiently) provable? – decidable = efficient – undecidable = inefficient ◮ Applications, maintenance, evolution, etc., ... ◮ Many, many, publications... but no (real) field testing as yet! 62
  • 64. Recapitulation—what you must remember from this talk. . . (ctd) Proposal: take heed of the following facts: ◮ Linked data represents all information as interconnected sorted labelled RDF graphs—it has become a universal de facto knowledge model standard ◮ Differences between DL and OSF can come handy: – DL is expansive—therefore, expensive—and can only describe finitely computable sets; whereas, – OSF is contractive—therefore, efficient—and can also describe recursively-enumerable sets ◮ CLP-based graph unification reasoning = practical KR: – structural: objects, classes, inheritance – non-structural: path equations, relational constraints, type definitions 63
  • 65. Innovation takes courage. . . (from Martin Wildberger’s “Smarter Planet” Keynote, CASCON 2009) If I’d asked my customers what they wanted, they’d have said a faster horse!—Henry Ford 64
  • 66. Thank You For Your Attention ! For more information: hak@acm.org http://cs.brown.edu/people/pvh/CPL/Papers/v1/hak.pdf http://cedar.liris.cnrs.fr C E D A R 65