• Keine Ergebnisse gefunden

Termination of the Skolem Chase on Disjunctive Existential Rules

N/A
N/A
Protected

Academic year: 2022

Aktie "Termination of the Skolem Chase on Disjunctive Existential Rules"

Copied!
122
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Don’t Repeat Yourself:

Termination of the Skolem Chase on Disjunctive Existential Rules

Lukas Gerlach

Knowledge-Based Systems Group

Technische Universität Dresden, Germany 08.10.2020

(2)

Motivation

Reasoning overKnowledge Bases

Expressivity ofDisjunctive Existential Rules Efficiency of theSkolem Chase(ASP Solvers)

(3)

Motivation

Reasoning overKnowledge Bases

Expressivity ofDisjunctive Existential Rules

Efficiency of theSkolem Chase(ASP Solvers)

(4)

Motivation

Reasoning overKnowledge Bases

Expressivity ofDisjunctive Existential Rules Efficiency of theSkolem Chase(ASP Solvers)

(5)

Knowledge Bases

Definition

Aknowledge baseis a pairhR,Iiof a rule setRand an instanceI.

Definition

Aninstanceis a set of function freefacts(ground atoms). Definition

A(disjunctive existental) ruleρis an expression of the form

∀~x∀~y.[Bρ(~x, ~y)→_n

i=1∃~zi.Hiρ(~xi,~zi)]

whereBρandHiρare conjunctions of atoms without function symbols or constants;~x, ~y,and~ziare pairwise disjoint lists of variables; andSn

i=1~xi =~x.

(6)

Knowledge Bases

Definition

Aknowledge baseis a pairhR,Iiof a rule setRand an instanceI. Definition

Aninstanceis a set of function freefacts(ground atoms).

Definition

A(disjunctive existental) ruleρis an expression of the form

∀~x∀~y.[Bρ(~x, ~y)→_n

i=1∃~zi.Hiρ(~xi,~zi)]

whereBρandHiρare conjunctions of atoms without function symbols or constants;~x, ~y,and~ziare pairwise disjoint lists of variables; andSn

i=1~xi =~x.

(7)

Knowledge Bases

Definition

Aknowledge baseis a pairhR,Iiof a rule setRand an instanceI. Definition

Aninstanceis a set of function freefacts(ground atoms).

Definition

A(disjunctive existental) ruleρis an expression of the form

∀~x∀~y.[Bρ(~x, ~y)→_n

i=1∃~zi.Hiρ(~xi,~zi)]

whereBρandHiρare conjunctions of atoms without function symbols or constants;~x, ~y,and~ziare pairwise disjoint lists of variables; andSn

i=1~xi =~x.

(8)

Querying Knowledge Bases

Definition

Aboolean conjunctive query (BCQ)is an expression of the form

∃~z.ϕ(~z)whereϕis a conjunction of function free atoms.

Example

Consider the following instanceI, rule setRand BCQσ:

I:={Pizza(myPizza)}

R:={Pizza(x)→InFridge(x)∨ ∃z.(Service(z)∧Delivers(z,x))} σ :=∃z.(Service(z)∧Delivers(z,myPizza))

Isσentailed byhR,Ii?

(9)

Querying Knowledge Bases

Definition

Aboolean conjunctive query (BCQ)is an expression of the form

∃~z.ϕ(~z)whereϕis a conjunction of function free atoms.

Example

Consider the following instanceI, rule setRand BCQσ:

I:={Pizza(myPizza)}

R:={Pizza(x)→InFridge(x)∨ ∃z.(Service(z)∧Delivers(z,x))} σ:=∃z.(Service(z)∧Delivers(z,myPizza))

Isσentailed byhR,Ii?

(10)

Querying Knowledge Bases

Definition

Aboolean conjunctive query (BCQ)is an expression of the form

∃~z.ϕ(~z)whereϕis a conjunction of function free atoms.

Example

Consider the following instanceI, rule setRand BCQσ:

I:={Pizza(myPizza)}

R:={Pizza(x)→InFridge(x)∨ ∃z.(Service(z)∧Delivers(z,x))}

σ:=∃z.(Service(z)∧Delivers(z,myPizza)) Isσentailed byhR,Ii?

(11)

Querying Knowledge Bases

Definition

Aboolean conjunctive query (BCQ)is an expression of the form

∃~z.ϕ(~z)whereϕis a conjunction of function free atoms.

Example

Consider the following instanceI, rule setRand BCQσ:

I:={Pizza(myPizza)}

R:={Pizza(x)→InFridge(x)∨ ∃z.(Service(z)∧Delivers(z,x))} σ:=∃z.(Service(z)∧Delivers(z,myPizza))

Isσentailed byhR,Ii?

(12)

Querying Knowledge Bases

Definition

Aboolean conjunctive query (BCQ)is an expression of the form

∃~z.ϕ(~z)whereϕis a conjunction of function free atoms.

Example

Consider the following instanceI, rule setRand BCQσ:

I:={Pizza(myPizza)}

R:={Pizza(x)→InFridge(x)∨ ∃z.(Service(z)∧Delivers(z,x))} σ:=∃z.(Service(z)∧Delivers(z,myPizza))

(13)

How to solve this in general?

Definition

A BCQσ :=∃~z.ϕ(~z)isentailedby a knowledge baseKif, for each first order modelMofK, there exists a substitutionθsuch that ϕθ⊆M.

Problems:

1. The number of models may be infinite. 2. Individual models may be infinite in size. Proposition

BCQ entailment is undecidable [Beeri and Vardi, 1981].

(14)

How to solve this in general?

Definition

A BCQσ :=∃~z.ϕ(~z)isentailedby a knowledge baseKif, for each first order modelMofK, there exists a substitutionθsuch that ϕθ⊆M.

Problems:

1. The number of models may be infinite.

2. Individual models may be infinite in size.

Proposition

BCQ entailment is undecidable [Beeri and Vardi, 1981].

(15)

How to solve this in general?

Definition

A BCQσ :=∃~z.ϕ(~z)isentailedby a knowledge baseKif, for each first order modelMofK, there exists a substitutionθsuch that ϕθ⊆M.

Problems:

1. The number of models may be infinite.

2. Individual models may be infinite in size.

Proposition

BCQ entailment is undecidable [Beeri and Vardi, 1981].

(16)

Do we really need every model?

Definition

Auniversal model set[Bourhis et al., 2016] of a knowledge base Kis a set of modelsU, such that for each modelMforKthere exists a homomorphism from some model inU toM.

Proposition

A BCQσ :=∃~z.ϕ(~z)is entailed by a knowledge baseKiff it is entailed by each model in some universal model set ofK. We study an algorithm that should compute a finite universal model set containing only finite models.

(17)

Do we really need every model?

Definition

Auniversal model set[Bourhis et al., 2016] of a knowledge base Kis a set of modelsU, such that for each modelMforKthere exists a homomorphism from some model inU toM.

Proposition

A BCQσ :=∃~z.ϕ(~z)is entailed by a knowledge baseKiff it is entailed by each model in some universal model set ofK.

We study an algorithm that should compute a finite universal model set containing only finite models.

(18)

Do we really need every model?

Proposition

A BCQσ :=∃~z.ϕ(~z)is entailed by a knowledge baseKiff it is entailed by each model in some universal model set ofK.

Proof.

"⇒":

Ifσis entailed byK, then it is entailed for every model ofK.

(19)

Do we really need every model?

Proposition

A BCQσ :=∃~z.ϕ(~z)is entailed by a knowledge baseKiff it is entailed by each model in some universal model set ofK.

Proof.

"⇐":

Consider a modelMofK.

1. For each modelUin some universal model setU ofK, there exists a substitutionθwithϕθ⊆U.

2. By (1): There exists a modelU∈ Usuch that there exists a homomorphismτ fromUtoM.

3. By (1) and (2):τ◦θis a substitution withϕ(τ ◦θ)⊆M. 4. By (3):σis entailed byK.

(20)

Do we really need every model?

Proposition

A BCQσ :=∃~z.ϕ(~z)is entailed by a knowledge baseKiff it is entailed by each model in some universal model set ofK.

Proof.

"⇐":

Consider a modelMofK.

1. For each modelUin some universal model setU ofK, there exists a substitutionθwithϕθ⊆U.

2. By (1): There exists a modelU∈ Usuch that there exists a homomorphismτ fromUtoM.

3. By (1) and (2):τ◦θis a substitution withϕ(τ ◦θ)⊆M. 4. By (3):σis entailed byK.

(21)

Do we really need every model?

Proposition

A BCQσ :=∃~z.ϕ(~z)is entailed by a knowledge baseKiff it is entailed by each model in some universal model set ofK.

Proof.

"⇐":

Consider a modelMofK.

1. For each modelUin some universal model setU ofK, there exists a substitutionθwithϕθ⊆U.

2. By (1): There exists a modelU∈ Usuch that there exists a homomorphismτ fromUtoM.

3. By (1) and (2):τ◦θis a substitution withϕ(τ ◦θ)⊆M. 4. By (3):σis entailed byK.

(22)

Do we really need every model?

Proposition

A BCQσ :=∃~z.ϕ(~z)is entailed by a knowledge baseKiff it is entailed by each model in some universal model set ofK.

Proof.

"⇐":

Consider a modelMofK.

1. For each modelUin some universal model setU ofK, there exists a substitutionθwithϕθ⊆U.

2. By (1): There exists a modelU∈ Usuch that there exists a homomorphismτ fromUtoM.

3. By (1) and (2):τ◦θis a substitution withϕ(τ ◦θ)⊆M.

4. By (3):σis entailed byK.

(23)

Do we really need every model?

Proposition

A BCQσ :=∃~z.ϕ(~z)is entailed by a knowledge baseKiff it is entailed by each model in some universal model set ofK.

Proof.

"⇐":

Consider a modelMofK.

1. For each modelUin some universal model setU ofK, there exists a substitutionθwithϕθ⊆U.

2. By (1): There exists a modelU∈ Usuch that there exists a homomorphismτ fromUtoM.

3. By (1) and (2):τ◦θis a substitution withϕ(τ ◦θ)⊆M. 4. By (3):σis entailed byK.

(24)

Do we really need every model?

Definition

Auniversal model set[Bourhis et al., 2016] of a knowledge base Kis a set of modelsU, such that for each modelMforKthere exists a homomorphism from some model inU toM.

Proposition

A BCQσ :=∃~z.ϕ(~z)is entailed by a knowledge baseKiff it is entailed by each model in some universal model set ofK.

We study an algorithm that should compute a finite universal

(25)

Chasing a Universal Model Set

General Chase Procedure Input: Knowledge BaseK

Procedure: Apply rules inKexhaustively, until no new facts are obtained. Consider the head disjuncts individually by branching out on them.

Output: Universal Model Set ofK

Questions

1. How to apply rules?

2. Do we indeed obtain a finite set of finite models?

(26)

Chasing a Universal Model Set

General Chase Procedure Input: Knowledge BaseK

Procedure: Apply rules inKexhaustively, until no new facts are obtained. Consider the head disjuncts individually by branching out on them.

Output: Universal Model Set ofK Questions

1. How to apply rules?

2. Do we indeed obtain a finite set of finite models?

(27)

Chasing a Universal Model Set

General Chase Procedure Input: Knowledge BaseK

Procedure: Apply rules inKexhaustively, until no new facts are obtained. Consider the head disjuncts individually by branching out on them.

Output: Universal Model Set ofK Questions

1. How to apply rules?

2. Do we indeed obtain a finite set of finite models?

(28)

Chasing a Universal Model Set

General Chase Procedure Input: Knowledge BaseK

Procedure: Apply rules inKexhaustively, until no new facts are obtained. Consider the head disjuncts individually by branching out on them.

Output: Universal Model Set ofK Questions

1. How to apply rules?

(29)

How to apply rules?

Definition

Atriggeris a pairλ:=hρ, θiof a ruleρand a substitutionθ.

In the context of a fact setF, the triggerλis: activeifBρθ⊆F,

obsoleteifsk(Hiρ)θ⊆Ffor some 1≤ibranch(ρ), and applicabletoFif it is active and not obsolete.

Ifλis applicable toF, then theapplicationofλonFis defined as the set of fact sets:

λ(F) :={Fsk(Hiρ)θ|1≤ibranch(ρ)}

Those applications can be implemented using ASP-solvers.

(30)

How to apply rules?

Definition

Atriggeris a pairλ:=hρ, θiof a ruleρand a substitutionθ.

In the context of a fact setF, the triggerλis:

activeifBρθ⊆F,

obsoleteifsk(Hiρ)θ⊆Ffor some 1≤ibranch(ρ), and applicabletoFif it is active and not obsolete.

Ifλis applicable toF, then theapplicationofλonFis defined as the set of fact sets:

λ(F) :={Fsk(Hiρ)θ|1≤ibranch(ρ)}

