Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf ·...

52
Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics Conclusion: and now? Answer Set Semantics vs. Information Term Semantics Camillo Fiorentini, Mario Ornaghi Dipartimento di Scienze dell’Informazione, Universit` a degli Studi di Milano, Italy September 13, 2007

Transcript of Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf ·...

Page 1: Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf · Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics

Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics Conclusion: and now?

Answer Set Semantics vs. Information TermSemantics

Camillo Fiorentini, Mario Ornaghi

Dipartimento di Scienze dell’Informazione, Universita degli Studi di Milano, Italy

September 13, 2007

Page 2: Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf · Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics

Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics Conclusion: and now?

The context of this talk

Work in progress: a DLV* implementation of CooML (Constructiveobject oriented Modeling Language) snapshot generation.

In this talk: ideas/results from our work in progress comparing CooMLsnapshot semantics and answer sets semanitcs.

Page 3: Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf · Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics

Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics Conclusion: and now?

The Context: Representing OO Modeling Languages inDLV

CooML (Constructive object oriented Modeling Language):

The novelty: semantics based on Fcl(an intermediate constructive logic, Miglioli [1989], similarMedvedev’s Logic of finite problems [1962]).

Logic based tools:

. . .snapshot generation for model validation

Page 4: Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf · Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics

Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics Conclusion: and now?

The Context: Snapshot Generation for Model Validation

To validate an OO model M w.r.t. its informal requirements,show human viable snapshots (representing system states)

Remark: must be empirical

UML+OCL Example: USE (Gogolla 2004), imperative generationlanguage

In CooML: snapshots

specified by class propertiesthrough pieces of informationdeclarative generationUML+OCL can be represented in CooML

Page 5: Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf · Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics

Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics Conclusion: and now?

Outline

1 Representing the CooML snapshot semantics in DLV

2 Fcl semantics vs stable model semantics

3 Conclusion: and now?

Page 6: Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf · Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics

Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics Conclusion: and now?

The syntax of class properties

Class Property (F a first order formula, G a class generator, T theclassical truth operator):

Simple S ::= literal | T (F )

Existential E ::= S | E ∧ E | E ∨ E | ∃x E

Class property P ::= E | ∀ x .G → E

Example

A receipt is empty (no items), or it is not empty and computes a grandtotal. Each item has a price. The grand total is the sum of the prices ofall the items.

class

: ∀x .receipt(x)→T (¬∃i .item(i , x))

∨ ((∃t.t = total(x)) ∧ T (∃i .item(i , x)))

class : ∀i , x .item(i , x)→ receipt(x) ∧ ∃p.p = price(i)

constr : T (∀x .receipt(x)→ total(x) = sum(price(i) : item(i , x)))

Page 7: Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf · Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics

Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics Conclusion: and now?

The syntax of class properties

Class Property (F a first order formula, G a class generator, T theclassical truth operator):

Simple S ::= literal | T (F )

Existential E ::= S | E ∧ E | E ∨ E | ∃x E

Class property P ::= E | ∀ x .G → E

Example

A receipt is empty (no items), or it is not empty and computes a grandtotal. Each item has a price. The grand total is the sum of the prices ofall the items.

class : ∀x .receipt(x)→T (¬∃i .item(i , x))

∨ ((∃t.t = total(x)) ∧ T (∃i .item(i , x)))

class : ∀i , x .item(i , x)→ receipt(x) ∧ ∃p.p = price(i)

constr : T (∀x .receipt(x)→ total(x) = sum(price(i) : item(i , x)))

Page 8: Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf · Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics

Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics Conclusion: and now?

The syntax of class properties

Class Property (F a first order formula, G a class generator, T theclassical truth operator):

Simple S ::= literal | T (F )

Existential E ::= S | E ∧ E | E ∨ E | ∃x E

Class property P ::= E | ∀ x .G → E

Example

A receipt is empty (no items), or it is not empty and computes a grandtotal. Each item has a price. The grand total is the sum of the prices ofall the items.

class : ∀x .receipt(x)→T (¬∃i .item(i , x))∨ ((∃t.t = total(x)) ∧ T (∃i .item(i , x)))

class : ∀i , x .item(i , x)→ receipt(x) ∧ ∃p.p = price(i)

constr : T (∀x .receipt(x)→ total(x) = sum(price(i) : item(i , x)))

Page 9: Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf · Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics

Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics Conclusion: and now?

The syntax of class properties

Class Property (F a first order formula, G a class generator, T theclassical truth operator):

Simple S ::= literal | T (F )

Existential E ::= S | E ∧ E | E ∨ E | ∃x E

Class property P ::= E | ∀ x .G → E

Example

A receipt is empty (no items), or it is not empty and computes a grandtotal. Each item has a price. The grand total is the sum of the prices ofall the items.

class : ∀x .receipt(x)→T (¬∃i .item(i , x))∨ ((∃t.t = total(x)) ∧ T (∃i .item(i , x)))

class : ∀i , x .item(i , x)→ receipt(x) ∧ ∃p.p = price(i)

constr : T (∀x .receipt(x)→ total(x) = sum(price(i) : item(i , x)))

Page 10: Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf · Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics

Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics Conclusion: and now?

The syntax of class properties

Class Property (F a first order formula, G a class generator, T theclassical truth operator):

Simple S ::= literal | T (F )

Existential E ::= S | E ∧ E | E ∨ E | ∃x E

Class property P ::= E | ∀ x .G → E

Example

A receipt is empty (no items), or it is not empty and computes a grandtotal. Each item has a price. The grand total is the sum of the prices ofall the items.

class : ∀x .receipt(x)→T (¬∃i .item(i , x))∨ ((∃t.t = total(x)) ∧ T (∃i .item(i , x)))

class : ∀i , x .item(i , x)→ receipt(x) ∧ ∃p.p = price(i)

constr : T (∀x .receipt(x)→ total(x) = sum(price(i) : item(i , x)))

Page 11: Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf · Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics

Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics Conclusion: and now?

Snapshot Semantics: an example of piece of information

[ [ r1, [ [2, [ [12,t],t] ] ], [ r2, [1,t] ] ] :∀x .receipt(x)→T (¬∃i .item(i , x))

∨((∃t.t = total(x)) ∧ T (∃i .item(i , x)))

Receipt: r1

Item Priceit1: 5it2: 7

Total: 12

Receipt: r2

Page 12: Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf · Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics

Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics Conclusion: and now?

Snapshot Semantics: an example of piece of information

[ [ r1, [ [2, [ [12,t],t] ] ], [ r2, [1,t] ] ] :∀x .receipt(x)→T (¬∃i .item(i , x))

∨((∃t.t = total(x)) ∧ T (∃i .item(i , x)))

Receipt: r1

Item Priceit1: 5it2: 7

Total: 12

Receipt: r2

Page 13: Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf · Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics

Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics Conclusion: and now?

Snapshot Semantics: an example of piece of information

[ [ r1, [ [2, [ [12,t],t] ] ], [ r2, [1,t] ] ] :∀x .receipt(x)→T (¬∃i .item(i , x))

∨((∃t.t = total(x)) ∧ T (∃i .item(i , x)))

Receipt: r1

Item Priceit1: 5it2: 7

Total: 12

Receipt: r2

Page 14: Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf · Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics

Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics Conclusion: and now?

Snapshot Semantics: an example of piece of information

[ [ r1, [ [2, [ [12,t],t] ] ], [ r2, [1,t] ] ] :∀x .receipt(x)→T (¬∃i .item(i , x))

∨((∃t.t = total(x)) ∧ T (∃i .item(i , x)))

Receipt: r1

Item Priceit1: 5it2: 7

Total: 12

Receipt: r2

Page 15: Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf · Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics

Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics Conclusion: and now?

Snapshot Semantics: an example of piece of information

[ [ r1, [ [2, [ [12,t],t] ] ], [ r2, [1,t] ] ] :∀x .receipt(x)→T (¬∃i .item(i , x))

∨((∃t.t = total(x)) ∧ T (∃i .item(i , x)))

Receipt: r1

Item Priceit1: 5it2: 7

Total: 12

Receipt: r2

Page 16: Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf · Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics

Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics Conclusion: and now?

Snapshot Semantics: an example of piece of information

[ [ r1, [ [2, [ [12,t],t] ] ], [ r2, [1,t] ] ] :∀x .receipt(x)→T (¬∃i .item(i , x))

∨((∃t.t = total(x)) ∧ T (∃i .item(i , x)))

Receipt: r1

Item Priceit1: 5it2: 7

Total: 12

Receipt: r2

Page 17: Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf · Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics

Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics Conclusion: and now?

Snapshot Semantics: an example of piece of information

[ [ r1, [ [2, [ [12,t],t] ] ], [ r2, [1,t] ] ] :∀x .receipt(x)→T (¬∃i .item(i , x))

∨((∃t.t = total(x)) ∧ T (∃i .item(i , x)))

Receipt: r1

Item Priceit1: 5it2: 7

Total: 12

Receipt: r2

Page 18: Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf · Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics

Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics Conclusion: and now?

Snapshot Semantics: pieces of information and their“answer sets”

Piece of information τ : P its I-answer set ans(τ : P)

t : S {S}[τ1, τ2] : P1 ∧ P2 ans(τ1 : P1) ∪ ans(τ2 : P2)

with τ1 : P1 and τ2 : P2

[k, τ ] : P1 ∨ P2 ans(τ : Pk)with k ∈ 1..2, τ : Pk

[v , τ ] : ∃x P ans(τ : P(v))with v values for x , τ : P

[ [v1, τ1], . . . , [vn, τn] ] : ∀ x .G → P⋃

j ans(τj : P(v j)) ∪n ≥ 0, v j val. x , τj ∈ it(P) { ∀(G (x) ↔ x ∈ [v1, . . . , vn]) }

Page 19: Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf · Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics

Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics Conclusion: and now?

Snapshot Semantics: pieces of information and their“answer sets”

Piece of information τ : P its I-answer set ans(τ : P)

t : S {S}[τ1, τ2] : P1 ∧ P2 ans(τ1 : P1) ∪ ans(τ2 : P2)

with τ1 : P1 and τ2 : P2

[k, τ ] : P1 ∨ P2 ans(τ : Pk)with k ∈ 1..2, τ : Pk

[v , τ ] : ∃x P ans(τ : P(v))with v values for x , τ : P

[ [v1, τ1], . . . , [vn, τn] ] : ∀ x .G → P⋃

j ans(τj : P(v j)) ∪n ≥ 0, v j val. x , τj ∈ it(P) { ∀(G (x) ↔ x ∈ [v1, . . . , vn]) }

Page 20: Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf · Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics

Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics Conclusion: and now?

Snapshot Semantics: pieces of information and their“answer sets”

Piece of information τ : P its I-answer set ans(τ : P)

t : S {S}[τ1, τ2] : P1 ∧ P2 ans(τ1 : P1) ∪ ans(τ2 : P2)

with τ1 : P1 and τ2 : P2

[k, τ ] : P1 ∨ P2 ans(τ : Pk)with k ∈ 1..2, τ : Pk

[v , τ ] : ∃x P ans(τ : P(v))with v values for x , τ : P

[ [v1, τ1], . . . , [vn, τn] ] : ∀ x .G → P⋃

j ans(τj : P(v j)) ∪n ≥ 0, v j val. x , τj ∈ it(P) { ∀(G (x) ↔ x ∈ [v1, . . . , vn]) }

Page 21: Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf · Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics

Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics Conclusion: and now?

Snapshot Semantics: pieces of information and their“answer sets”

Piece of information τ : P its I-answer set ans(τ : P)

t : S {S}[τ1, τ2] : P1 ∧ P2 ans(τ1 : P1) ∪ ans(τ2 : P2)

with τ1 : P1 and τ2 : P2

[k, τ ] : P1 ∨ P2 ans(τ : Pk)with k ∈ 1..2, τ : Pk

[v , τ ] : ∃x P ans(τ : P(v))with v values for x , τ : P

[ [v1, τ1], . . . , [vn, τn] ] : ∀ x .G → P⋃

j ans(τj : P(v j)) ∪n ≥ 0, v j val. x , τj ∈ it(P) { ∀(G (x) ↔ x ∈ [v1, . . . , vn]) }

Page 22: Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf · Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics

Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics Conclusion: and now?

Snapshot Semantics: pieces of information and their“answer sets”

Piece of information τ : P its I-answer set ans(τ : P)

t : S {S}[τ1, τ2] : P1 ∧ P2 ans(τ1 : P1) ∪ ans(τ2 : P2)

with τ1 : P1 and τ2 : P2

[k, τ ] : P1 ∨ P2 ans(τ : Pk)with k ∈ 1..2, τ : Pk

[v , τ ] : ∃x P ans(τ : P(v))with v values for x , τ : P

[ [v1, τ1], . . . , [vn, τn] ] : ∀ x .G → P⋃

j ans(τj : P(v j)) ∪n ≥ 0, v j val. x , τj ∈ it(P) { ∀(G (x) ↔ x ∈ [v1, . . . , vn]) }

Page 23: Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf · Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics

Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics Conclusion: and now?

Example: pieces of information and their I-answer sets

Pieces of information:

[ [ r1, [ [2, [ [12,t],t] ] ], [ r2, [1,t] ] ] :∀x .receipt(x)→T (¬∃i .item(i , x))

∨((∃t.t = total(x)) ∧ T (∃i .item(i , x)))

[ [ (it1, r1), [5,t] ], [ (it2, r1), [7,t] ] ] :∀i , x .item(i , x)→ ∃p.p = price(i)

t : T (∀x .receipt(x) → total(x) = sum(price(i) : item(i , x)) )

I-answer sets:

receipt(x) ↔ x ∈ [ r1, r2 ] (class generator axiom)12 = total(r1),T (∃i .item(i , r1)),T (¬∃i .item(i , r2))

item(i , x) ↔ (i , x) ∈ [ (it1, r1), (it2, r1) ]5 = price(it1), 7 = price(it2)T (∀x .receipt(x) → total(x) = sum(price(i) : item(i , x)) )

Page 24: Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf · Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics

Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics Conclusion: and now?

Example: pieces of information and their I-answer sets

Pieces of information:

[ [ r1, [ [2, [ [12,t],t] ] ], [ r2, [1,t] ] ] :∀x .receipt(x)→T (¬∃i .item(i , x))

∨((∃t.t = total(x)) ∧ T (∃i .item(i , x)))

[ [ (it1, r1), [5,t] ], [ (it2, r1), [7,t] ] ] :∀i , x .item(i , x)→ ∃p.p = price(i)

t : T (∀x .receipt(x) → total(x) = sum(price(i) : item(i , x)) )

I-answer sets:

receipt(x) ↔ x ∈ [ r1, r2 ] (class generator axiom)

12 = total(r1),T (∃i .item(i , r1)),T (¬∃i .item(i , r2))

item(i , x) ↔ (i , x) ∈ [ (it1, r1), (it2, r1) ]5 = price(it1), 7 = price(it2)T (∀x .receipt(x) → total(x) = sum(price(i) : item(i , x)) )

Page 25: Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf · Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics

Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics Conclusion: and now?

Example: pieces of information and their I-answer sets

Pieces of information:

[ [ r1, [ [2, [ [12,t],t] ] ], [ r2, [1,t] ] ] :∀x .receipt(x)→T (¬∃i .item(i , x))

∨((∃t.t = total(x)) ∧ T (∃i .item(i , x)))

[ [ (it1, r1), [5,t] ], [ (it2, r1), [7,t] ] ] :∀i , x .item(i , x)→ ∃p.p = price(i)

t : T (∀x .receipt(x) → total(x) = sum(price(i) : item(i , x)) )

I-answer sets:

receipt(x) ↔ x ∈ [ r1, r2 ] (class generator axiom)

12 = total(r1),T (∃i .item(i , r1)),T (¬∃i .item(i , r2))

item(i , x) ↔ (i , x) ∈ [ (it1, r1), (it2, r1) ]5 = price(it1), 7 = price(it2)T (∀x .receipt(x) → total(x) = sum(price(i) : item(i , x)) )

Page 26: Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf · Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics

Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics Conclusion: and now?

Example: pieces of information and their I-answer sets

Pieces of information:

[ [ r1, [ [2, [ [12,t],t] ] ], [ r2, [1,t] ] ] :∀x .receipt(x)→T (¬∃i .item(i , x))

∨((∃t.t = total(x)) ∧ T (∃i .item(i , x)))

[ [ (it1, r1), [5,t] ], [ (it2, r1), [7,t] ] ] :∀i , x .item(i , x)→ ∃p.p = price(i)

t : T (∀x .receipt(x) → total(x) = sum(price(i) : item(i , x)) )

I-answer sets:

receipt(x) ↔ x ∈ [ r1, r2 ] (class generator axiom)12 = total(r1),

T (∃i .item(i , r1)),T (¬∃i .item(i , r2))

item(i , x) ↔ (i , x) ∈ [ (it1, r1), (it2, r1) ]5 = price(it1), 7 = price(it2)T (∀x .receipt(x) → total(x) = sum(price(i) : item(i , x)) )

Page 27: Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf · Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics

Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics Conclusion: and now?

Example: pieces of information and their I-answer sets

Pieces of information:

[ [ r1, [ [2, [ [12,t],t] ] ], [ r2, [1,t] ] ] :∀x .receipt(x)→T (¬∃i .item(i , x))

∨((∃t.t = total(x)) ∧ T (∃i .item(i , x)))

[ [ (it1, r1), [5,t] ], [ (it2, r1), [7,t] ] ] :∀i , x .item(i , x)→ ∃p.p = price(i)

t : T (∀x .receipt(x) → total(x) = sum(price(i) : item(i , x)) )

I-answer sets:

receipt(x) ↔ x ∈ [ r1, r2 ] (class generator axiom)12 = total(r1),T (∃i .item(i , r1)),

T (¬∃i .item(i , r2))

item(i , x) ↔ (i , x) ∈ [ (it1, r1), (it2, r1) ]5 = price(it1), 7 = price(it2)T (∀x .receipt(x) → total(x) = sum(price(i) : item(i , x)) )

Page 28: Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf · Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics

Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics Conclusion: and now?

Example: pieces of information and their I-answer sets

Pieces of information:

[ [ r1, [ [2, [ [12,t],t] ] ], [ r2, [1,t] ] ] :∀x .receipt(x)→T (¬∃i .item(i , x))

∨((∃t.t = total(x)) ∧ T (∃i .item(i , x)))

[ [ (it1, r1), [5,t] ], [ (it2, r1), [7,t] ] ] :∀i , x .item(i , x)→ ∃p.p = price(i)

t : T (∀x .receipt(x) → total(x) = sum(price(i) : item(i , x)) )

I-answer sets:

receipt(x) ↔ x ∈ [ r1, r2 ] (class generator axiom)12 = total(r1),T (∃i .item(i , r1)),T (¬∃i .item(i , r2))

item(i , x) ↔ (i , x) ∈ [ (it1, r1), (it2, r1) ]5 = price(it1), 7 = price(it2)T (∀x .receipt(x) → total(x) = sum(price(i) : item(i , x)) )

Page 29: Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf · Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics

Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics Conclusion: and now?

Example: pieces of information and their I-answer sets

Pieces of information:

[ [ r1, [ [2, [ [12,t],t] ] ], [ r2, [1,t] ] ] :∀x .receipt(x)→T (¬∃i .item(i , x))

∨((∃t.t = total(x)) ∧ T (∃i .item(i , x)))

[ [ (it1, r1), [5,t] ], [ (it2, r1), [7,t] ] ] :∀i , x .item(i , x)→ ∃p.p = price(i)

t : T (∀x .receipt(x) → total(x) = sum(price(i) : item(i , x)) )

I-answer sets:

receipt(x) ↔ x ∈ [ r1, r2 ] (class generator axiom)12 = total(r1),T (∃i .item(i , r1)),T (¬∃i .item(i , r2))item(i , x) ↔ (i , x) ∈ [ (it1, r1), (it2, r1) ]5 = price(it1), 7 = price(it2)

T (∀x .receipt(x) → total(x) = sum(price(i) : item(i , x)) )

Page 30: Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf · Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics

Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics Conclusion: and now?

Example: pieces of information and their I-answer sets

Pieces of information:

[ [ r1, [ [2, [ [12,t],t] ] ], [ r2, [1,t] ] ] :∀x .receipt(x)→T (¬∃i .item(i , x))

∨((∃t.t = total(x)) ∧ T (∃i .item(i , x)))

[ [ (it1, r1), [5,t] ], [ (it2, r1), [7,t] ] ] :∀i , x .item(i , x)→ ∃p.p = price(i)

t : T (∀x .receipt(x) → total(x) = sum(price(i) : item(i , x)) )

I-answer sets:

receipt(x) ↔ x ∈ [ r1, r2 ] (class generator axiom)12 = total(r1),T (∃i .item(i , r1)),T (¬∃i .item(i , r2))item(i , x) ↔ (i , x) ∈ [ (it1, r1), (it2, r1) ]5 = price(it1), 7 = price(it2)T (∀x .receipt(x) → total(x) = sum(price(i) : item(i , x)) )

Page 31: Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf · Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics

Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics Conclusion: and now?

CooML Consistency

CooML consistency: intended models(atoms + generator axioms) |=T-Formulas)⇒ consistency

Example

5 = price(it1), 7 = price(it2), 12 = total(r1)∀(receipt(x) ↔ x ∈ [ r1, r2 ]),∀(item(i , x) ↔ (i , x) ∈ [ (it1, r1), (it2, r1) ])

|=T (∀x .receipt(x) → total(x) = sum(price(i) : item(i , x)) )T (∃i .item(i , r1)), T (¬∃i .item(i , r2))

Page 32: Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf · Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics

Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics Conclusion: and now?

Representing CooML models as DLV programs

Starting from

Example

class : T (¬∃i .item(i ,X )) ∨ ((∃t.total(X , t)) ∧ T (∃i .item(i ,X )))← receipt(X ).

class : receipt(X ) ∧ ∃p.p = price(I )← item(I ,X ).

. . .

replace T -formulas by atoms + constraints

Page 33: Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf · Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics

Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics Conclusion: and now?

Representing CooML models as DLV programs

replacing T (¬∃I .item(I ,X )) by empty(X ):

Example

class : empty(X ) ∨ ((∃t.total(X , t)) ∧ −empty(X ))← receipt(X ).

class : receipt(X ) ∧ ∃p.p = price(I )← item(I ,X ).

constr : false ← ∃I .empty(X ) ∧ item(I ,X ). . .

. . . further translation . . . : DLV programs such that CooML snapshotsare represented by stable models.

Page 34: Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf · Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics

Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics Conclusion: and now?

Representing CooML models as nested programs with ∃

But what happens if we start directly from:

Example

class : ¬ (∃i .item(i ,X )) ∨ ((∃t.total(X , t)) ∧ ¬¬(∃i .item(i ,X )))← receipt(X ).

class : receipt(X ) ∧ ∃p.p = price(I )← item(I ,X ).

. . .

Stable Model Semantics vs Pieces of Information (Fcl) Semantics.

We started from the propositional case

Page 35: Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf · Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics

Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics Conclusion: and now?

Outline

1 Representing the CooML snapshot semantics in DLV

2 Fcl semantics vs stable model semantics

3 Conclusion: and now?

Page 36: Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf · Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics

Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics Conclusion: and now?

The Fcl propositional logic

Propositional syntax, where simple formulas are atomic or negated (canbe extended with Nelson’s negation)

Piece of information τ : P I-answer set ans(τ : P)

t : S {S}[τ1, τ2] : P1 ∧ P2 ans(τ1 : P1) ∪ ans(τ2 : P2)

[k, τ ] : P1 ∨ P2 ans(τ : Pk )

f : P1 → P2

⋃τ∈it(P1)

(ans(τ : P1)→ ans(f (τ) : P2))

with f : it(P1) → it(P2)

Page 37: Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf · Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics

Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics Conclusion: and now?

The Fcl propositional logic

Propositional syntax, where simple formulas are atomic or negated (canbe extended with Nelson’s negation)

Piece of information τ : P I-answer set ans(τ : P)

t : S {S}[τ1, τ2] : P1 ∧ P2 ans(τ1 : P1) ∪ ans(τ2 : P2)

[k, τ ] : P1 ∨ P2 ans(τ : Pk )

f : P1 → P2

⋃τ∈it(P1)

(ans(τ : P1)→ ans(f (τ) : P2))

with f : it(P1) → it(P2)

Page 38: Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf · Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics

Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics Conclusion: and now?

On the Semantics of Fcl

Theorem (Relationship with classical logic)

A classical interpretation I |= P iff there is τ : P such thatI |= ans(τ : P).

Definition (Constructive validity)

P is Fcl-valid iff there is τ : P such that for every interpretation I ,I |= ans(τ : P).

Page 39: Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf · Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics

Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics Conclusion: and now?

On the Semantics of Fcl

Theorem (Relationship with classical logic)

A classical interpretation I |= P iff there is τ : P such thatI |= ans(τ : P).

Definition (Constructive validity)

P is Fcl-valid iff there is τ : P such that for every interpretation I ,I |= ans(τ : P).

Example

(¬¬p ∨ ¬p) ∧ (¬¬p → a) ∧ (¬p → b) → a ∨ b

map τ :[ [1,t], λx .t, λx .t ] 7→τ [1,t],[ [2,t], λx .t, λx .t ] 7→τ [2,t]

(¬¬p → a) ∧ (¬p → b) → a ∨ bno valid τ

Page 40: Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf · Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics

Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics Conclusion: and now?

On the Semantics of Fcl

Theorem (Relationship with classical logic)

A classical interpretation I |= P iff there is τ : P such thatI |= ans(τ : P).

Definition (Constructive validity)

P is Fcl-valid iff there is τ : P such that for every interpretation I ,I |= ans(τ : P).

Example

On the other hand

(¬¬p → a) ∧ (¬p → b) → a ∨ b

holds in ”Here and There”.

Page 41: Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf · Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics

Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics Conclusion: and now?

Are there pieces of information for stable models?

Fcl FHT

Interpretation I 7→ τI : F Stable model M 7→ τM : F

Truth preserving maps maps ...

Page 42: Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf · Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics

Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics Conclusion: and now?

Answer sets for nested expressions using pieces ofinformation

Basic concepts:

Positive answers: ans+(τ : F ) = {p | p ∈ ans(τ : F )},Negative answers: ans−(τ : F ) = {¬H | ¬H ∈ ans(τ : F )}

Default interpretation di(τ : F ): di(τ : F ) |= p iff p ∈ ans+(τ : F )

Default consistency: di(τ : F ) |= ans−(τ : F )... negated formulas constrain the default interpretations.

I-stability: di(τ ′ : F ) ⊂ di(τ : F ) ⇒ di(τ : F ) 6|= ans−(τ ′ : F )

Page 43: Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf · Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics

Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics Conclusion: and now?

Answer sets for nested expressions using pieces ofinformation

Basic concepts:

Positive answers: ans+(τ : F ) = {p | p ∈ ans(τ : F )},Negative answers: ans−(τ : F ) = {¬H | ¬H ∈ ans(τ : F )}Default interpretation di(τ : F ): di(τ : F ) |= p iff p ∈ ans+(τ : F )

Default consistency: di(τ : F ) |= ans−(τ : F )... negated formulas constrain the default interpretations.

I-stability: di(τ ′ : F ) ⊂ di(τ : F ) ⇒ di(τ : F ) 6|= ans−(τ ′ : F )

Page 44: Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf · Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics

Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics Conclusion: and now?

Answer sets for nested expressions using pieces ofinformation

Basic concepts:

Positive answers: ans+(τ : F ) = {p | p ∈ ans(τ : F )},Negative answers: ans−(τ : F ) = {¬H | ¬H ∈ ans(τ : F )}Default interpretation di(τ : F ): di(τ : F ) |= p iff p ∈ ans+(τ : F )

Default consistency: di(τ : F ) |= ans−(τ : F )... negated formulas constrain the default interpretations.

I-stability: di(τ ′ : F ) ⊂ di(τ : F ) ⇒ di(τ : F ) 6|= ans−(τ ′ : F )

ans(t : ¬¬p) = {¬¬p }di(t : ¬¬p) = ∅, ans−(t : ¬¬p) = {¬¬p},

Default inconsistent: ∅ 6|= ¬¬p

Page 45: Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf · Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics

Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics Conclusion: and now?

Answer sets for nested expressions using pieces ofinformation

Basic concepts:Positive answers: ans+(τ : F ) = {p | p ∈ ans(τ : F )},Negative answers: ans−(τ : F ) = {¬H | ¬H ∈ ans(τ : F )}Default interpretation di(τ : F ): di(τ : F ) |= p iff p ∈ ans+(τ : F )Default consistency: di(τ : F ) |= ans−(τ : F )... negated formulas constrain the default interpretations.I-stability: di(τ ′ : F ) ⊂ di(τ : F ) ⇒ di(τ : F ) 6|= ans−(τ ′ : F )

ans([1,t] : p ∨ ¬¬p) = { p }, ans([2,t] : p ∨ ¬¬p) = {¬¬p },di([1,t] : p ∨ ¬¬p) = {p} ans−([1,t] : p ∨ ¬¬p) = ∅,di([2,t] : p ∨ ¬¬p) = ∅ ans−([2,t] : p ∨ ¬¬p) = {¬¬p},

Instability: {p} |= ¬¬p.

Page 46: Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf · Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics

Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics Conclusion: and now?

Answer sets for nested expressions using pieces ofinformation

Basic concepts:

Positive answers: ans+(τ : F ) = {p | p ∈ ans(τ : F )},Negative answers: ans−(τ : F ) = {¬H | ¬H ∈ ans(τ : F )}Default interpretation di(τ : F ): di(τ : F ) |= p iff p ∈ ans+(τ : F )

Default consistency: di(τ : F ) |= ans−(τ : F )... negated formulas constrain the default interpretations.

I-stability: di(τ ′ : F ) ⊂ di(τ : F ) ⇒ di(τ : F ) 6|= ans−(τ ′ : F )

Definition (I-answer sets of nested expressions)

X is an I-answer set of F iff there is a default consistent and I-stableτ : F such that X = di(τ : F ).

Page 47: Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf · Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics

Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics Conclusion: and now?

Equivalence with the standard definition of answer set

Theorem (Equivalence Theorem)

X is an I-answer set of F iff it is an answer set of F .

Example

τi : (p ∨ q) ∧ ¬(p ∧ ¬ q) di(τ : F ) ans−(τ : F )

τ1 = [ [1,t], t ] {p} {¬(p ∧ ¬ q) }τ2 = [ [2,t], t ] {q} {¬(p ∧ ¬ q) }

τ1 not default consistent (di(τ1 : F ) 6|= ans−(τ1 : F ))τ2 default consistent (di(τ2 : F ) |= ans−(τ2 : F )) and I-stable:

{q} is the unique I-answer set.

Page 48: Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf · Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics

Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics Conclusion: and now?

Equivalence with the standard definition of answer set

Theorem (Equivalence Theorem)

X is an I-answer set of F iff it is an answer set of F .

Example

τi : p ∨ ¬¬ p di(τ : F ) ans−(τ : F )

τ1 = [1,t] {p} ∅τ2 = [2,t] ∅ {¬¬p}

τ1 not I-stable: di(τ2 : F ) ⊂ di(τ1 : F ) and di(τ1 : F ) |= ans−(τ2 : F ).τ2 not default consistent (∅ 6|= ¬¬p)

No I-answer set .

Page 49: Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf · Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics

Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics Conclusion: and now?

Proving the Equivalence Theorem by maps preservingans(τ : F )

Ans-preserving map: f : F → G such thatans(τ : F ) = ans(f (τ) : G )

Lemma 1: If there is f : it(F )↔ it(G ) s.t. f and f −1 areans-preserving, then for every H, F ∧ H and G ∧ H have the sameI-answer sets

Lemma 2: There is such a bijective f : F ↔ FN, where FN is adisjunction of conjunctions of simple formulas.

Equivalence Theorem: it sufficies to prove that I-answer sets andanswer sets coincide for FN.

Page 50: Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf · Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics

Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics Conclusion: and now?

Outline

1 Representing the CooML snapshot semantics in DLV

2 Fcl semantics vs stable model semantics

3 Conclusion: and now?

Page 51: Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf · Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics

Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics Conclusion: and now?

Conclusion

Work in progress: theoretical analysis related to a DLVimplementation of CooML snapshot generation

Next (theoretical) steps: extend our work to nested programs(possibly, with ∃)

idea: extend ans+, di, ans− to the larger language and relateI-stability to the minimality condition in SM[F ](SM defined in: “Stable Models and Circumscription”, Ferraris, Lee,Lifschitz - 2007)

Page 52: Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf · Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics

Representing the CooML snapshot semantics in DLV Fcl semantics vs stable model semantics Conclusion: and now?

And now?

A different characterisation is interesting

Is there a realizability semantics based on stable pieces ofinformation (i.e., maps preserving stable τ : F )?

Discussion: there is no such map f : it(p) → it(¬¬p), butp → ¬¬p is valid in HT (Here and There).HT characterizes strong equivalence, but not “strong implication”.

Is there a reasonable (at least valid) calculus for such a semantics?

Discussion: p,¬¬p ` ¬¬p should not be provable