“…delObAttempt(A, P, B, C, X, FRoption, Loption), O(B, P, C, X), allow(B, A, P, C, X, FRoption, Loption, ), ¬deny(B, A, P, C, X, FRoption, Loption, ) delOb(A, P, B, C, X, FRoption, Loption) (10) Obligation chains We have seen that an obligation can be delegated with or without delegating (or sharing) liability towards the original obligator. In order to decide whether an agent is liable towards another for a given obligation, one must know whether there is a chain of obligations (including both the initial one and the delegated ones) between them, and whether liability has been shared or forwarded at each step.…”