********************************************************************* * Scanning the pairs ********************************************************************* proc S = s -> ( ( ( s1 -> C1 ) [] ( s2 -> C2 ) [] ( s3 -> C3 ) ) [] S ) ********************************************************************* * Focussing on the 1st pair ********************************************************************* proc C1 = ( c1 -> ( S [] D1 ) ) [] ( n1 -> S ) proc D1 = ( d1 -> ( A1 [] S ) ) [] ( r1 -> S ) proc A1 = i1 -> a -> S ********************************************************************* * Focussing on the 2nd pair ********************************************************************* proc C2 = ( c2 -> ( S [] D2 ) ) [] ( n2 -> S ) proc D2 = ( d2 -> ( A2 [] S ) ) [] ( r2 -> S ) proc A2 = i2 -> a -> S ********************************************************************* * Focussing on the 3rd pair ********************************************************************* proc C3 = ( c3 -> ( S [] D3 ) ) [] ( n3 -> S ) proc D3 = ( d3 -> ( A3 [] S ) ) [] ( r3 -> S ) proc A3 = i3 -> a -> S ********************************************************************* * Simulator constraints on the 1st pair ********************************************************************* proc I1 = s -> ( I1 [] ( a -> ( ( resolved1 -> N1 ) [] ( unResolved1 -> I1 ) [] ( noEffect1 -> I1 ) ) ) ) proc N1 = s -> ( N1 [] ( a -> ( ( adverse1 -> I1 ) [] ( unNecessary1 -> N1 ) [] ( noEffect1 -> N1 ) ) ) ) ********************************************************************* * Simulator constraints on the 2nd pair ********************************************************************* proc I2 = s -> ( I2 [] ( a -> ( ( resolved2 -> N2 ) [] ( unResolved2 -> I2 ) [] ( noEffect2 -> I2 ) ) ) ) proc N2 = s -> ( N2 [] ( a -> ( ( adverse2 -> I2 ) [] ( unNecessary2 -> N2 ) [] ( noEffect2 -> N2 ) ) ) ) ********************************************************************* * Simulator constraints on the 23rd pair ********************************************************************* proc I3 = s -> ( I3 [] ( a -> ( ( resolved3 -> N3 ) [] ( unResolved3 -> I3 ) [] ( noEffect3 -> I3 ) ) ) ) proc N3 = s -> ( N3 [] ( a -> ( ( adverse3 -> I3 ) [] ( unNecessary3 -> N3 ) [] ( noEffect3 -> N3 ) ) ) ) ********************************************************************* * Operator Choice Model ********************************************************************* proc OCM = ( ( S [| {s,a} |] I1 ) [| {s,a} |] I2 ) [| {s,a} |] N3