TIM: Type Inference Mechanism - support for STAN: State Analysis Planner
D. Long and M. Fox, University of Durham
Reading domain file: domain01.pddl
Reading problem file: prob01.pddl
TIM: Domain analysis complete for fridge-domain-typed
TIM: TYPES:
Type T0 = {s1,s2,s3,s4}
Type T1 = {f1}
Type T2 = {c1,c2}
Type T3 = {b1}
TIM: STATE INVARIANTS:
FORALL x:T1. (fridge-on(x) OR fridge-off(x))
FORALL x:T1. NOT (fridge-on(x) AND fridge-off(x))
FORALL x:T0. (screwed(x) OR unscrewed(x))
FORALL x:T0. NOT (screwed(x) AND unscrewed(x))
FORALL x:T3. FORALL y1. FORALL z1. covers(x,y1) AND covers(x,z1) => y1 = z1
FORALL x:T3. (Exists y1:T2. covers(x,y1))
FORALL x:T3. (in-place(x) OR nt-in-place(x))
FORALL x:T3. NOT (in-place(x) AND nt-in-place(x))
FORALL x:T2. FORALL y1. FORALL z1. covers(y1,x) AND covers(z1,x) => y1 = z1
FORALL x:T2. (unattached(x) OR (Exists y1:T3. covers(y1,x) AND attached(x)))
FORALL x:T2. NOT (unattached(x) AND (Exists y1:T3. covers(y1,x) AND attached(x)))
TIM: DOMAIN INVARIANTS:
|{x0: attached(x0)}| = 1
|{(x0,x1): covers(x0,x1)}| = 1
|{(x0,x1): holds(x0,x1)}| = 4
|{x0: ok(x0)}| = 2
|{(x0,x1): part-of(x0,x1)}| = 1
|{x0: unattached(x0)}| = 1
TIM: ATTRIBUTE SPACES:
Objects, x, in T0 all have property:
Exists y1:T3. holds(x,y1);
Objects, x, in T3 all have property:
Exists y1:T0. holds(y1,x);
Objects, x, in T2 all have property:
ok(x);
Objects, x, in T3 all have property:
Exists y1:T1. part-of(x,y1);
Objects, x, in T1 all have property:
Exists y1:T3. part-of(y1,x);
TIM: OPERATOR PARAMETER RESTRICTIONS:
change-compressor(x1:T2,x2:T2,x3:T3)
stop-fridge(x1:T1)
start-fridge(x1:T1,x2:T0,x3:T0,x4:T0,x5:T0,x6:T3)
attach-backplane(x1:T3,x2:T1,x3:T0,x4:T0,x5:T0,x6:T0)
remove-backplane(x1:T3,x2:T1,x3:T0,x4:T0,x5:T0,x6:T0)
fasten(x1:T0) unfasten(x1:T0)
TIM: ADDITIONAL STATE INVARIANTS, USING SUB-STATE ANALYSIS: