# Signature
ctrl V0 = 0;
ctrl V1 = 0;
atomic ctrl V2 = 0;
ctrl V3 = 0;
atomic ctrl V4 = 0;
ctrl V5 = 0;
ctrl V6 = 0;
ctrl V7 = 0;
#Reaction rules
react snd =
  V0
  -->
  V0;
# Initial state
big d0 = (V3.merge | V4 | id) || (V6 | id);
big d1' = 
  share (id || id || id)
  by([{0}, {0,1,2}, {1,2}], 3)
  in((V4 | V5) || (V6 | V7));
#          0       1     2
big d1 =
  (merge(2) || id) * (id || d1');
big b' =
  (V4 | merge ) || 0 || (V6 | id);     
big b =
  b' * ([{0}, {2}, {1}, {3}, {4}], 5);
big s0 = V2;
# Predicate
big phi = V3;
# Reactive system
begin brs
  init s0;
  rules = [ {snd} ];
  preds = { phi };
end