//This file was generated from UPPAAL 3.4.7, Oct 2004
/*
Local for Clock
*/
A[] x >= 0 and x <= max
/*
Local for Coder
*/
A[] Coder.C0 or Coder.C1 imply n == 0
/*
Local for Coder
*/
A[] Coder.C2 imply in == 1 and n >= 0 and n < mark
/*
Local for Coder
*/
A[] Coder.C3 imply n >= 0 and n < cell
/*
Local for Coder
*/
A[] Coder.C3 and n < mark imply in == 0
/*
*/
A[] Coder.C4 imply in == 1 and n == mark
/*
Local for Wire
*/
A[] z >= 0
/*
Local for Wire
*/
A[] Wire.W1 imply z <= edgelength
/*
Local for Sampler
*/
A[] y >= 0 and y <= max
/*
Local for Decoder
*/
A[] Decoder.D0 imply m == 0
/*
Local for Decoder
*/
A[] Decoder.D1 imply m >= 0 and m < sample
/*
Local for Decoder
*/
A[] Decoder.D2 imply m == sample
/*
Local for Coder and Clock
*/
A[] Coder.C0 or Coder.C1 or Coder.C4 imply x == 0
/*
Local for Wire + Sampler.
Proven simultaneously with next invariant.
*/
A[] s==0 and z > y + edgelength + max imply w == new
/*
Local for Wire + Sampler
*/
A[] s==1 and z > y + edgelength imply w == new
/*
Local for Decoder and Sampler
*/
A[] Decoder.D2 imply y == 0
/*
Local for Coder, Clock and Wire:
Coder does not generate two edges within
edgelenght time.
*/
A[] not Wire.W2
/*
Local to Coder, Clock, and Wire
*/
A[] Wire.W0 imply v == w
/*
Local to Coder, Clock and Wire
*/
A[] Coder.C0 or Coder.C1 or Coder.C4 imply Wire.W0
/*
Uppaal cannot handle the following invariant,
which is local for Coder, Clock and Wire:
Coder.C2 or (Coder.C3 and in == 0) imply n*min <= z-x <= n*max
*/
A[] (Coder.C2 or (Coder.C3 and in == 0)) and n==13 imply (13*min <= z-x and z-x <= 13*max)
/*
Local for Coder, Clock and Wire
*/
A[] Coder.C4 imply z >= mark*min and z <= mark*max
/*
Uppaal cannot handle the following invariant,
which is local for Coder, Clock and Wire:
Coder.C3 and in == 1 imply (n-mark)*min <= z-x <= (n-mark)*max
*/
A[] Coder.C3 and in == 1 and n == 12 imply (12-mark)*min <= z-x and z-x <= (12-mark)*max
/*
Global (except Tester)
*/
A[] Decoder.D0 imply not Coder.C4 and (v == new or new == old) and (mark <= n imply sample*min-mark*max <= z)
/*
Global (except Tester)
*/
A[] Decoder.D1 imply Coder.C2 or Coder.C3 or Coder.C4
/*
Global (except Tester)
*/
A[] Decoder.D2 imply Coder.C3 and in == out and v == new and new == old
/*
Global (except Tester)
*/
A[] Decoder.D0 and (Coder.C0 or Coder.C1 or (Coder.C3 and n >= mark)) imply v == old
/*
Global (except Tester)
*/
A[] Decoder.D0 and (Coder.C2 or Coder.C3) and n < mark imply v !=old and z <= y + edgelength + max
/*
Global (except Tester)
Uppaal cannot handle conjunct m*min <= z-y <= (m+2)*max + edgelength.
*/
A[] Decoder.D1 and (in == 0 or Coder.C2 or Coder.C4) imply v == old and (m == 8 imply 8*min <= z-y and z-y <= (8+2)*max + edgelength)
/*
Global (except Tester)
Uppaal cannot handle conjunct m*min - mark*max <= z-y <= (m+2)*max+ edgelength - mark*min
*/
A[] Decoder.D1 and Coder.C3 and in == 1 imply v != old and (m== 8 imply 8*min-mark*max <= z-y and z-y <= (8+2)*max + edgelength - mark*min)
/*
Global (except Tester)
*/
A[] Decoder.D2 and in == 0 imply z >= sample*min and z < cell*min
/*
Global (except Tester)
*/
A[] Decoder.D2 and in == 1 imply z >= sample*min-mark*max and z < (cell - mark)*min
/*
Global invariant
*/
A[] Decoder.D1 or Decoder.D2 imply Tester.T1
/*
Global invariant
*/
A[] Decoder.D0 and n >= mark imply Tester.T0
/*
Global invariant
*/
A[] Decoder.D0 and n < mark imply Coder.C0 or Tester.T1
/*
Global invariant
*/
A[] Coder.C3 imply Tester.T0 or Tester.T1
/*
Global invariant
*/
A[] Coder.C1 or Coder.C2 or Coder.C4 imply Tester.T1
/*
Global invariant
*/
A[] Coder.C0 imply Tester.T0
/*
*/
A[] not deadlock
/*
*/
A[] not (Tester.T2 or Tester.T3 or Tester.Error)