resources / logic tool

Situation tree viewer

1

Fluents and initial situation

2

Action axioms

Use fluent names with !, &, |, ->, and parentheses. Empty means true.

part_loaded
drilled
inspected
released
part_loaded
drilled
inspected
released
part_loaded
drilled
inspected
released
part_loaded
drilled
inspected
released

3

Generated axioms

Precondition axioms

Poss(load, s) <-> !part_loadedPoss(drill, s) <-> part_loaded & !drilledPoss(inspect, s) <-> drilled & !inspectedPoss(release, s) <-> inspected & !released

Successor-state axioms

part_loaded(do(a, s)) <-> ((a = load and !part_loaded)) or (part_loaded(s) and not ((a = release and inspected & !released)))drilled(do(a, s)) <-> ((a = drill and part_loaded & !drilled)) or (drilled(s) and not ((a = load and !part_loaded)))inspected(do(a, s)) <-> ((a = inspect and drilled & !inspected)) or (inspected(s) and not ((a = load and !part_loaded)))released(do(a, s)) <-> ((a = release and inspected & !released)) or (released(s) and not ((a = load and !part_loaded)))

4

Finite situation tree

4 situations 4 actions valid
100%
loaddrillinspectS00/4S11/4S22/4S33/4

S0

Selected situation

Path S0
part_loaded false
drilled false
inspected false
released false

Executable actions

load Poss: !part_loaded
+part_loaded -drilled -inspected -released