Fridge world Analysis

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: