+ All Categories
Home > Documents > CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

Date post: 17-Jan-2018
Category:
Upload: damian-rich
View: 224 times
Download: 0 times
Share this document with a friend
Description:
Introduction A many-sorted first-order language with equality Includes: –Sorts: FLUENT < STATE, ACTION, SIT –Functions: –Predicate
56
CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007
Transcript
Page 1: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

CHR + D + A + O Operational Semantics

in Fluent CalculusDecember, 2007

Page 2: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

SimpleFluent Calculus (SFC)

Page 3: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

Introduction

• A many-sorted first-order language with equality• Includes:

– Sorts: FLUENT < STATE, ACTION, SIT– Functions:

– Predicate

Page 4: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

Abbreviations

Page 5: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

Foundational Axioms (Fstate)

Page 6: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

SFC Domain Axiomatization

• State Constraints • Unique simple Action Precondition Axiom

for each function symbol with range ACTION

• A set of State Update Axioms• Foundational Axioms (Fstate)• Possibly further domain-specific axioms

Page 7: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

Pure State Formula

It may contain then:• Hold(f,z), where f is a fluent and z is a state• Any domain predicates referencing only the domain sorts

Page 8: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

State Constraints

• Ex:

Page 9: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

Action Precondition Axiom

• Ex:

Page 10: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

State Update Axiom

• Ex:

Question: Is it possible to change a previously “unknown” number of fluents at once? “Delta” is a pure state formula, so it can’t be used to generate the needed fluents. V+ and V- are just “fluent sets”... Can I use a function to generate these fluent sets?

Page 11: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

CHR Operational Semantics in Fluent Calculus

Page 12: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

Domain Sorts (1/2)

• RULE– Ex: gcd(0) <=> true | true.

• RULE_ID• ATOM < CONSTRAINT

– p(1,2,7)• UDC < ATOM• BIC < ATOM• EQUATION < BIC

Page 13: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

Domain Sorts (2/2)• FORMULA < CONSTRAINT• CONJUNCTION < FORMULA• EQ_CONJ < CONJUNCTION• BIC_CONJ < CONJUNCTION• UDC_CONJ < CONJUNCTION

Page 14: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

“Domain” Sorts

• BICS_STATE < STATE

• UDCS_STATE < STATE

• GOAL_STATE < STATE

Question: Can I specialize the reserved sorts?Are the specialized ones considered “Domain” sorts?

Page 15: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

Domain Functions (1/5)

• S0 : SIT– The initial situation

• InGoal : CONSTRAINT FLUENT– The constraint x is in G

• InUdc : UDC FLUENT– The user defined constraint x is in U

• InBic : BIC FLUENT– The built-in constraint x is in B

HBUG ,,,G – GoalU – User Defined Constraints StoreB – Built-in Constraint StoreH – Propagation History0

Page 16: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

Domain Functions (2/5)

• RuleId : RULE RULE_ID– Returns an unique identifier for the passed rule

• InPropHistory : RULE_ID x UDC_CONJ x EQ_CONJ FLUENT– f = InPropHistory(rule, constraints, equations)– The ‘rule’ was executed with the conjunction of

matching ‘constraints’ generating the conjunction of ‘equations’

Page 17: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

Domain Functions (3/5)

• MakeGoal : CONJUNCTION GOAL_STATE– Makes an state containing an InGoal(c) fluent for each

constraint c in the conjunction• MakeBICS : BIC_CONJ BICS_STATE

– Makes an state containing an InBic(c) fluent for each constraint c in the conjunction

• MakeUDCS : UDC_CONJ UDCS_STATE– Makes an state containing an InUdc(c) fluent for each

constraint c in the conjunction

Page 18: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

Domain Functions (4/5)

• “,” : CONSTRAINT x CONSTRAINT CONJUNCTION

: CONSTRAINT x CONJUNCTION• true : BIC• false : BIC

Page 19: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

Domain Functions (5/5)

• SimplifRule : UDC_CONJ x BIC_CONJ x CONJUNCTION RULE

• PropagRule : UDC_CONJ x BIC_CONJ x CONJUNCTION RULE

• SimpagRule : UDC_CONJ x UDC_CONJ x BIC_CONJ x CONJUNCTION RULE

• These functions make up a rule from its parts

Page 20: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

Domain Predicates (1/3)

• InQuery : CONSTRAINT– The constraint is in the initial goal (query)

• DisjointVariables : RULE x CONSTRAINT– DisjointVariables(rule, constraint)– No variable in ‘rule’ appears in ‘constraint’

Page 21: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

Domain Predicates (2/3)

• Matching : UDC_CONJ x UDC_CONJ x EQ_CONJ– Matching(head, matching, equations)– The conjunction of udc constraints ‘head’

matches the conj. of udc constraints ‘matching’ generating the conj. of matching equations ‘equations’

• Matching(“p(X) , q(Y)”,“p(A), p(2)”,“X=A, Y=2”)• Matching(“p(X) , q(Y)”,“p(A), p(2)”, “X=2, Y=A”)

Page 22: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

Domain Predicates (3/3)• checkEntails : BIC_CONJ x EQ_CONJ x

BIC_CONJ– checkEntails(bics, head, guard)– CT |= bics x (head ^ guard)

Page 23: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

Domain Actions

• Solve: BIC ACTION• Introduce: UDC ACTION• Simplify: RULE x UDC_CONJ x EQ_CONJ

