chr + d + a + o operational semantics in fluent calculus

57
CHR + D + A + O Operational Semantics in Fluent Calculus November, 2007

Upload: marcia-hester

Post on 01-Jan-2016

58 views

Category:

Documents


3 download

DESCRIPTION

CHR + D + A + O Operational Semantics in Fluent Calculus. November, 2007. Simple Fluent Calculus (SFC). Introduction. A many-sorted first-order language with equality Includes: Sorts: FLUENT < STATE, ACTION, SIT Functions: Predicate. Abbreviations. Foundational Axioms (F state ). - PowerPoint PPT Presentation

TRANSCRIPT

CHR + D + A + O Operational Semantics

in Fluent CalculusNovember, 2007

SimpleFluent Calculus (SFC)

Introduction

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

– Sorts: FLUENT < STATE, ACTION, SIT

– Functions:

– Predicate

Abbreviations

Foundational Axioms (Fstate)

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

Action Precondition Axiom

• Ex:

State Update Axiom

• Ex:

CHR Operational Semantics in Fluent Calculus

Domain Sorts

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

• CONSTRAINT– p(1,2,7)

• UDC < CONSTRAINT

• BIC < CONSTRAINT

• EQUATION < BIC

Domain Functions (1/2)

• 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

BUG ,,

Domain Functions (2/2)

• InPropHistory : RULE x Seq(UDC) FLUENT– f = InPropHistory(r, p)– The propagation (r,p) is in the propagation

history

Domain Predicates (1/3)

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

• Matching : Seq(UDC) x Seq(UDC) x Set(EQUATION) x STATE – Matching(h, m, e, s)– The sequence of constraints m is in s and

matches with h generating the matching equations in e

Domain Predicates (2/3)

• RenVars : RULE x RULE x STATE – RenVars(r, rc, s)– Rc is a copy of the rule r with all variables

renamed (using names not already being used in s)

• Ex: RenVars(“p(x) q(x)”, “p(x1) q(x1)”, s)– If x1 does not appear in s

Domain Predicates (3/3)

• entails : BIC x STATE x STATE x STATE – entails(s, c, s’+, s’-)– s’ = (s - s’-) o s’+

– CT |= (s ^ c s’)

• entails : STATE x Set(EQUATION) x Set(BIC)– entails(s, h, g)– CT |= s \exists x(h ^ g)

Domain Actions

• Solve: BIC ACTION

• Introduce: UDC ACTION

• Simplify: RULE x Seq(UDC) ACTION

• Propagate: RULE x Seq(UDC) ACTION

• Simpagate: RULE x Seq(UDC)x Seq(UDC) ACTION

Initial State

(IS-Axiom)

CHR Transitions

Simpagate

if (Hk / HR <=> G | B) in P and

Simpagate

if (Hk / HR <=> G | B) in P and

CHR + DOperational Semantics in Fluent

Calculus

Nondeterminism in Fluent Calculus

• Simple disjunctive state update axiom

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

Domain Sorts

• CHOICE < CONSTRAINT– (a1 ; ... ; an), where a1, ..., an are sets of

CONSTRAINT– CHOICE = Set(Set(CONSTRAINT))

Domain Actions

• Split : CHOICE ACTION

Actions

Split

CHR + D + AOperational Semantics in Fluent

Calculus

Domain Sorts

• JUSTIFICATION < CONSTRAINT

Domain Functions

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

in j

• JustSet : Set(CONSTRAINT) x STATE Set(JUSTIFICATION)

Domain Predicates

• entails : STATE x BIC x Set(FLUENT) x Set(FLUENT)– Assumptions:

• every change in the built–in constraint store should be justified

Domain Actions

• AddConstraint : CONSTRAINT x JUSTIFICATION ACTION

• RemoveConstraint : Set(JUSTIFICATION) ACTION

Initial State

State Constraints

Actions

AddConstraint

RemoveConstraint

Simpagate

if (Hk / HR <=> G | B) in P and

Split / Choice

CHR + D + OOperational Semantics in Fluent

Calculus

Domain Sorts

• FATOM < FMOLECULE < UDC

• CANDIDATE– CLASS_CANDIDATE < CANDIDATE

• CLASS x CLASS x FEATURE x VALUE

– OBJECT_CANDIDATE < CANDIDATE• OBJECT x CLASS x FEATURE x VALUE

Domain Predicates

• ValidTaxonomy : STATE• TaxonomyCompletion : STATE x STATE• FeaturesCompletion : STATE x STATE• Candidate: CANDIDATE x STATE

– ObjCandidate : OBJECT_CANDIDATE x STATE

– ClassCandidate : CLASS_CANDIDATE x STATE

– Candidate = ObjCandidate ClassCandidate

• Overriden : CANDIDATE x STATE

Domain Axioms (1/2)

Domain Axioms (2/2)

Domain Actions

• Inherit : ACTION

Actions

Inherit

CHR + D + O + AOperational Semantics in Fluent

Calculus

Domain Predicates

• JustifiedCandidate: CANDIDATE x Set(JUSTIFICATION) xSTATE– JustifiedObjCandidate : OBJECT_CANDIDATE x

Set(JUSTIFICATION) x STATE

– JustifiedClassCandidate : CLASS_CANDIDATE x Set(JUSTIFICATION) x STATE

– JustifiedCandidate = JustifiedObjCandidate JustifiedClassCandidate