Klima- Ontological Alternatives vs. Alternative Semantics- Collected Essays
Answer Set Semantics vs. Information Term Semanticscooml.di.unimi.it/talks/aspslides.pdf ·...
Transcript of 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 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
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.
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
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
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?
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)))
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)))
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)))
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)))
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)))
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
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
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
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
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
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
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
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]) }
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]) }
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]) }
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]) }
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]) }
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)) )
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)) )
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)) )
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)) )
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)) )
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)) )
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)) )
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)) )
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))
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
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.
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
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?
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)
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)
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).
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 τ
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”.
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 ...
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 )
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 )
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
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.
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 ).
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.
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 .
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.
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?
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)
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