File "bench/check-ce/underspec.mlw", line 17, characters 27-33:
Sub-goal Loop invariant init of goal f'vc.
Prover result is: Valid (5 steps).

<check_ce:categorization>Categorizations of models:
- Checked model 0: BAD_CE
  - Concrete RAC: NORMAL
  - Abstract RAC: STUCK (failure in loop invariant preservation after last iteration at "bench/check-ce/underspec.mlw", line 17, characters 18-33)
- Selected model 1: SW
  - Concrete RAC: NORMAL
  - Abstract RAC: FAILURE (loop invariant preservation at "bench/check-ce/underspec.mlw", line 17, characters 18-33)
- Checked model 2: SW
  - Concrete RAC: NORMAL
  - Abstract RAC: FAILURE (loop invariant preservation at "bench/check-ce/underspec.mlw", line 17, characters 18-33)
File "bench/check-ce/underspec.mlw", line 17, characters 27-33:
Sub-goal Loop invariant preservation of goal f'vc.
Prover result is: Unknown (unknown) (21 steps).
The contracts of the following functions/loops are too weak :
  - Loop at "bench/check-ce/underspec.mlw", line 16, character 4 to line 22, character 8
  - Loop at "bench/check-ce/underspec.mlw", line 16, character 4 to line 22, character 8
, 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 underspec.mlw:
  Line 13:
    _ = ()
    Execution of main function `f` with env:
      _ = ()
      zero = 0
      one = 1
  Line 14:
    Giant-step execution of function `ref` with args:
      contents = 0
    result of `ref` = {contents= 0}
  Line 15:
    Giant-step execution of function `ref` with args:
      contents = 0
    result of `ref` = {contents= 0}
  Line 16:
    Giant-step iteration of loop
    x1 = {contents= (- 2)}
    x2 = {contents= 0}
    i = 0
    Giant-step iteration of loop
  Line 18:
    Normal execution of function `(=)` with args:
      x = 0
      y = 0
  Line 19:
    Normal execution of function `contents` with args:
      arg = {contents= (- 2)}
    Normal execution of function `(+)` with args:
      _ = (- 2)
      _ = 1
  Line 17:
    Property failure at loop invariant preservation with:
      x1 = {contents= (-1)}
      i = 1

File "bench/check-ce/underspec.mlw", line 17, characters 27-33:
Sub-goal Loop invariant preservation of goal f'vc.
Prover result is: Valid (18 steps).

File "bench/check-ce/underspec.mlw", line 31, characters 14-23:
Sub-goal Postcondition of goal g'vc.
Prover result is: Valid (7 steps).

<check_ce:categorization>Categorizations of models:
- Checked model 0: BAD_CE
  - Concrete RAC: NORMAL
  - Abstract RAC: STUCK (failure in postcondition of `g` at "bench/check-ce/underspec.mlw", line 31, characters 14-23)
- Selected model 1: SW
  - Concrete RAC: NORMAL
  - Abstract RAC: FAILURE (assertion at "bench/check-ce/underspec.mlw", line 37, characters 13-18)
- Checked model 2: SW
  - Concrete RAC: NORMAL
  - Abstract RAC: FAILURE (assertion at "bench/check-ce/underspec.mlw", line 37, characters 13-18)
File "bench/check-ce/underspec.mlw", line 37, characters 13-18:
Sub-goal Assertion of goal f'vc.
Prover result is: Unknown (unknown) (7 steps).
The contracts of the following functions/loops are too weak :
  - Function 'g' at "bench/check-ce/underspec.mlw", line 36, characters 4-8
, for example during the following execution:
File int.mlw:
  Line 13:
    Constant zero initialization
    zero = 0
  Line 14:
    Constant one initialization
    one = 1
File underspec.mlw:
  Line 27:
    Constant z initialization
    (giant-step) execution of unimplemented function with args:
    result = 0
    Normal execution of function `ref` with args:
      contents = 0
    Normal execution of function `ref'mk` with args:
      contents = 0
    z = {contents= 0}
Unknown location:
    _ = ()
File underspec.mlw:
  Line 34:
    _ = ()
    Execution of main function `f` with env:
      z = {contents= 0}
      _ = ()
      zero = 0
      one = 1
  Line 36:
    Normal execution of function `Tuple0` with args:
    Giant-step execution of function `g` with args:
      _ = ()
    z = {contents= 3}
    result of `g` = ()
  Line 37:
    Property failure at assertion with:
      z = {contents= 3}