Those applications can be implemented using ASP-solvers.

(31)

How to apply rules?

Definition

Atriggeris a pairλ:=hρ, θiof a ruleρand a substitutionθ.

In the context of a fact setF, the triggerλis:

activeifBρθ⊆F,

obsoleteifsk(Hiρ)θ⊆Ffor some 1≤ibranch(ρ), and applicabletoFif it is active and not obsolete.

Ifλis applicable toF, then theapplicationofλonFis defined as the set of fact sets:

λ(F) :={Fsk(Hiρ)θ|1≤ibranch(ρ)}

Those applications can be implemented using ASP-solvers.

(32)

How to apply rules?

Definition

Atriggeris a pairλ:=hρ, θiof a ruleρand a substitutionθ.

In the context of a fact setF, the triggerλis:

activeifBρθ⊆F,

obsoleteifsk(Hiρ)θ⊆Ffor some 1≤ibranch(ρ),

and applicabletoFif it is active and not obsolete.

Ifλis applicable toF, then theapplicationofλonFis defined as the set of fact sets:

λ(F) :={Fsk(Hiρ)θ|1≤ibranch(ρ)}

Those applications can be implemented using ASP-solvers.

(33)

How to apply rules?

Definition

Atriggeris a pairλ:=hρ, θiof a ruleρand a substitutionθ.

In the context of a fact setF, the triggerλis:

activeifBρθ⊆F,

obsoleteifsk(Hiρ)θ⊆Ffor some 1≤ibranch(ρ), and applicabletoFif it is active and not obsolete.

Ifλis applicable toF, then theapplicationofλonFis defined as the set of fact sets:

λ(F) :={Fsk(Hiρ)θ|1≤ibranch(ρ)}

Those applications can be implemented using ASP-solvers.

(34)

How to apply rules?

Definition

Atriggeris a pairλ:=hρ, θiof a ruleρand a substitutionθ.

In the context of a fact setF, the triggerλis:

activeifBρθ⊆F,

obsoleteifsk(Hiρ)θ⊆Ffor some 1≤ibranch(ρ), and applicabletoFif it is active and not obsolete.

Ifλis applicable toF, then theapplicationofλonFis defined as the set of fact sets:

λ(F) :={Fsk(Hiρ)θ|1≤ibranch(ρ)}

Those applications can be implemented using ASP-solvers.

(35)

How to apply rules?

Definition

Atriggeris a pairλ:=hρ, θiof a ruleρand a substitutionθ.

In the context of a fact setF, the triggerλis:

activeifBρθ⊆F,

obsoleteifsk(Hiρ)θ⊆Ffor some 1≤ibranch(ρ), and applicabletoFif it is active and not obsolete.

Ifλis applicable toF, then theapplicationofλonFis defined as the set of fact sets:

λ(F) :={Fsk(Hiρ)θ|1≤ibranch(ρ)}

Those applications can be implemented using ASP-solvers.

(36)

How to apply rules?

Example

Consider the following instance and rule set:

I:={Pizza(myPizza)}

ρ:=Pizza(x)→InFridge(x)∨(Service(fz(x))∧Delivers(fz(x),x))

myPizza:Pizza

myPizza:Pizza,InFridge

myPizza:Pizza

fz(myPizza) :Service Delivers

The BCQ∃z.(Service(z)∧Delivers(z,myPizza))isnotentailed.

(37)

How to apply rules?

Example

Consider the following instance and rule set:

I:={Pizza(myPizza)}

ρ:=Pizza(x)→InFridge(x)∨(Service(fz(x))∧Delivers(fz(x),x))

myPizza:Pizza

myPizza:Pizza,InFridge

myPizza:Pizza

fz(myPizza) :Service Delivers

The BCQ∃z.(Service(z)∧Delivers(z,myPizza))isnotentailed.

(38)

How to apply rules?

Example

Consider the following instance and rule set:

I:={Pizza(myPizza)}

ρ:=Pizza(x)→InFridge(x)∨(Service(fz(x))∧Delivers(fz(x),x))

myPizza:Pizza

myPizza:Pizza,InFridge

myPizza:Pizza

fz(myPizza) :Service Delivers

The BCQ∃z.(Service(z)∧Delivers(z,myPizza))isnotentailed.

(39)

How to apply rules?

Example

Consider the following instance and rule set:

I:={Pizza(myPizza)}

ρ:=Pizza(x)→InFridge(x)∨(Service(fz(x))∧Delivers(fz(x),x))

myPizza:Pizza

myPizza:Pizza,InFridge

myPizza:Pizza

fz(myPizza) :Service Delivers

The BCQ∃z.(Service(z)∧Delivers(z,myPizza))isnotentailed.

(40)

How to apply rules?

Example

Consider the following instance and rule set:

I:={Pizza(myPizza)}

ρ:=Pizza(x)→InFridge(x)∨(Service(fz(x))∧Delivers(fz(x),x))

myPizza:Pizza

myPizza:Pizza,InFridge

myPizza:Pizza

Delivers

The BCQ∃z.(Service(z)∧Delivers(z,myPizza))isnotentailed.

(41)

How to apply rules?

Example

Consider the following instance and rule set:

I:={Pizza(myPizza)}

ρ:=Pizza(x)→InFridge(x)∨(Service(fz(x))∧Delivers(fz(x),x))

myPizza:Pizza

myPizza:Pizza,InFridge

myPizza:Pizza

fz(myPizza) :Service Delivers

The BCQ∃z.(Service(z)∧Delivers(z,myPizza))isnotentailed.

(42)

How to apply rules?

Example

Consider the following instance and rule set:

I:={Pizza(myPizza)}

ρ:=Pizza(x)→InFridge(x)∨(Service(fz(x))∧Delivers(fz(x),x))

myPizza:Pizza

myPizza:Pizza,InFridge

myPizza:Pizza Delivers

(43)

Chasing a Universal Model Set

General Chase Procedure Input: Knowledge BaseK

Procedure: Apply rules inKexhaustively, until no new facts are obtained. Consider the head disjuncts individually by branching out on them.

Output: Universal Model Set ofK Questions

1. How to apply rules?

2. Do we indeed obtain a finite set of finite models?

(44)

Do we indeed obtain a finite set of finite models?

Not always:The chase may not terminate on a knowledge base.

Definition

A knowledge baseKisterminatingif no new facts can be obtained at some point in the chase computation.

A rule setRisterminatingifhR,Iiis terminating for every instanceI.

