ard,System)]=>[working(Guard,System)])],
    % conditional
    []).
operator(trip_alarm(System,Valuable_item,Trigger,Burglar),
    % prevail
    [     se(system,System,[active(System)])],
    % necessary
    [     sc(valuable_item,Valuable_item,[protected(Valuable_item),protected_by(Valuable_item,Trigger)]=>[triggered(Valuable_item),protected_by(Valuable_item,Trigger)]),
     sc(burglar,Burglar,[casing_joint(Burglar),expertise(Burglar,Trigger)]=>[caught(Burglar),expertise(Burglar,Trigger)])],
    % conditio