File "bench/check-ce/while1.mlw", line 10, characters 18-24:
Sub-goal Loop invariant init of goal f'vc.
Prover result is: Valid (0.03s, 61 steps).

File "bench/check-ce/while1.mlw", line 9, characters 16-21:
Sub-goal Loop variant decrease of goal f'vc.
Prover result is: Valid (0.02s, 3009 steps).

File "bench/check-ce/while1.mlw", line 10, characters 18-24:
Sub-goal Loop invariant preservation of goal f'vc.
Prover result is: Valid (0.02s, 2963 steps).

<check-ce>Check model 0 ("bench/check-ce/while1.mlw", line 5, characters 12-22)
<check-ce>Checking model:
          File while1.mlw:
            Line 5:
              x =
                {"type": "Record",
                 "val":
                  {"Field":
                    [{"field": "contents",
                      "value": {"type": "Integer", "val": "1"}}]}}
            Line 6:
              result = {"type": "Integer", "val": "1"}
            Line 8:
              i =
                {"type": "Record",
                 "val":
                  {"Field":
                    [{"field": "contents",
                      "value": {"type": "Integer", "val": "2"}}]}}
              i =
                {"type": "Record",
                 "val":
                  {"Field":
                    [{"field": "contents",
                      "value": {"type": "Integer", "val": "2"}}]}}
              x =
                {"type": "Record",
                 "val":
                  {"Field":
                    [{"field": "contents",
                      "value": {"type": "Integer", "val": "1"}}]}}
<check-ce>Giant-step RAC
<rac-values>RHS evaluated for global `zero` at "WHY3DATA/stdlib/int.mlw", line 13, characters 15-19: 0
<rac-values>RHS evaluated for global `one` at "WHY3DATA/stdlib/int.mlw", line 14, characters 15-18: 1
<rac-values>Type default value for parameter `_` at NO LOC: ()
<rac-values>Value computed from postcondition for return value of call to ref at "bench/check-ce/while1.mlw", line 6, characters 16-17 at "bench/check-ce/while1.mlw", line 6, characters 16-17: {contents=
                                                                    0}
<rac-values>Value computed from postcondition for return value of call to ref at "bench/check-ce/while1.mlw", line 7, characters 16-17 at "bench/check-ce/while1.mlw", line 7, characters 16-17: {contents=
                                                                    0}
<rac-values>Value from model for variable `x` at "bench/check-ce/while1.mlw", line 8, characters 4-113 at "bench/check-ce/while1.mlw", line 8, characters 4-113: {contents=
                                                                    1}
<rac-values>Value from model for variable `i` at "bench/check-ce/while1.mlw", line 8, characters 4-113 at "bench/check-ce/while1.mlw", line 8, characters 4-113: {contents=
                                                                    2}