Problem:Knowledge base termination and rule set termination are undecidable [Beeri and Vardi, 1981, Deutsch et al., 2008, Gogacz and Marcinkowski, 2014].

Example

The following rule set isnotterminating.

Pizza(x)→Last(x)∨(NextOrder(x,fz(x))∧Pizza(fz(x)))

(45)

Do we indeed obtain a finite set of finite models?

Not always:The chase may not terminate on a knowledge base.

Definition

A knowledge baseKisterminatingif no new facts can be obtained at some point in the chase computation.

A rule setRisterminatingifhR,Iiis terminating for every instanceI.

Problem:Knowledge base termination and rule set termination are undecidable [Beeri and Vardi, 1981, Deutsch et al., 2008, Gogacz and Marcinkowski, 2014].

Example

The following rule set isnotterminating.

Pizza(x)→Last(x)∨(NextOrder(x,fz(x))∧Pizza(fz(x)))

(46)

Do we indeed obtain a finite set of finite models?

Not always:The chase may not terminate on a knowledge base.

Definition

A knowledge baseKisterminatingif no new facts can be obtained at some point in the chase computation.

A rule setRisterminatingifhR,Iiis terminating for every instanceI.

Problem:Knowledge base termination and rule set termination are undecidable [Beeri and Vardi, 1981, Deutsch et al., 2008, Gogacz and Marcinkowski, 2014].

Example

The following rule set isnotterminating.

Pizza(x)→Last(x)∨(NextOrder(x,fz(x))∧Pizza(fz(x)))

(47)

Do we indeed obtain a finite set of finite models?

Not always:The chase may not terminate on a knowledge base.

Definition

A knowledge baseKisterminatingif no new facts can be obtained at some point in the chase computation.

A rule setRisterminatingifhR,Iiis terminating for every instanceI.

Problem:Knowledge base termination and rule set termination are undecidable [Beeri and Vardi, 1981, Deutsch et al., 2008, Gogacz and Marcinkowski, 2014].

Example

The following rule set isnotterminating.

Pizza(x)→Last(x)∨(NextOrder(x,fz(x))∧Pizza(fz(x)))

(48)

Do we indeed obtain a finite set of finite models?

Not always:The chase may not terminate on a knowledge base.

Definition

A knowledge baseKisterminatingif no new facts can be obtained at some point in the chase computation.

A rule setRisterminatingifhR,Iiis terminating for every instanceI.

Problem:Knowledge base termination and rule set termination are undecidable [Beeri and Vardi, 1981, Deutsch et al., 2008, Gogacz and Marcinkowski, 2014].

Example

The following rule set isnotterminating.

(49)

Better safe than sorry

Definition

Acyclicity Notionsare sufficient conditions for rule set termination.

Existing notions:

MFA [Cuenca Grau et al., 2013] - Skolem Chase RMFA [Carral et al., 2017] - Restricted Chase Why not use MFA?

MFA isnot definedfor rule sets with disjunctions. Why not use RMFA?

RMFA isnot soundfor the disjunctive skolem chase. (We can still use some ideas.)

(50)

Better safe than sorry

Definition

Acyclicity Notionsare sufficient conditions for rule set termination.

Existing notions:

MFA [Cuenca Grau et al., 2013] - Skolem Chase RMFA [Carral et al., 2017] - Restricted Chase

Why not use MFA?

MFA isnot definedfor rule sets with disjunctions. Why not use RMFA?

RMFA isnot soundfor the disjunctive skolem chase. (We can still use some ideas.)

(51)

Better safe than sorry

Definition

Acyclicity Notionsare sufficient conditions for rule set termination.

Existing notions:

MFA [Cuenca Grau et al., 2013] - Skolem Chase RMFA [Carral et al., 2017] - Restricted Chase Why not use MFA?

MFA isnot definedfor rule sets with disjunctions. Why not use RMFA?

RMFA isnot soundfor the disjunctive skolem chase. (We can still use some ideas.)

(52)

Better safe than sorry

Definition

Acyclicity Notionsare sufficient conditions for rule set termination.

Existing notions:

MFA [Cuenca Grau et al., 2013] - Skolem Chase RMFA [Carral et al., 2017] - Restricted Chase Why not use MFA?

MFA isnot definedfor rule sets with disjunctions.

Why not use RMFA?

RMFA isnot soundfor the disjunctive skolem chase. (We can still use some ideas.)

(53)

Better safe than sorry

Definition

Acyclicity Notionsare sufficient conditions for rule set termination.

Existing notions:

MFA [Cuenca Grau et al., 2013] - Skolem Chase RMFA [Carral et al., 2017] - Restricted Chase Why not use MFA?

MFA isnot definedfor rule sets with disjunctions.

Why not use RMFA?

RMFA isnot soundfor the disjunctive skolem chase. (We can still use some ideas.)

(54)

Better safe than sorry

Definition

Acyclicity Notionsare sufficient conditions for rule set termination.

Existing notions:

MFA [Cuenca Grau et al., 2013] - Skolem Chase RMFA [Carral et al., 2017] - Restricted Chase Why not use MFA?

MFA isnot definedfor rule sets with disjunctions.

Why not use RMFA?

(55)

Better safe than sorry

General idea of MFA: Compute chase on critical instanceI?Rand check for cyclic terms.

Theorem

A rule set R without disjunctions is terminating if and only if hR,I?Riis terminating [Marnette, 2009].

This approach doesnotwork for disjunctive existential rules. Example

Consider the rule setRand its critical instanceI?R:

R={Pizza(x)→Last(x)∨(NextOrder(x,fz(x))∧Pizza(fz(x)))} I?R ={Pizza(?),Last(?),NextOrder(?, ?)}

The knowledge basehR,I?Riis terminating butRis not.

(56)

Better safe than sorry

General idea of MFA: Compute chase on critical instanceI?Rand check for cyclic terms.

Theorem

A rule set R without disjunctions is terminating if and only if hR,I?Riis terminating [Marnette, 2009].

This approach doesnotwork for disjunctive existential rules. Example

Consider the rule setRand its critical instanceI?R:

R={Pizza(x)→Last(x)∨(NextOrder(x,fz(x))∧Pizza(fz(x)))} I?R ={Pizza(?),Last(?),NextOrder(?, ?)}

The knowledge basehR,I?Riis terminating butRis not.

(57)

Better safe than sorry

General idea of MFA: Compute chase on critical instanceI?Rand check for cyclic terms.

Theorem

A rule set R without disjunctions is terminating if and only if hR,I?Riis terminating [Marnette, 2009].

