ALICe documentation

Model gonnord3

«  Model gonnord2   ::   Contents   ::   Model gonnord4  »

Model gonnord3

Cited in: [Gonnord_thesis] fig. 4.9 p. 57.

Tag: fixpoint.

Figure

../_images/gonnord3.png

Source code

model gonnord_thesis_057 {

  var i, j;

  states q1, q3, q2;

  transition t4 := {
    from   := q1;
    to     := q3;
    guard  := i > 100;
    action := ;
  };

  transition t1 := {
    from   := q1;
    to     := q2;
    guard  := i <= 100;
    action := i' = i + 1;
  };

  transition t2 := {
    from   := q2;
    to     := q1;
    guard  := true;
    action := ;
  };

  transition t3 := {
    from   := q2;
    to     := q2;
    guard  := j <= 19;
    action := j' = i + j;
  };

}

strategy gonnord_thesis_057_s {

  Region init := {state = q1 && i = 0 && j = -100};

}

Expected invariant

{ q1[v1, v2] : v1 >= 0 and v2 >= -100 and v2 >= -201 + v1 }

Results

  • With Aspic: { q1[i, j] : j <= 19 + i and i <= 101; q2[i, j] : j <= 19 + i and i <= 101; q3[101, j] : j <= 120 } (0.05s), failed.
  • With ISL: { q1[i__1, j__1] : (j__1 <= 19 + i__1 and i__1 >= 1 and i__1 <= 101) or (i__1 <= 101 and i__1 >= 2 and j__1 <= 19 + i__1); q1[0, -100]; q1[i__1, -100] : i__1 >= 1 and i__1 <= 101; q3[101, j__1] : j__1 <= 120 or j__1 <= 120; q3[101, -100]; q2[i__1, j__1] : j__1 <= 19 + i__1 and i__1 <= 101 and i__1 >= 1; q2[i__1, -100] : i__1 >= 1 and i__1 <= 101 } (0.02s), failed.

«  Model gonnord2   ::   Contents   ::   Model gonnord4  »