ACTION• Propagate: RULE x UDC_CONJ x EQ_CONJ

ACTION• Simpagate: RULE x UDC_CONJ x

UDC_CONJ x EQ_CONJ ACTION

Page 24: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

Abbreviations (1/2)

These expressions cannot be defined as domain predicates, sincea pure state formula forces all predicates to refer just to domain sorts.

Page 25: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

Abbreviations (2/2)

Page 26: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

Initial State (State Constraint)

Page 27: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

CHR Transitions

Page 28: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

Introduce

g – goal being introduced (UDC)z – state (STATE)s – situation (SIT)

Page 29: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

Solve

g – goal being solved (BIC)z – state (STATE)s – situation (SIT)

Page 30: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

Simplify

hR – Rule Head (UDC_CONJ)g – Rule guard (BIC_CONJ)b – Rule body (UDC_CONJ)z – state (STATE)m – matching constraints (UDC_CONJ)e – matching equations (EQ_CONJ)bics – the BIC store as a conjunction of BICS (BIC_CONJ)

Page 31: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

hR – Rule Head (UDC_CONJ)g – Rule guard (BIC_CONJ)b – Rule body (UDC_CONJ)s – situation (SIT)m – matching constraints (UDC_CONJ)e – matching equations (EQ_CONJ)

Simplify

Page 32: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

Propagate

hk – Rule Head (UDC_CONJ)g – Rule guard (BIC_CONJ)b – Rule body (UDC_CONJ)z – state (STATE)m – matching constraints (UDC_CONJ)e – matching equations (EQ_CONJ)

Page 33: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

Propagate

hk – Rule Head (UDC_CONJ)g – Rule guard (BIC_CONJ)b – Rule body (UDC_CONJ)s – situation (SIT)m – matching constraints (UDC_CONJ)e – matching equations (EQ_CONJ)

Page 34: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

Simpagate

hk – Rule Head Keep (UDC_CONJ)hR – Rule Head Remove (UDC_CONJ)g – Rule guard (BIC_CONJ)b – Rule body (UDC_CONJ)z – state (STATE)mk – matching head keep constraints (UDC_CONJ)mR – matching head remove constraints (UDC_CONJ)e – matching equations (EQ_CONJ)

Page 35: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

Simpagate

hk – Rule Head Keep (UDC_CONJ)hR – Rule Head Remove (UDC_CONJ)g – Rule guard (BIC_CONJ)b – Rule body (UDC_CONJ)s – situation (SIT)mk – matching head keep constraints (UDC_CONJ)mR – matching head remove constraints (UDC_CONJ)e – matching equations (EQ_CONJ)

Page 36: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

CHR + DOperational Semantics in Fluent

Calculus

Page 37: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

Nondeterminism in Fluent Calculus

• Simple disjunctive state update axiom

– θn is a first-order formula without terms of any reserved sort

Page 38: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

Domain Sorts

• DISJUNCTION < FORMULA• CHOICE < DISJUNCTION

– ((a11, ... , a1n) ; ... ; (am1,... ,amn)), where all aij are ATOM’s

Page 39: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

Domain Functions

• “;” : CONSTRAINT x CONSTRAINT DISJUNCTION

: CONSTRAINT x FORMULA

Page 40: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

Domain Actions

• Split : CHOICE ACTION

Page 41: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

Actions

Page 42: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

Split

c – choice being splitted (CHOICE)bi – a component of the choice (CONJUNCTION)z – state (STATE)s – situation (SIT)

Page 43: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

CHR + D + AOperational Semantics in Fluent

Calculus

Page 44: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

Domain Sorts

• JUSTIFICATION < CONJUNCTION– “a1, ... , an”, where all ai are atoms

Page 45: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

Domain Functions (1/3)

• Just : CONSTRAINT x JUSTIFICATION FLUENT– Just(c,j)– The constraint c is justified by j

• MakeJust : CONJUNCTION x JUSTIFICATION STATE– Makes an state containing an Just(c,j) fluent for each

constraint c in the conjunction

JHBUG ,,,,J - Justifications

Page 46: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

Domain Functions (2/3)• SelectJust : JUSTIFICATION x STATE

STATE– SelectJust(j,z)– Selects the fluents of the form “Just(c,jc)” in z such

that JustifiedBy(c, j, z)• SelectConstraint : JUSTIFICATION x STATE

STATE– SelectConstraint(j,z)– Selects the fluents of the form “InUdc(c)”, “InBic(c)”

or “InGoal(c)” in z such that JustifiedBy(c, j, z)

Page 47: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

Domain Functions (3/3)• SelectPropHistory : JUSTIFICATION x

STATE STATE– SelectPropHistory(j,z)– Selects the fluents of the form

“PropHistory(rule,matched,equations)” in z such that for some constraint c in ‘matched’, JustifiedBy(c, j, z)

Page 48: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

Abbreviations

Page 49: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

Domain Actions

• AddConstraint : CONSTRAINT x JUSTIFICATION ACTION

• RemoveConstraint : JUSTIFICATION ACTION

Page 50: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

Initial State

Page 51: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

State Constraints

Page 52: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

Actions

Page 53: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

AddConstraint

Page 54: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

RemoveConstraint

Page 55: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

Simpagate

j – the justification for the entire rule head

Page 56: CHR + D + A + O Operational Semantics in Fluent Calculus December, 2007.

Split / Choice


Recommended