This approach doesnotwork for disjunctive existential rules.

Example

Consider the rule setRand its critical instanceI?R:

R={Pizza(x)→Last(x)∨(NextOrder(x,fz(x))∧Pizza(fz(x)))} I?R ={Pizza(?),Last(?),NextOrder(?, ?)}

The knowledge basehR,I?Riis terminating butRis not.

(58)

Better safe than sorry

General idea of MFA: Compute chase on critical instanceI?Rand check for cyclic terms.

Theorem

A rule set R without disjunctions is terminating if and only if hR,I?Riis terminating [Marnette, 2009].

This approach doesnotwork for disjunctive existential rules.

Example

Consider the rule setRand its critical instanceI?R:

R={Pizza(x)→Last(x)∨(NextOrder(x,fz(x))∧Pizza(fz(x)))} I? ={Pizza(?),Last(?),NextOrder(?, ?)}

(59)

Naive Fix

Treat disjunctions as conjunctions.

Proposition

Consider a rule setRand a rule setR0that results fromRby replacing disjunctions with conjunctions. IfR0 is terminating, thenRis terminating.

Though, this is not satisfactory. Example

The following rule set is terminating but it does not terminate if we replace the disjunction by a conjunction:

Pizza(x)→Last(x)∨(NextOrder(x,fz(x))∧Pizza(fz(x))) NextOrder(y,x)→Last(x)

(60)

Naive Fix

Treat disjunctions as conjunctions.

Proposition

Consider a rule setRand a rule setR0 that results fromRby replacing disjunctions with conjunctions. IfR0 is terminating, thenRis terminating.

Though, this is not satisfactory. Example

The following rule set is terminating but it does not terminate if we replace the disjunction by a conjunction:

Pizza(x)→Last(x)∨(NextOrder(x,fz(x))∧Pizza(fz(x))) NextOrder(y,x)→Last(x)

(61)

Naive Fix

Treat disjunctions as conjunctions.

Proposition

Consider a rule setRand a rule setR0 that results fromRby replacing disjunctions with conjunctions. IfR0 is terminating, thenRis terminating.

Though, this is not satisfactory.

Example

The following rule set is terminating but it does not terminate if we replace the disjunction by a conjunction:

Pizza(x)→Last(x)∨(NextOrder(x,fz(x))∧Pizza(fz(x))) NextOrder(y,x)→Last(x)

(62)

Naive Fix

Treat disjunctions as conjunctions.

Proposition

Consider a rule setRand a rule setR0 that results fromRby replacing disjunctions with conjunctions. IfR0 is terminating, thenRis terminating.

Though, this is not satisfactory.

Example

The following rule set is terminating but it does not terminate if we replace the disjunction by a conjunction:

Pizza(x)→Last(x)∨(NextOrder(x,fz(x))∧Pizza(fz(x)))

(63)

Generalise Obsoleteness

How to improve upon the naive fix?

Problem:Obsoleteness is too restrictive.

Can we identify triggers that are obsolete independent of the starting instance?

Definition

A triggerhρ, θiisblockedif it is obsolete w.r.t. to the set of facts that are "necessarily involved" in the derivation ofBρθ.

Theorem

In the context of a rule set: If a triggerλis blocked, thenλis not applicable to any fact set occurring in the chase on any instance.

(64)

Generalise Obsoleteness

How to improve upon the naive fix?

Problem:Obsoleteness is too restrictive.

Can we identify triggers that are obsolete independent of the starting instance?

Definition

A triggerhρ, θiisblockedif it is obsolete w.r.t. to the set of facts that are "necessarily involved" in the derivation ofBρθ.

Theorem

In the context of a rule set: If a triggerλis blocked, thenλis not applicable to any fact set occurring in the chase on any instance.

(65)

Generalise Obsoleteness

How to improve upon the naive fix?

Problem:Obsoleteness is too restrictive.

Can we identify triggers that are obsolete independent of the starting instance?

Definition

A triggerhρ, θiisblockedif it is obsolete w.r.t. to the set of facts that are "necessarily involved" in the derivation ofBρθ.

Theorem

In the context of a rule set: If a triggerλis blocked, thenλis not applicable to any fact set occurring in the chase on any instance.

(66)

Generalise Obsoleteness

How to improve upon the naive fix?

Problem:Obsoleteness is too restrictive.

Can we identify triggers that are obsolete independent of the starting instance?

Definition

A triggerhρ, θiisblockedif it is obsolete w.r.t. to the set of facts that are "necessarily involved" in the derivation ofBρθ.

Theorem

In the context of a rule set: If a triggerλis blocked, thenλis not

(67)

Generalise Obsoleteness

What does "necessarily involved" mean?

Example

Consider the following rule set:

ρ1:Pizza(x)→Last(x)∨(NextOrder(x,fz(x))∧Pizza(fz(x))) NextOrder(y,x)→Last(x)

Consider the triggerhρ1,{x7→fz(?)}i.

To derivefz(?),hρ1,{x7→?}iwas applied before. The following fact set has necessarily been involved:

{Pizza(?),NextOrder(?,fz(?)),Pizza(fz(?)),Last(fz(?))}

(68)

Generalise Obsoleteness

What does "necessarily involved" mean?

Example

Consider the following rule set:

ρ1:Pizza(x)→Last(x)∨(NextOrder(x,fz(x))∧Pizza(fz(x))) NextOrder(y,x)→Last(x)

Consider the triggerhρ1,{x7→fz(?)}i.

To derivefz(?),hρ1,{x7→?}iwas applied before. The following fact set has necessarily been involved:

{Pizza(?),NextOrder(?,fz(?)),Pizza(fz(?)),Last(fz(?))}

(69)

Generalise Obsoleteness

What does "necessarily involved" mean?

Example

Consider the following rule set:

ρ1:Pizza(x)→Last(x)∨(NextOrder(x,fz(x))∧Pizza(fz(x))) NextOrder(y,x)→Last(x)

Consider the triggerhρ1,{x7→fz(?)}i.

To derivefz(?),hρ1,{x7→?}iwas applied before.

The following fact set has necessarily been involved:

{Pizza(?),NextOrder(?,fz(?)),Pizza(fz(?)),Last(fz(?))}

(70)

Generalise Obsoleteness

What does "necessarily involved" mean?

Example

Consider the following rule set:

ρ1:Pizza(x)→Last(x)∨(NextOrder(x,fz(x))∧Pizza(fz(x))) NextOrder(y,x)→Last(x)

