570 likes | 699 Views
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 ).
E N D
CHR + D + A + O Operational Semantics in Fluent Calculus 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:
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
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)
Simpagate if (Hk / HR <=> G | B) in P and
Simpagate if (Hk / HR <=> G | B) in P and
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
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
Simpagate if (Hk / HR <=> G | B) in P and
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 Actions • Inherit : ACTION