<check-ce>Normal RAC
<rac-values>RHS evaluated for global `zero` at "WHY3DATA/stdlib/int.mlw", line 13, characters 15-19: 0
<rac-values>RHS evaluated for global `one` at "WHY3DATA/stdlib/int.mlw", line 14, characters 15-18: 1
<rac-values>Type default value for parameter `_` at NO LOC: ()
<check-ce>Result of checking model 0: SW
            - Concrete RAC: NORMAL
              File int.mlw:
                Line 13:
                  Constant zero initialization
                  zero = 0
                Line 14:
                  Constant one initialization
                  one = 1
              Unknown location:
                  _ = ()
              File while1.mlw:
                Line 4:
                  _ = ()
                  Execution of main function `f` with env:
                    _ = ()
                    zero = 0
                    one = 1
                Line 6:
                  Normal execution of function `ref` with args:
                    contents = 0
                  Normal execution of function `ref'mk` with args:
                    contents = 0
                Line 7:
                  Normal execution of function `ref` with args:
                    contents = 0
                  Normal execution of function `ref'mk` with args:
                    contents = 0
                Line 8:
                  Normal execution of function `contents` with args:
                    arg = {contents= 0}
                  Normal execution of function `(<)` with args:
                    _ = 0
                    _ = 2
                  Normal iteration of loop
                Line 11:
                  Normal execution of function `contents` with args:
                    arg = {contents= 0}
                  Normal execution of function `(+)` with args:
                    _ = 0
                    _ = 1
                Line 12:
                  Normal execution of function `contents` with args:
                    arg = {contents= 0}
                  Normal execution of function `(+)` with args:
                    _ = 0
                    _ = 1
                Line 8:
                  Normal execution of function `contents` with args:
                    arg = {contents= 1}
                  Normal execution of function `(<)` with args:
                    _ = 1
                    _ = 2
                  Normal iteration of loop
                Line 11:
                  Normal execution of function `contents` with args:
                    arg = {contents= 1}
                  Normal execution of function `(+)` with args:
                    _ = 1
                    _ = 1
                Line 12:
                  Normal execution of function `contents` with args:
                    arg = {contents= 1}
                  Normal execution of function `(+)` with args:
                    _ = 1
                    _ = 1
                Line 8:
                  Normal execution of function `contents` with args:
                    arg = {contents= 2}
                  Normal execution of function `(<)` with args:
                    _ = 2
                    _ = 2
                Line 14:
                  Normal execution of function `contents` with args:
                    arg = {contents= 2}
                Line 4:
                  Execution of main function terminated normally
            - Abstract RAC: FAILURE (postcondition at "bench/check-ce/while1.mlw", line 5, characters 12-22)
              File int.mlw:
                Line 13:
                  Constant zero initialization
                  zero = 0
                Line 14:
                  Constant one initialization
                  one = 1
              Unknown location:
                  _ = ()
              File while1.mlw:
                Line 4:
                  _ = ()
                  Execution of main function `f` with env:
                    _ = ()
                    zero = 0
                    one = 1
                Line 6:
                  Giant-step execution of function `ref` with args:
                    contents = 0
                  result of `ref` = {contents= 0}
                Line 7:
                  Giant-step execution of function `ref` with args:
                    contents = 0
                  result of `ref` = {contents= 0}
                Line 8:
                  Giant-step iteration of loop
                  x = {contents= 1}
                  i = {contents= 2}
                  Normal execution of function `contents` with args:
                    arg = {contents= 2}
                  Normal execution of function `(<)` with args:
                    _ = 2
                    _ = 2
                Line 14:
                  Normal execution of function `contents` with args:
                    arg = {contents= 1}
                Line 5:
                  Property failure at postcondition of `f` with:
                    result = 1
<check-ce>Check model 1 ("bench/check-ce/while1.mlw", line 5, characters 12-22)
<check-ce>Checking model:
          
<check-ce>Giant-step RAC
<rac-values>RHS evaluated for global `zero` at "WHY3DATA/stdlib/int.mlw", line 13, characters 15-19: 0
<rac-values>RHS evaluated for global `one` at "WHY3DATA/stdlib/int.mlw", line 14, characters 15-18: 1
<rac-values>Type default value for parameter `_` at NO LOC: ()
<rac-values>Value computed from postcondition for return value of call to ref at "bench/check-ce/while1.mlw", line 6, characters 16-17 at "bench/check-ce/while1.mlw", line 6, characters 16-17: {contents=
                                                                    0}
<rac-values>Value computed from postcondition for return value of call to ref at "bench/check-ce/while1.mlw", line 7, characters 16-17 at "bench/check-ce/while1.mlw", line 7, characters 16-17: {contents=
                                                                    0}
<rac-values>Type default value for variable `x` at "bench/check-ce/while1.mlw", line 8, characters 4-113 at "bench/check-ce/while1.mlw", line 8, characters 4-113: {contents=
                                                                    0}
<rac-values>Type default value for variable `i` at "bench/check-ce/while1.mlw", line 8, characters 4-113 at "bench/check-ce/while1.mlw", line 8, characters 4-113: {contents=
                                                                    0}
