240 likes | 399 Views
CHR Operational Semantics in Fluent Calculus (using Ramifications). November, 2007. Simple Fluent Calculus (SFC). Introduction. A many-sorted first-order language with equality Includes: Sorts: FLUENT < STATE, ACTION, SIT Functions: Predicate. Abbreviations.
E N D
CHR Operational Semantics in Fluent Calculus (using Ramifications) November, 2007
Introduction • A many-sorted first-order language with equality • Includes: • Sorts: FLUENT < STATE, ACTION, SIT • Functions: • Predicate
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
State Update Axiom • Ex:
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-
Foundational Axioms (Reflexive and Transitive Closure of Causes)
Causal Relations Axiomatization • Relies on the assumption that the underlying Causes relation is completely specified
Fluent Calculus Domain Axiomatizationwith 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
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).