;;;
;;; If a secure and usable airport exists at a location, an airunit can be
;;; deployed there.
;;;
(OPERATOR DEPLOY
(params <air-unit> <loc>)
(preconds
((<air-unit> AIRCRAFT)
(<loc> LOCATION) ;Was of type airport
(<airport> AIRPORT))
(and
(loc-at <airport> <loc>)
(is-usable <airport>)
(airport-secure-at <loc>))
)
(effects
()
((add (is-deployed <air-unit> <loc>))))
)
;;;
;;; An air base is secure if two troop forces are deployed there to guard
;;; against external threats and if one police force is deployed there to
;;; guard against threats inside the base (e.g., saboteurs on the flight
;;; line).
;;;
(OPERATOR SECURE
(params <airport>
<loc>)
(preconds
((<loc> LOCATION)
(<airport> LOCATION)
(<internal-security-force> POLICE-FORCE-MODULE)
(<external-security-force1> (and ANTI-AIR-FORCE-MODULE
(diff <internal-security-force>
<external-security-force1>)))
(<external-security-force2> (and TROOPS
(diff <internal-security-force>
<external-security-force2>)
(diff <external-security-force1>
<external-security-force2>)))
)
(and (loc-at <airport> <loc>) ;Not state 4 subgoal, used to bind <country>
(is-deployed <internal-security-force> <loc>)
(is-deployed <external-security-force1> <loc>)
(is-deployed <external-security-force2> <loc>))
)
(effects
()
((add (airport-secure-at <loc>))))
)
;;;
;;; Deploy an air unit to support an air interdiction mission.
;;;
(OPERATOR SUPPORT
(params <mission> <air-unit> <loc>)
(preconds
((<air-unit> AIR-FORCE-MODULE)
(<mission> MISSION-NAME)
(<loc> LOCATION)
)
(and (is-deployed <air-unit> <loc>)
(mission-of <air-unit> <mission>))
)
(effects
()
((add (is-interdicted <loc>)))) ;Is this the right goal state?
)
;;;
;;; Suppress enemy threat using ground forces.
;;;
(OPERATOR SUPPRESS
(params <object-suppressed>
<loc>)
(preconds
(
(<loc> LOCATION)
(<external-security-force1> INFANTRY)
(<external-security-force2> (and SPECIAL-FORCE-MODULE
(diff <external-security-force1>
<external-security-force2>)))
(<internal-security-force> (and POLICE-FORCE-MODULE
(diff <external-security-force1>
<internal-security-force>)
(diff <external-security-force2>
<internal-security-force>)))
)
(and
(is-deployed <external-security-force1> <loc>)
(is-deployed <external-security-force2> <loc>)
(is-deployed <internal-security-force> <loc>)
))
(effects
(
(<object-suppressed> (and TERRORISM
(gen-from-pred
(threat-at <object-suppressed> korea))))
)
((add (is-suppressed <object-suppressed> <loc>))))
)

Correspondence: mcox+@cs.cmu.edu
Last Edited: July 25, 1996