<check-ce>Normal RAC
<rac-values>RHS evaluated for global `zero` at "WHY3DATA/stdlib/int.mlw", line 13, characters 15-19: 0
<rac-values>RHS evaluated for global `one` at "WHY3DATA/stdlib/int.mlw", line 14, characters 15-18: 1
<rac-values>Type default value for parameter `_` at NO LOC: ()
<check-ce>Result of checking model 1: BAD_CE
            - Concrete RAC: NORMAL
              File int.mlw:
                Line 13:
                  Constant zero initialization
                  zero = 0
                Line 14:
                  Constant one initialization
                  one = 1
              Unknown location:
                  _ = ()
              File while1.mlw:
                Line 4:
                  _ = ()
                  Execution of main function `f` with env:
                    _ = ()
                    zero = 0
                    one = 1
                Line 6:
                  Normal execution of function `ref` with args:
                    contents = 0
                  Normal execution of function `ref'mk` with args:
                    contents = 0
                Line 7:
                  Normal execution of function `ref` with args:
                    contents = 0
                  Normal execution of function `ref'mk` with args:
                    contents = 0
                Line 8:
                  Normal execution of function `contents` with args:
                    arg = {contents= 0}
                  Normal execution of function `(<)` with args:
                    _ = 0
                    _ = 2
                  Normal iteration of loop
                Line 11:
                  Normal execution of function `contents` with args:
                    arg = {contents= 0}
                  Normal execution of function `(+)` with args:
                    _ = 0
                    _ = 1
                Line 12:
                  Normal execution of function `contents` with args:
                    arg = {contents= 0}
                  Normal execution of function `(+)` with args:
                    _ = 0
                    _ = 1
                Line 8:
                  Normal execution of function `contents` with args:
                    arg = {contents= 1}
                  Normal execution of function `(<)` with args:
                    _ = 1
                    _ = 2
                  Normal iteration of loop
                Line 11:
                  Normal execution of function `contents` with args:
                    arg = {contents= 1}
                  Normal execution of function `(+)` with args:
                    _ = 1
                    _ = 1
                Line 12:
                  Normal execution of function `contents` with args:
                    arg = {contents= 1}
                  Normal execution of function `(+)` with args:
                    _ = 1
                    _ = 1
                Line 8:
                  Normal execution of function `contents` with args:
                    arg = {contents= 2}
                  Normal execution of function `(<)` with args:
                    _ = 2
                    _ = 2
                Line 14:
                  Normal execution of function `contents` with args:
                    arg = {contents= 2}
                Line 4:
                  Execution of main function terminated normally
            - Abstract RAC: STUCK (when reaching the end of a loop iteration at "bench/check-ce/while1.mlw", line 8, characters 4-113)
              File int.mlw:
                Line 13:
                  Constant zero initialization
                  zero = 0
                Line 14:
                  Constant one initialization
                  one = 1
              Unknown location:
                  _ = ()
              File while1.mlw:
                Line 4:
                  _ = ()
                  Execution of main function `f` with env:
                    _ = ()
                    zero = 0
                    one = 1
                Line 6:
                  Giant-step execution of function `ref` with args:
                    contents = 0
                  result of `ref` = {contents= 0}
                Line 7:
                  Giant-step execution of function `ref` with args:
                    contents = 0
                  result of `ref` = {contents= 0}
                Line 8:
                  Giant-step iteration of loop
                  x = {contents= 0}
                  i = {contents= 0}
                  Normal execution of function `contents` with args:
                    arg = {contents= 0}
                  Normal execution of function `(<)` with args:
                    _ = 0
                    _ = 2
                  Normal iteration of loop
                Line 11:
                  Normal execution of function `contents` with args:
                    arg = {contents= 0}
                  Normal execution of function `(+)` with args:
                    _ = 0
                    _ = 1
                Line 12:
                  Normal execution of function `contents` with args:
                    arg = {contents= 0}
                  Normal execution of function `(+)` with args:
                    _ = 0
                    _ = 1
                Line 8:
                  Execution got stuck at Cannot continue after arbitrary iteration with:
<check-ce-summary>Results:
- Selected model 0: SW
  - Concrete RAC: NORMAL
  - Abstract RAC: FAILURE (postcondition at "bench/check-ce/while1.mlw", line 5, characters 12-22)
- Checked model 1: BAD_CE
  - Concrete RAC: NORMAL
  - Abstract RAC: STUCK (when reaching the end of a loop iteration at "bench/check-ce/while1.mlw", line 8, characters 4-113)
File "bench/check-ce/while1.mlw", line 5, characters 12-22:
Sub-goal Postcondition of goal f'vc.
Prover result is: Unknown (unknown) (0.39s, 3000066 steps).
The contracts of some function or loop are too weak, for example during the
  following execution:
File int.mlw:
  Line 13:
    Constant zero initialization
    zero = 0
  Line 14:
    Constant one initialization
    one = 1
Unknown location:
    _ = ()
File while1.mlw:
  Line 4:
    _ = ()
    Execution of main function `f` with env:
      _ = ()
      zero = 0
      one = 1
  Line 6:
    Giant-step execution of function `ref` with args:
      contents = 0
    result of `ref` = {contents= 0}
  Line 7:
    Giant-step execution of function `ref` with args:
      contents = 0
    result of `ref` = {contents= 0}
  Line 8:
    Giant-step iteration of loop
    x = {contents= 1}
    i = {contents= 2}
    Normal execution of function `contents` with args:
      arg = {contents= 2}
    Normal execution of function `(<)` with args:
      _ = 2
      _ = 2
  Line 14:
    Normal execution of function `contents` with args:
      arg = {contents= 1}
  Line 5:
    Property failure at postcondition of `f` with:
      result = 1