Consider the triggerhρ1,{x7→fz(?)}i.

To derivefz(?),hρ1,{x7→?}iwas applied before.

The following fact set has necessarily been involved:

{Pizza(?),

NextOrder(?,fz(?)),Pizza(fz(?)),Last(fz(?))}

(71)

Generalise Obsoleteness

What does "necessarily involved" mean?

Example

Consider the following rule set:

ρ1:Pizza(x)→Last(x)∨(NextOrder(x,fz(x))∧Pizza(fz(x))) NextOrder(y,x)→Last(x)

Consider the triggerhρ1,{x7→fz(?)}i.

To derivefz(?),hρ1,{x7→?}iwas applied before.

The following fact set has necessarily been involved:

{Pizza(?),NextOrder(?,fz(?)),

Pizza(fz(?)),Last(fz(?))}

(72)

Generalise Obsoleteness

What does "necessarily involved" mean?

Example

Consider the following rule set:

ρ1:Pizza(x)→Last(x)∨(NextOrder(x,fz(x))∧Pizza(fz(x))) NextOrder(y,x)→Last(x)

Consider the triggerhρ1,{x7→fz(?)}i.

To derivefz(?),hρ1,{x7→?}iwas applied before.

The following fact set has necessarily been involved:

{Pizza(?),NextOrder(?,fz(?)),Pizza(fz(?)),

Last(fz(?))}

(73)

Generalise Obsoleteness

What does "necessarily involved" mean?

Example

Consider the following rule set:

ρ1:Pizza(x)→Last(x)∨(NextOrder(x,fz(x))∧Pizza(fz(x))) NextOrder(y,x)→Last(x)

Consider the triggerhρ1,{x7→fz(?)}i.

To derivefz(?),hρ1,{x7→?}iwas applied before.

The following fact set has necessarily been involved:

{Pizza(?),NextOrder(?,fz(?)),Pizza(fz(?)),Last(fz(?))}

(74)

Compute a generalized Chase result

Definition

For a rule setR, we define DMFA(R)to be the smallest fact set such thatI?R⊆DMFA(R)and, for every triggerhρ, θiwithρ∈R that is active w.r.t. DMFA(R)and not blocked, we have

sk(Hiρ)θ⊆DMFA(R)for all 1≤ibranch(ρ).

Definition

Ris DMFA if DMFA(R)does not contain a cyclic term. Theorem

If a rule set R is DMFA, then R is terminating.

(75)

Compute a generalized Chase result

Definition

For a rule setR, we define DMFA(R)to be the smallest fact set such thatI?R⊆DMFA(R)and, for every triggerhρ, θiwithρ∈R that is active w.r.t. DMFA(R)and not blocked, we have

sk(Hiρ)θ⊆DMFA(R)for all 1≤ibranch(ρ).

Definition

Ris DMFA if DMFA(R)does not contain a cyclic term.

Theorem

If a rule set R is DMFA, then R is terminating.

(76)

Compute a generalized Chase result

Definition

For a rule setR, we define DMFA(R)to be the smallest fact set such thatI?R⊆DMFA(R)and, for every triggerhρ, θiwithρ∈R that is active w.r.t. DMFA(R)and not blocked, we have

sk(Hiρ)θ⊆DMFA(R)for all 1≤ibranch(ρ).

Definition

Ris DMFA if DMFA(R)does not contain a cyclic term.

Theorem

(77)

Compute a generalized Chase result

Theorem

If a rule set R is DMFA, then R is terminating.

Proof.

We show thatRis not DMFA ifRis not terminating.

Letσbe a mapping over constants withσ(c) :=? for all constantsc.

1. There exists an instanceIsuch thathR,Iiis not terminating. 2. By (1): The chase sequence ofhR,Iicontains a cyclic termt. 3. By (2): The cyclic termσ(t)is in DMFA(R)(via induction over

the chase sequence). 4. By (3):Ris not DMFA.

(78)

Compute a generalized Chase result

Theorem

If a rule set R is DMFA, then R is terminating.

Proof.

We show thatRis not DMFA ifRis not terminating.

Letσbe a mapping over constants withσ(c) :=? for all constantsc.

1. There exists an instanceIsuch thathR,Iiis not terminating. 2. By (1): The chase sequence ofhR,Iicontains a cyclic termt. 3. By (2): The cyclic termσ(t)is in DMFA(R)(via induction over

the chase sequence). 4. By (3):Ris not DMFA.

(79)

Compute a generalized Chase result

Theorem

If a rule set R is DMFA, then R is terminating.

Proof.

We show thatRis not DMFA ifRis not terminating.

Letσbe a mapping over constants withσ(c) :=? for all constantsc.

1. There exists an instanceIsuch thathR,Iiis not terminating.

2. By (1): The chase sequence ofhR,Iicontains a cyclic termt. 3. By (2): The cyclic termσ(t)is in DMFA(R)(via induction over

the chase sequence). 4. By (3):Ris not DMFA.

(80)

Compute a generalized Chase result

Theorem

If a rule set R is DMFA, then R is terminating.

Proof.

We show thatRis not DMFA ifRis not terminating.

Letσbe a mapping over constants withσ(c) :=? for all constantsc.

1. There exists an instanceIsuch thathR,Iiis not terminating.

2. By (1): The chase sequence ofhR,Iicontains a cyclic termt.

3. By (2): The cyclic termσ(t)is in DMFA(R)(via induction over the chase sequence).

4. By (3):Ris not DMFA.

(81)

Compute a generalized Chase result

Theorem

If a rule set R is DMFA, then R is terminating.

Proof.

We show thatRis not DMFA ifRis not terminating.

Letσbe a mapping over constants withσ(c) :=? for all constantsc.

1. There exists an instanceIsuch thathR,Iiis not terminating.

2. By (1): The chase sequence ofhR,Iicontains a cyclic termt. 3. By (2): The cyclic termσ(t)is in DMFA(R)(via induction over

the chase sequence).

4. By (3):Ris not DMFA.

(82)

Compute a generalized Chase result

Theorem

If a rule set R is DMFA, then R is terminating.

Proof.

We show thatRis not DMFA ifRis not terminating.

Letσbe a mapping over constants withσ(c) :=? for all constantsc.

1. There exists an instanceIsuch thathR,Iiis not terminating.

2. By (1): The chase sequence ofhR,Iicontains a cyclic termt. 3. By (2): The cyclic termσ(t)is in DMFA(R)(via induction over

the chase sequence).

(83)

Compute a generalized Chase result

Example R:

