
Extension Name: processor.def
Primitive Lexicon: None
Defined Lexicon:
Definitional Extensions Required by this Extension: res_role.def

Overview
In this extension, we are not dealing with arbitrary activities; the manufacturing activities use and consume resources to produce or modify resources, ultimately creating some product. This class is axiomatized using the term "processor activity".
(forall (?a ?r) (iff (modifies ?a r)
(exists (?f)
(and (resource_fluent ?f ?r)
(changes ?a ?f)))))
Definition 2
A processor activity is an activity which uses some set of resources,
consumes or modifies some other set of resources, and produces or modifies
a set of objects.
(forall (?a) (iff (processor_activity ?a)
(exists (?r1 ?r2 ?r3)
(and (or (reusable ?r1 ?a)
(possibly_reusable ?r1 ?a))
(or (consumable ?r2 ?a)
(possibly_consumable ?r2 ?a)
(modifies ?a ?r2))
(or (creates ?a ?r3)
(modifies ?a ?r3))))))
Definition 3
An object ?r is a processor resource for an activity ?a iff ?a is a
processor activity which uses ?r.
(forall (?r ?a) (iff (processor_resource ?r ?a) (and (processor_activity ?a) (reusable ?r1 ?a) (possibly_reusable ?r1 ?a))))Definition 4 An object ?r is an input material for an activity ?a iff ?a is a processor activity which consumes or modifies ?r.
(forall (?r ?a) (iff (input_material ?r ?a)
(and (processor_activity ?a)
(or (consumable ?r ?a)
(possibly_consumable ?r ?a)
(modifies ?a ?r)))))
Definition 5
An object ?r is an output material for an activity ?a iff ?a is a
processor activity which produces or modifies ?r.
(forall (?r ?a) (iff (output_material ?r ?a)
(and (processor_activity ?a)
(or (creates ?a ?r)
(modifies ?a ?r)))))