4. POLÍTICAS
4.1. POLÍTICAS DE ORDENAMIENTO URBANO
Temporal laws can be divided into two categories: those laws that are based on Boolean laws and those laws that are not. In the first category are temporal versions of the Distributive, Commutative, Associative, Absorption and Idempotent laws, i.e. versions of those laws which also feature PANDs, SANDs and PORs as well as AND and OR gates. All of these laws can be proved using TTTs.
Temporal Commutative Laws
X<Y ≠ Y<X X&Y ⇔ Y&X X|Y ≠ Y|X
The Commutative Law, as already explained, allows us to change the order of the inputs to a gate. However, the two priority gates, PAND and POR, depend on the order of their inputs for their meaning: X<Y means "X occurred before Y", and changing the order also changes the meaning to "Y occurred before X." As a result, the Commutative Law does not apply to these gates, and it is not possible to reorder their inputs during qualitative analysis. The SAND gate is the exception, however – because it requires all events to occur at the same time, the order of the inputs to the gate does not matter. Therefore, the Commutative Law does apply to the SAND gate as normal.
Temporal Associative Laws
X<(Y<Z) ≠ (X<Y)<Z (X<Y)<Z ⇔ X<Y<Z
X&(Y&Z) ⇔ (X&Y)&Z ⇔ X&Y&Z X|(Y|Z) ≠ (X|Y)|Z
The Associative Laws ordinarily make it possible to remove and reorder parentheses in an expression. Once again, however, the priority gates present some difficulty while the SAND gate behaves normally. To look at why the gates behave this way, it is necessary to look at their sequence values.
Firstly, the PAND gate. When a PAND gate is evaluated, it takes on the value of its right-most event when true. If the sequence values are X=1, Y=2, and Z=3, then the innermost PAND in X<(Y<Z) means (2 < 3) which results in the PAND having a sequence value of 3. The outermost PAND is then also evaluated as (1 < 3) which results in a sequence value of 3 as well. This is what we would expect; however, there is in fact no temporal relation specified between the values of X and Y by this expression. Assume instead that X=2, Y=1, and Z=3. The innermost PAND now means (1 < 3) which still results in a value of 3, and the outermost now means (2 < 3), which again still results in a value of 3, but the sequence in which X and Y occur is reversed. The sequence value of the outermost PAND is therefore not affected by the relative order of X and Y, only by the orders of Y and Z and then X and Z.
By contrast, (X<Y)<Z means the same as X<Y<Z, because when the innermost PAND is evaluated, it gets the value 2 in the first case (where X=1 and Y=2) and 0 in the second case (where Y=1 and X=2). This can then be compared against Z in the usual way, and the first case would be true but the second case would be false. This can be seen in the TTT below:
X Y Z (X.Y)<Z X<Y Y<Z X<Y<Z X<(Y<Z) (X<Y)<Z
1 1 1 0 0 0 0 0 0 1 1 2 2 0 2 0 2 0 1 2 1 0 2 0 0 0 0 2 1 1 0 0 0 0 0 0 1 2 2 0 2 0 0 0 0 2 1 2 0 0 2 0 0 0 2 2 1 0 0 0 0 0 0 1 2 3 3 2 3 3 3 3 1 3 2 0 3 0 0 0 0 2 1 3 3 0 3 0 3 0 2 3 1 0 3 0 0 0 0 3 1 2 0 0 2 0 0 0 3 2 1 0 0 0 0 0 0
As can be seen, while the columns for X<Y<Z and (X<Y)<Z match, the column for X<(Y<Z) does not. In fact, X<(Y<Z) is equivalent to (X.Y)<Z instead, as shown in the table; this is also the same as saying (X<Z).(Y<Z). In other words:
X<(Y<Z) ⇔ (X.Y)<Z ⇔ (X<Z).(Y<Z)
This is not the case for the SAND gate, which behaves normally (due to its input sequence values all being the same). However, like the PAND, the POR also differs in its behaviour. X|(Y|Z) means we evaluate (Y|Z) first and then X|(Y|Z). Because of the way the POR works, the outermost POR can be true even if the innermost is false. In other words, Z can occur before Y, or even before X, and the outermost POR is still true as long as X occurs. In these cases, there is no direct temporal relation between X and Y and Z. Again, this can be shown by a TTT:
X Y Z X|(Y+Z) X|Y Y|Z X|Y|Z X|(Y|Z) (X|Y)|Z 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 2 0 0 1 0 0 0 0 2 1 0 0 0 0 0 0 1 0 0 1 1 0 1 1 1 1 0 1 0 1 0 0 1 0 1 0 2 1 1 0 1 1 1 1 1 0 0 0 1 0 0 0 1 1 1 0 0 0 0 1 0 1 1 2 0 0 1 0 0 0 1 2 0 1 1 2 1 1 1 1 2 1 0 1 0 0 1 0 1 2 2 1 1 0 1 1 1 1 2 3 1 1 2 1 1 1 1 3 2 1 1 0 1 1 1 2 0 1 0 0 0 0 2 0 2 1 0 0 0 1 0 0 0 2 1 1 0 0 0 0 2 0 2 1 2 0 0 1 0 0 0 2 1 3 0 0 1 0 0 0 2 2 1 0 0 0 0 0 0 2 3 1 0 2 0 0 0 0 3 1 2 0 0 1 0 0 0 3 2 1 0 0 0 0 0 0
As you can see, X|(Y|Z) differs from the other two. There is also another equivalence shown in the table: X|(Y+Z) is the same as X|Y|Z. It is also the same as saying X|Y.X|Z, i.e.:
(X|Y)|Z ⇔ X|Y|Z ⇔ X|(Y+Z) ⇔ X|Y.X|Z This is more of a distributive relationship, and will be explained next.
Temporal Distributive Laws
X < (Y.Z) ⇔ Y.(X<Z) + Z.(X<Y) X < (Y+Z) ⇔ (X|Z).(X|Y).(Y+Z) X < (Y<Z) ⇔ (X<Z).(Y<Z)
X < (Y&Z) ⇔ (X<Y).(X<Z).(Y&Z) X < (Y|Z) ⇔ (X<Y).(Y|Z)
X < (Y|Z) ⇔ (X|Y).(Y|Z)
X & (Y+Z) ⇔ (X&Y).(Y&Z) + (X&Y).(Y|Z) + (X&Z).(Z|Y) X & (Y.Z) ⇔ (X&Y).(Y&Z) + (X&Y).(Z<Y) + (X&Z).(Y<Z) X & (Y<Z) ⇔ (Y<Z)&(Y<X)
X & (Y<Z) ⇔ (X&Z).(Y<Z).(Y<X) X & (Y&Z) ⇔ X&Y&Z
X & (Y|Z) ⇔ (X&Y).(Y|Z).(X|Z) X & (Y|Z) ⇔ (X|Z)&(Y|Z)
X | (Y+Z) ⇔ (X|Y).(X|Z) X | (Y.Z) ⇔ X|Y + X|Z
X | (Y<Z) ⇔ (X|Z) + (X|Y) + X.(Z<Y) + X.(Y&Z) X | (Y&Z) ⇔ X.(Y|Z) + X.(Z|Y) + (X|Y) + (X|Z) X | (Y|Z) ⇔ (X|Y) + (X.Z<Y) + (X.Y&Z)
(Y+Z) < X ⇔ (Y<X) + (Z<X) (Y.Z) < X ⇔ (Y<X).(Z<X) (Y<Z) < X ⇔ (Y<Z).(Z<X)
(Y&Z) < X ⇔ (Z<X).(Y<X).(Y&Z) (Y|Z) < X ⇔ (Y<X).(Y|Z)
(Y+Z) & X ⇔ (X&Y).(Y&Z) + (X&Y).(Y|Z) + (X&Z).(Z|Y) (Y.Z) & X ⇔ (Y<X).(Z&X) + (Z<X).(Y&X) + X&Y&Z
(Y<Z) & X ⇔ (Y<Z).(Z&X).(Y<X) (Y&Z) & X ⇔ Y&Z&X
(Y|Z) & X ⇔ (X&Y).(Y|Z) (Y+Z) | X ⇔ (Y|X) + (Z|X) (Y.Z) | X ⇔ (Y|X).(Z|X) (Y<Z) | X ⇔ (Y|Z).(Z|X) (Y&Z) | X ⇔ (Y|X)&(Z|X)
(Y|Z) | X ⇔ (Y|Z).(Y|X)
(A+B) & (C+D) ⇔ A&B&C&D + A&C|B|D + A&D|B|C + B&C|A|D + B&D|A|C + A&B&C|D + A&B&D|C + A&C&D|B + B&C&D|A
(A.B) & (C.D) ⇔ A&B&C&D + A<B&C&D + B<A&C&D + C<A&B&D + D<A&B&C + (A.C)<B&D + (A.D)<B&C + + (B.C)<A&D + (B.D)<A&C
(A<B) & (C<D) ⇔ (A<B).(C<D).(B&D) (A|B) & (C|D) ⇔ (A&C).(A|B).(C|D)
(A+B) < (C+D) ⇔ (A|C).(A|D).(C+D) + (B|C).(B|D).(C+D) (A.B) < (C.D) ⇔ (A<D).(B<D).(C<D) + (A<C).(B<C).(D<C)
+ (A<C).(A<D).(B<C).(B<D).(C&D)
(A&B) < (C&D) ⇔ (A<C).(B<C).(A<D).(B<D).(A&B).(C&D) (A|B) < (C|D) ⇔ (A<C).(A|B).(C|D)
(A+B) | (C+D) ⇔ (A|C).(A|D) + (B|C).(B|D) (A.B) | (C.D) ⇔ (A|C).(B|C) + (A|D).(B|D)
(A<B) | (C<D) ⇔ (A<B).(B|C) + (A<B).(B|D) + (A<B).(D<C) + (A<B).(C&D)
(A&B) | (C&D) ⇔ (A&B).(C|D) + (A&B).(D|C) + (A&B).(B|C) + (A&B).(B|D)
As you can see, there are a lot of temporal Distributive Laws, and very few of them behave exactly as the normal Boolean Distributive versions do. A full explanation of the derivation of these laws could take half a thesis in itself to cover, but for now it suffices to say that all these laws can be proved using TTTs and they enable us to transform parts of the fault tree into a more useful form (a process which will be explained in more detail in the next chapter). The important laws are the ones with three events, which can be used to construct more complicated forms (like the four event versions listed last).
Temporal Idempotent Laws
X<X ≠ X X&X ⇔ X X|X ≠ X
The Idempotent Law only holds for the SAND gate, not for the priority gates. This is only to be expected; both priority gates require their left-most input to occur earlier than the inputs to the
right, but if those inputs are the same, then they occur at the same time. On the other hand, this is exactly what the SAND gate expects. For example, if X = 1, then X<X = 1<1 = 0, X&X = 1&1 = 1, and X|X = 1|1 = 0. In the case of the POR, if the left input happens, then so does the right (because they are the same), and so in this case it behaves exactly like a PAND gate. As a result, X<X and X|X are both contradictions, and will be covered in more detail shortly.
Temporal Absorption Laws
X . (X < Y) ⇔ X < Y Y . (X < Y) ⇔ X < Y X . (X & Y) ⇔ X & Y Y . (X & Y) ⇔ X & Y
X . (X | Y) ⇔ X | Y Y . (X | Y) ⇔ X < Y
X < (X . Y) ⇔ X < Y Y < (X . Y) ⇔ Y < X X & (X . Y) ⇔ X&Y + Y<X Y & (X . Y) ⇔ X&Y + X<Y
X | (X . Y) ⇔ X | Y Y | (X . Y) ⇔ Y | X
X < (X + Y) ⇔ 0 Y < (X + Y) ⇔ 0
X & (X + Y) ⇔ X&Y + X|Y Y & (X + Y) ⇔ X&Y + Y|X
X | (X + Y) ⇔ 0 Y | (X + Y) ⇔ 0
(X . Y) < X ⇔ 0 (X . Y) < Y ⇔ 0
(X . Y) & X ⇔ X&Y + Y<X (X . Y) & Y ⇔ X&Y + X<Y
(X . Y) | X ⇔ 0 (X . Y) | Y ⇔ 0
(X + Y) < X ⇔ Y < X (X + Y) < Y ⇔ X < Y (X + Y) & X ⇔ X&Y + X|Y (X + Y) & Y ⇔ X&Y + Y|X
(X + Y) | X ⇔ Y | X (X + Y) | Y ⇔ X | Y
X + (X < Y) ⇔ X Y + (X < Y) ⇔ Y
X + (X & Y) ⇔ X Y + (X & Y) ⇔ Y
X + (X | Y) ⇔ X Y + (X | Y) ⇔ X + Y
The temporal Absorption Laws play a large role in the reduction and simplification of temporal fault trees in Pandora. While the Distributive, Associative, and Commutative laws rearrange and transform fault tree expressions, these laws can be used to shrink them. The last six in this list are particularly important because they allow for the elimination of redundant cut sets. However, it is important to note that some of these Absorption Laws result in contradictions; this marks the single biggest difference in the qualitative analysis of temporal versus normal Boolean fault trees: in normal fault trees, the only time a contradiction might be encountered is when NOT gates are being used, but in temporal fault trees, it is a lot more common (and not necessarily indicative of any error in the modelling of the system). To deal with these contradictions, a new set of laws specific to Pandora is needed.