Pizza(x)→Last(x)∨(NextOrder(x,fz(x))∧Pizza(fz(x))) NextOrder(y,x)→Last(x)

DMFA(R):

?:Pizza,Last NextOrder

fz(?) :Pizza

,Last

NextOrder

fz(fz(?)) :Pizza NextOrder

(84)

Compute a generalized Chase result

Example R:

Pizza(x)→Last(x)∨(NextOrder(x,fz(x))∧Pizza(fz(x))) NextOrder(y,x)→Last(x)

DMFA(R):

NextOrder

fz(?) :Pizza

,Last

NextOrder

fz(fz(?)) :Pizza NextOrder

(85)

Compute a generalized Chase result

Example R:

Pizza(x)→Last(x)∨(NextOrder(x,fz(x))∧Pizza(fz(x))) NextOrder(y,x)→Last(x)

DMFA(R):

?:Pizza,Last NextOrder

fz(?) :Pizza

,Last

NextOrder

fz(fz(?)) :Pizza NextOrder

(86)

Compute a generalized Chase result

Example R:

Pizza(x)→Last(x)∨(NextOrder(x,fz(x))∧Pizza(fz(x))) NextOrder(y,x)→Last(x)

DMFA(R):

NextOrder

fz(?) :Pizza,Last

NextOrder

fz(fz(?)) :Pizza NextOrder

(87)

Compute a generalized Chase result

Example R:

Pizza(x)→Last(x)∨(NextOrder(x,fz(x))∧Pizza(fz(x))) NextOrder(y,x)→Last(x)

DMFA(R):

?:Pizza,Last NextOrder

fz(?) :Pizza,Last

NextOrder

fz(fz(?)) :Pizza NextOrder

(88)

Hierarchy of Acyclicity Notions

Disjunctive Existential Rule Sets

Terminating w.r.t. restricted chase Terminating w.r.t. disjunctive skolem chase

RMFA

MFA DMFA

(89)

Hierarchy of Acyclicity Notions

Disjunctive Existential Rule Sets Terminating w.r.t.

restricted chase

Terminating w.r.t. disjunctive skolem chase

RMFA

MFA DMFA

(90)

Hierarchy of Acyclicity Notions

Disjunctive Existential Rule Sets Terminating w.r.t.

restricted chase Terminating w.r.t.

disjunctive skolem chase

RMFA

MFA DMFA

(91)

Hierarchy of Acyclicity Notions

Disjunctive Existential Rule Sets Terminating w.r.t.

restricted chase Terminating w.r.t.

disjunctive skolem chase

RMFA

MFA DMFA

(92)

Hierarchy of Acyclicity Notions

Disjunctive Existential Rule Sets Terminating w.r.t.

restricted chase Terminating w.r.t.

disjunctive skolem chase

RMFA

MFA

DMFA

(93)

Hierarchy of Acyclicity Notions

Disjunctive Existential Rule Sets Terminating w.r.t.

restricted chase Terminating w.r.t.

disjunctive skolem chase

RMFA

MFA DMFA

(94)

Hierarchy of Acyclicity Notions

Disjunctive Existential Rule Sets Terminating w.r.t.

restricted chase Terminating w.r.t.

disjunctive skolem chase

RMFA

MFA DMFA

Example

The following singleton rule set is contained in the blank space:

(95)

Complexity of the DMFA Check

Theorem

Checking if a rule set R is DMFA is 2ExpTime-complete.

Proof. (Sketch)

(Membership): We compute DMFA(R)step by step. The number of facts without cyclic terms is at most doubly exponential.

Therefore, there are at most doubly exponentially many steps of which each is computable in 2ExpTime.

(Hardness): Reduction from MFA (MFA and DMFA coincide for rule sets without disjunctions)

[Cuenca Grau et al., 2013, Calì et al., 2010].

(96)

Complexity of the DMFA Check

Theorem

Checking if a rule set R is DMFA is 2ExpTime-complete.

Proof. (Sketch)

(Membership): We compute DMFA(R)step by step.

The number of facts without cyclic terms is at most doubly exponential.

Therefore, there are at most doubly exponentially many steps of which each is computable in 2ExpTime.

(Hardness): Reduction from MFA (MFA and DMFA coincide for rule sets without disjunctions)

[Cuenca Grau et al., 2013, Calì et al., 2010].

(97)

Complexity of the DMFA Check

Theorem

Checking if a rule set R is DMFA is 2ExpTime-complete.

Proof. (Sketch)

(Membership): We compute DMFA(R)step by step. The number of facts without cyclic terms is at most doubly exponential.

Therefore, there are at most doubly exponentially many steps of which each is computable in 2ExpTime.

(Hardness): Reduction from MFA (MFA and DMFA coincide for rule sets without disjunctions)

[Cuenca Grau et al., 2013, Calì et al., 2010].

(98)

Complexity of the DMFA Check

Theorem

Checking if a rule set R is DMFA is 2ExpTime-complete.

Proof. (Sketch)

(Membership): We compute DMFA(R)step by step. The number of facts without cyclic terms is at most doubly exponential.

Therefore, there are at most doubly exponentially many steps of which each is computable in 2ExpTime.

(Hardness): Reduction from MFA (MFA and DMFA coincide for rule sets without disjunctions)

[Cuenca Grau et al., 2013, Calì et al., 2010].

(99)

Complexity of the DMFA Check

Theorem

Checking if a rule set R is DMFA is 2ExpTime-complete.

Proof. (Sketch)

(Membership): We compute DMFA(R)step by step. The number of facts without cyclic terms is at most doubly exponential.

Therefore, there are at most doubly exponentially many steps of which each is computable in 2ExpTime.

(Hardness): Reduction from MFA (MFA and DMFA coincide for rule sets without disjunctions)

[Cuenca Grau et al., 2013, Calì et al., 2010].

(100)

Complexity of BCQ entailment for DMFA Ruleset

Theorem

Let R be a rule set that is DMFA and letKbe a knowledge base featuring R. BCQ entailment forKis coN2ExpTime-complete.

Proof. (Sketch)

(Membership): We consider BCQ non-entailment. The number of sets of fact sets is at most triply exponential. Since it suffices to guess one fact set in each chase step, we end up in N2ExpTime by using a similar step by step computation as for the DMFA check. Thus, BCQ entailment is in coN2ExpTime.

(Hardness): Reduction from the word problem of

N2ExpTime-bounded turing machines similar to the proof for RMFA [Carral et al., 2017, Calì et al., 2010].

(101)

