CHR Operational Semantics in Fluent Calculus (using Ramifications)
description
Transcript of CHR Operational Semantics in Fluent Calculus (using Ramifications)
CHR Operational Semantics
in Fluent Calculus (using Ramifications)
November, 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:
Ramifications in Fluent Calculus
Modeling Ramifications
Fluent Calculus with Ramifications
• Sorted second-order logic language• Reserved Predicates:
– Causes : STATE x STATE x STATE x STATE x STATE x STATE
• Causes(z1, e1+, e1-, z2, e2+, e2-)– If z1 is the result of positive effects e1+ and negative effects e1-,
then an additional effect is caused which leads to z2 (now the result of positive and negative effects e2+ and e2-, resp.)
– Ramify : STATE x STATE x STATE x STATE• Ramify(z, e+, e-, z’)
– z’ can be reached by iterated application of the underlying casual relation, starting in state z with momentum e+ and e-
Abbreviations
Foundational Axioms
(Reflexive and Transitive Closure of Causes)
State Update Axiomwith Ramifications
Causal Relations Axiomatization
• Relies on the assumption that the underlying Causes relation is completely specified
Fluent Calculus Domain Axiomatization
with Ramifications• State constraints• Causal Relations axiomatization• Unique action precondition axiom for each
function symbol with range ACTION• Set of state update axioms (possibly with
ramifications)• Foundational Axioms: Fstate and Framify• Domain Specific Axioms
CHR Operational Semantics in Fluent Calculus
Domain Sorts
• CONSTRAINT < FLUENT
• UDC < CONSTRAINT
• BIC < CONSTRAINT
• EQUATION < BIC
Domain Predicates
• entails : STATE x Set(EQUATION) x Set(BIC)– entails(s, h, g)– CT |= s \exists x(h ^ g)
Domain Actions
• AddConstraint : CONSTRAINT ACTION
Example
leq(X,X) <=> true. leq(X,Y), leq(Y,X) <=> X = Y. leq(X,Y), leq(Y,Z) ==> leq(X,Z).
Example
leq(X,X) <=> true.
leq(X,Y), leq(Y,Z) ==> leq(X,Z).
Example
leq(X,Y), leq(Y,Z) ==> leq(X,Z).
Example(Constraint Awakening)