module specific_impairment depends on impairment sort declarations damage :: impair break :: damage harm :: impair function declarations fluents basic is_damaged : entity -> booleans axioms is_damaged(X) if is_broken(X). -is_broken(X) if -is_damaged(X). occurs(X) causes is_damaged(O) if instance(X, damage), object(X, O). occurs(X) causes is_broken(O) if instance(X, break), object(X, O). false if instance(X, harm), object(X, O), -instance(O, living_entity).