Complexity of BCQ entailment for DMFA Ruleset

Theorem

Let R be a rule set that is DMFA and letKbe a knowledge base featuring R. BCQ entailment forKis coN2ExpTime-complete.

Proof. (Sketch)

(Membership): We consider BCQ non-entailment.

The number of sets of fact sets is at most triply exponential. Since it suffices to guess one fact set in each chase step, we end up in N2ExpTime by using a similar step by step computation as for the DMFA check. Thus, BCQ entailment is in coN2ExpTime.

(Hardness): Reduction from the word problem of

N2ExpTime-bounded turing machines similar to the proof for RMFA [Carral et al., 2017, Calì et al., 2010].

(102)

Complexity of BCQ entailment for DMFA Ruleset

Theorem

Let R be a rule set that is DMFA and letKbe a knowledge base featuring R. BCQ entailment forKis coN2ExpTime-complete.

Proof. (Sketch)

(Membership): We consider BCQ non-entailment. The number of sets of fact sets is at most triply exponential.

Since it suffices to guess one fact set in each chase step, we end up in N2ExpTime by using a similar step by step computation as for the DMFA check. Thus, BCQ entailment is in coN2ExpTime.

(Hardness): Reduction from the word problem of

N2ExpTime-bounded turing machines similar to the proof for RMFA [Carral et al., 2017, Calì et al., 2010].

(103)

Complexity of BCQ entailment for DMFA Ruleset

Theorem

Let R be a rule set that is DMFA and letKbe a knowledge base featuring R. BCQ entailment forKis coN2ExpTime-complete.

Proof. (Sketch)

(Membership): We consider BCQ non-entailment. The number of sets of fact sets is at most triply exponential. Since it suffices to guess one fact set in each chase step, we end up in N2ExpTime by using a similar step by step computation as for the DMFA check.

Thus, BCQ entailment is in coN2ExpTime.

(Hardness): Reduction from the word problem of

N2ExpTime-bounded turing machines similar to the proof for RMFA [Carral et al., 2017, Calì et al., 2010].

(104)

Complexity of BCQ entailment for DMFA Ruleset

Theorem

Let R be a rule set that is DMFA and letKbe a knowledge base featuring R. BCQ entailment forKis coN2ExpTime-complete.

Proof. (Sketch)

(Membership): We consider BCQ non-entailment. The number of sets of fact sets is at most triply exponential. Since it suffices to guess one fact set in each chase step, we end up in N2ExpTime by using a similar step by step computation as for the DMFA check.

Thus, BCQ entailment is in coN2ExpTime.

(Hardness): Reduction from the word problem of

N2ExpTime-bounded turing machines similar to the proof for RMFA [Carral et al., 2017, Calì et al., 2010].

(105)

Complexity of BCQ entailment for DMFA Ruleset

Theorem

Let R be a rule set that is DMFA and letKbe a knowledge base featuring R. BCQ entailment forKis coN2ExpTime-complete.

Proof. (Sketch)

(Membership): We consider BCQ non-entailment. The number of sets of fact sets is at most triply exponential. Since it suffices to guess one fact set in each chase step, we end up in N2ExpTime by using a similar step by step computation as for the DMFA check.

Thus, BCQ entailment is in coN2ExpTime.

(Hardness): Reduction from the word problem of

N2ExpTime-bounded turing machines similar to the proof for RMFA [Carral et al., 2017, Calì et al., 2010].

(106)

Results

DMFA is a novel acyclicity notions tailored towards the disjunctive skolem chase.

DMFA is in between MFA and RMFA (as expected). Checking DMFA is 2ExpTime-complete and checking BCQ entailment for a rule set that is DMFA is

coN2ExpTime-complete.

(107)

Results

DMFA is a novel acyclicity notions tailored towards the disjunctive skolem chase.

DMFA is in between MFA and RMFA (as expected).

Checking DMFA is 2ExpTime-complete and checking BCQ entailment for a rule set that is DMFA is

coN2ExpTime-complete.

(108)

Results

DMFA is a novel acyclicity notions tailored towards the disjunctive skolem chase.

DMFA is in between MFA and RMFA (as expected).

Checking DMFA is 2ExpTime-complete and checking BCQ entailment for a rule set that is DMFA is

coN2ExpTime-complete.

(109)

Future Work

In theory:

1. Develop a cyclicity notion for the disjunctive skolem chase.

2. Refine notions to capture as many rule sets as possible. In practice:

1. Evaluate DMFA on real world knowledge bases.

2. Use an ASP based implementation of the disjunctive skolem chase for reasoning with description logics.

(110)

Future Work

In theory:

1. Develop a cyclicity notion for the disjunctive skolem chase.

2. Refine notions to capture as many rule sets as possible.

In practice:

1. Evaluate DMFA on real world knowledge bases.

2. Use an ASP based implementation of the disjunctive skolem chase for reasoning with description logics.

(111)

Future Work

In theory:

1. Develop a cyclicity notion for the disjunctive skolem chase.

2. Refine notions to capture as many rule sets as possible.

In practice:

1. Evaluate DMFA on real world knowledge bases.

2. Use an ASP based implementation of the disjunctive skolem chase for reasoning with description logics.

Referenzen

ÄHNLICHE DOKUMENTE

Sofortversorgung des Unterkiefers auf provisorischen Implantaten 198 Atypischer Behandlungsablauf – schwierige Ausgangssituation 201 Festsitzende Sofortversorgung nach

Immediate restoration of provisional implants following extraction 480 Immediate restoration with sinus floor elevation and implant placement 489 Atypical treatment course

For the knowledge base K from Example 1.1, we stress that K does not have a finite universal (core) model since we find a transfinite chase sequence for one of its

For a rule set without strong restraining relations, if there exists an unfair non-terminating restricted chase sequence, then there exists a fair non-terminating restricted

In this section, we present equality model-faithful acyclic- ity (EMFA), an acyclicity notion based on model-faithful acyclicity (MFA) (Cuenca Grau et al. 2013) that can be di-

We develop Disjunctive Model Faithful Acyclic- ity (DMFA) as a novel acyclicity notion for the disjunctive skolem chase variant by using ideas from Model Faithful Acyclicity (MFA)

The maximal nesting depth of function terms in the chase tree is bounded by the number of existentially quantified variables in R, since a greater depth can only be achieved

To celebrate the 385th anniversary of the Joyous Entry of Cardinal-Infant Ferdinand of Spain into Antwerp in 1635, which had been largely designed by Peter Paul Rubens, a conference