<check_ce:categorization>Categorizations of models:
- Checked model 0: INCOMPLETE
  - Concrete RAC: NORMAL
  - Abstract RAC: INCOMPLETE (terminated because Postcondition of `set` cannot be evaluated)
- Selected model 1: NC
  - Concrete RAC: FAILURE (postcondition at "bench/check-ce/maps_mono.mlw", line 45, characters 14-54)
  - Abstract RAC: FAILURE (postcondition at "bench/check-ce/maps_mono.mlw", line 45, characters 14-54)
File "bench/check-ce/maps_mono.mlw", line 45, characters 14-54:
Sub-goal Postcondition of goal test_map'vc.
Prover result is: Unknown (unknown + incomplete) (1447 steps).
The program does not comply to the verification goal, for example during the
  following execution:
File int.mlw:
  Line 13:
    Constant zero initialization
    zero = 0
  Line 14:
    Constant one initialization
    one = 1
File maps_mono.mlw:
  Line 44:
    x = {contents= fun (x:int) -> if x = 0 then 3 else if x = 1 then 3 else 0}
    x = {contents= fun (x:int) -> if x = 0 then 3 else if x = 1 then 3 else 0}
    Execution of main function `test_map` with env:
      x = {contents=
           fun (x:int) -> if x = 0 then 3 else if x = 1 then 3 else 0}
      zero = 0
      one = 1
  Line 47:
    Normal execution of function `(!)` with args:
      r = {contents=
           fun (x:int) -> if x = 0 then 3 else if x = 1 then 3 else 0}
File ref.mlw:
  Line 18:
    Normal execution of function `contents` with args:
      arg = {contents=
             fun (x:int) -> if x = 0 then 3 else if x = 1 then 3 else 0}
File maps_mono.mlw:
  Line 47:
    Normal execution of function `set` with args:
      f = fun (x:int) -> if x = 0 then 3 else if x = 1 then 3 else 0
      x = 0
      v = 3
    Normal execution of function `(:=)` with args:
      r = {contents=
           fun (x:int) -> if x = 0 then 3 else if x = 1 then 3 else 0}
      v = (fun y -> if pure { if y = x then True else False } then v
             else f y) with f = fun (x1:int) ->
                                 if x1 = 0 then 3
                                 else if x1 = 1 then 3 else 0, x = 0, v = 3
  Line 45:
    Property failure at postcondition of `test_map` with:
      x = {contents=
           (fun y -> if pure { if y = x then True else False } then v
              else f y) with f = fun (x1:int) ->
                                  if x1 = 0 then 3
                                  else if x1 = 1 then 3 else 0, x = 0, v = 3}

<check_ce:categorization>Categorizations of models:
- Selected model 0: NC
  - Concrete RAC: FAILURE (postcondition at "bench/check-ce/maps_mono.mlw", line 51, characters 14-88)
  - Abstract RAC: INCOMPLETE (terminated because Postcondition of `set1` cannot be evaluated)
- Checked model 1: NC_SW
  - Concrete RAC: INCOMPLETE (terminated because unexpected arguments passed to (@))
  - Abstract RAC: FAILURE (postcondition at "bench/check-ce/maps_mono.mlw", line 51, characters 14-88)
File "bench/check-ce/maps_mono.mlw", line 51, characters 14-88:
Sub-goal Postcondition of goal test_map_multidim1'vc.
Prover result is: Unknown (unknown + incomplete) (1532 steps).
The program does not comply to the verification goal, for example during the
  following execution:
File int.mlw:
  Line 13:
    Constant zero initialization
    zero = 0
  Line 14:
    Constant one initialization
    one = 1
File maps_mono.mlw:
  Line 50:
    x = {contents=
         fun (x1:int) ->
          if x1 = 0 then fun (x2:int) -> if x2 = 0 then 0 else 1
          else fun (x2:int) -> 0}
    x = {contents=
         fun (x1:int) ->
          if x1 = 0 then fun (x2:int) -> if x2 = 0 then 0 else 1
          else fun (x2:int) -> 0}
    Execution of main function `test_map_multidim1` with env:
      x = {contents=
           fun (x1:int) ->
            if x1 = 0 then fun (x2:int) -> if x2 = 0 then 0 else 1
            else fun (x2:int) -> 0}
      zero = 0
      one = 1
  Line 53:
    Normal execution of function `(!)` with args:
      r = {contents=
           fun (x1:int) ->
            if x1 = 0 then fun (x2:int) -> if x2 = 0 then 0 else 1
            else fun (x2:int) -> 0}
File ref.mlw:
  Line 18:
    Normal execution of function `contents` with args:
      arg = {contents=
             fun (x1:int) ->
              if x1 = 0 then fun (x2:int) -> if x2 = 0 then 0 else 1
              else fun (x2:int) -> 0}
File maps_mono.mlw:
  Line 53:
    Normal execution of function `get` with args:
      f = fun (x1:int) ->
           if x1 = 0 then fun (x2:int) -> if x2 = 0 then 0 else 1
           else fun (x2:int) -> 0
      x = 1
  Line 29:
    Normal execution of function `(@)` with args:
      u = fun (x1:int) ->
           if x1 = 0 then fun (x2:int) -> if x2 = 0 then 0 else 1
           else fun (x2:int) -> 0
      u = 1
  Line 53:
    Normal execution of function `(!)` with args:
      r = {contents=
           fun (x1:int) ->
            if x1 = 0 then fun (x2:int) -> if x2 = 0 then 0 else 1
            else fun (x2:int) -> 0}
File ref.mlw:
  Line 18:
    Normal execution of function `contents` with args:
      arg = {contents=
             fun (x1:int) ->
              if x1 = 0 then fun (x2:int) -> if x2 = 0 then 0 else 1
              else fun (x2:int) -> 0}
File maps_mono.mlw:
  Line 53:
    Normal execution of function `set` with args:
      f = fun (x1:int) ->
           if x1 = 0 then fun (x2:int) -> if x2 = 0 then 0 else 1
           else fun (x2:int) -> 0
      x = 0
      v = fun (x1:int) -> 0
    Normal execution of function `(:=)` with args:
      r = {contents=
           fun (x1:int) ->
            if x1 = 0 then fun (x2:int) -> if x2 = 0 then 0 else 1
            else fun (x2:int) -> 0}
      v = (fun y -> if pure { if y = x1 then True else False } then v1
             else f1 y) with f1 = fun (x2:int) ->
                                   if x2 = 0
                                   then fun (x3:int) ->
                                         if x3 = 0 then 0 else 1
                                   else fun (x3:int) -> 0, x1 = 0, v1 = fun
                                                                    (x2:
                                                                    int) -> 0
  Line 51:
    Property failure at postcondition of `test_map_multidim1` with:
      x = {contents=
           (fun y -> if pure { if y = x1 then True else False } then v1
              else f1 y) with f1 = fun (x2:int) ->
                                    if x2 = 0
                                    then fun (x3:int) ->
                                          if x3 = 0 then 0 else 1
                                    else fun (x3:int) -> 0, x1 = 0, v1 = fun
                                                                    (x2:
                                                                    int) -> 0}

<check_ce:categorization>Categorizations of models:
- Checked model 0: INCOMPLETE
  - Concrete RAC: NORMAL
  - Abstract RAC: INCOMPLETE (terminated because Postcondition of `set` cannot be evaluated)
- Selected model 1: NC
  - Concrete RAC: FAILURE (postcondition at "bench/check-ce/maps_mono.mlw", line 56, characters 14-88)
  - Abstract RAC: FAILURE (postcondition at "bench/check-ce/maps_mono.mlw", line 56, characters 14-88)
File "bench/check-ce/maps_mono.mlw", line 56, characters 14-88:
Sub-goal Postcondition of goal test_map_multidim2'vc.
Prover result is: Unknown (unknown + incomplete) (1907 steps).
The program does not comply to the verification goal, for example during the
  following execution:
File int.mlw:
  Line 13:
    Constant zero initialization
    zero = 0
  Line 14:
    Constant one initialization
    one = 1
File maps_mono.mlw:
  Line 55:
    x = {contents=
         fun (x2:int) ->
          if x2 = 0 then fun (x3:int) -> if x3 = 0 then 3 else 1
          else if x2 = 1 then fun (x3:int) -> if x3 = 1 then 3 else 0
               else fun (x3:int) -> 0}
    x = {contents=
         fun (x2:int) ->
          if x2 = 0 then fun (x3:int) -> if x3 = 0 then 3 else 1
          else if x2 = 1 then fun (x3:int) -> if x3 = 1 then 3 else 0
               else fun (x3:int) -> 0}
    Execution of main function `test_map_multidim2` with env:
      x = {contents=
           fun (x2:int) ->
            if x2 = 0 then fun (x3:int) -> if x3 = 0 then 3 else 1
            else if x2 = 1 then fun (x3:int) -> if x3 = 1 then 3 else 0
                 else fun (x3:int) -> 0}
      zero = 0
      one = 1
  Line 58:
    Normal execution of function `(!)` with args:
      r = {contents=
           fun (x2:int) ->
            if x2 = 0 then fun (x3:int) -> if x3 = 0 then 3 else 1
            else if x2 = 1 then fun (x3:int) -> if x3 = 1 then 3 else 0
                 else fun (x3:int) -> 0}
File ref.mlw:
  Line 18:
    Normal execution of function `contents` with args:
      arg = {contents=
             fun (x2:int) ->
              if x2 = 0 then fun (x3:int) -> if x3 = 0 then 3 else 1
              else if x2 = 1 then fun (x3:int) -> if x3 = 1 then 3 else 0
                   else fun (x3:int) -> 0}
File maps_mono.mlw:
  Line 58:
    Normal execution of function `get` with args:
      f = fun (x2:int) ->
           if x2 = 0 then fun (x3:int) -> if x3 = 0 then 3 else 1
           else if x2 = 1 then fun (x3:int) -> if x3 = 1 then 3 else 0
                else fun (x3:int) -> 0
      x = 0
  Line 29:
    Normal execution of function `(@)` with args:
      u = fun (x2:int) ->
           if x2 = 0 then fun (x3:int) -> if x3 = 0 then 3 else 1
           else if x2 = 1 then fun (x3:int) -> if x3 = 1 then 3 else 0
                else fun (x3:int) -> 0
      u = 0
  Line 59:
    Normal execution of function `set` with args:
      f = fun (x2:int) -> if x2 = 0 then 3 else 1
      x = 0
      v = 3
  Line 60:
    Normal execution of function `(!)` with args:
      r = {contents=
           fun (x2:int) ->
            if x2 = 0 then fun (x3:int) -> if x3 = 0 then 3 else 1
            else if x2 = 1 then fun (x3:int) -> if x3 = 1 then 3 else 0
                 else fun (x3:int) -> 0}
File ref.mlw:
  Line 18:
    Normal execution of function `contents` with args:
      arg = {contents=
             fun (x2:int) ->
              if x2 = 0 then fun (x3:int) -> if x3 = 0 then 3 else 1
              else if x2 = 1 then fun (x3:int) -> if x3 = 1 then 3 else 0
                   else fun (x3:int) -> 0}
File maps_mono.mlw:
  Line 60:
    Normal execution of function `set` with args:
      f = fun (x2:int) ->
           if x2 = 0 then fun (x3:int) -> if x3 = 0 then 3 else 1
           else if x2 = 1 then fun (x3:int) -> if x3 = 1 then 3 else 0
                else fun (x3:int) -> 0
      x = 0
      v = (fun y -> if pure { if y = x then True else False } then v
             else f y) with f = fun (x2:int) -> if x2 = 0 then 3 else 1, x = 0, v = 3
    Normal execution of function `(:=)` with args:
      r = {contents=
           fun (x2:int) ->
            if x2 = 0 then fun (x3:int) -> if x3 = 0 then 3 else 1
            else if x2 = 1 then fun (x3:int) -> if x3 = 1 then 3 else 0
                 else fun (x3:int) -> 0}
      v = (fun y -> if pure { if y = x1 then True else False } then v1
             else f1 y) with f1 = fun (x2:int) ->
                                   if x2 = 0
                                   then fun (x3:int) ->
                                         if x3 = 0 then 3 else 1
                                   else if x2 = 1
                                        then fun (x3:int) ->
                                              if x3 = 1 then 3 else 0
                                        else fun (x3:int) -> 0, x1 = 0, v1 = (fun y1 -> if pure { 
                                                                    if 
                                                                    y1 = x
                                                                    then True
                                                                    else False } then v
                                                                    else f y1) with f = fun
                                                                    (x2:
                                                                    int) ->
                                                                    if 
                                                                    x2 = 0
                                                                    then 3
                                                                    else 1, x = 0, v = 3
  Line 56:
    Property failure at postcondition of `test_map_multidim2` with:
      x = {contents=
           (fun y -> if pure { if y = x1 then True else False } then v1
              else f1 y) with f1 = fun (x2:int) ->
                                    if x2 = 0
                                    then fun (x3:int) ->
                                          if x3 = 0 then 3 else 1
                                    else if x2 = 1
                                         then fun (x3:int) ->
                                               if x3 = 1 then 3 else 0
                                         else fun (x3:int) -> 0, x1 = 0, v1 = (fun y1 -> if pure { 
                                                                    if 
                                                                    y1 = x
                                                                    then True
                                                                    else False } then v
                                                                    else f y1) with f = fun
                                                                    (x2:
                                                                    int) ->
                                                                    if 
                                                                    x2 = 0
                                                                    then 3
                                                                    else 1, x = 0, v = 3}

<check_ce:categorization>Categorizations of models:
- Checked model 0: INCOMPLETE
  - Concrete RAC: NORMAL
  - Abstract RAC: INCOMPLETE (terminated because Postcondition of `set` cannot be evaluated)
- Selected model 1: NC
  - Concrete RAC: FAILURE (postcondition at "bench/check-ce/maps_mono.mlw", line 63, characters 14-54)
  - Abstract RAC: FAILURE (postcondition at "bench/check-ce/maps_mono.mlw", line 63, characters 14-54)
File "bench/check-ce/maps_mono.mlw", line 63, characters 14-54:
Sub-goal Postcondition of goal proj_map_test1'vc.
Prover result is: Unknown (unknown + incomplete) (1447 steps).
The program does not comply to the verification goal, for example during the
  following execution:
File int.mlw:
  Line 13:
    Constant zero initialization
    zero = 0
  Line 14:
    Constant one initialization
    one = 1
File maps_mono.mlw:
  Line 62:
    x = {contents=
         fun (x2:int) -> if x2 = 0 then 3 else if x2 = 1 then 3 else 0}
    x = {contents=
         fun (x2:int) -> if x2 = 0 then 3 else if x2 = 1 then 3 else 0}
    Execution of main function `proj_map_test1` with env:
      x = {contents=
           fun (x2:int) -> if x2 = 0 then 3 else if x2 = 1 then 3 else 0}
      zero = 0
      one = 1
  Line 65:
    Normal execution of function `(!)` with args:
      r = {contents=
           fun (x2:int) -> if x2 = 0 then 3 else if x2 = 1 then 3 else 0}
File ref.mlw:
  Line 18:
    Normal execution of function `contents` with args:
      arg = {contents=
             fun (x2:int) -> if x2 = 0 then 3 else if x2 = 1 then 3 else 0}
File maps_mono.mlw:
  Line 65:
    Normal execution of function `set` with args:
      f = fun (x2:int) -> if x2 = 0 then 3 else if x2 = 1 then 3 else 0
      x = 0
      v = 3
    Normal execution of function `(:=)` with args:
      r = {contents=
           fun (x2:int) -> if x2 = 0 then 3 else if x2 = 1 then 3 else 0}
      v = (fun y -> if pure { if y = x then True else False } then v
             else f y) with f = fun (x2:int) ->
                                 if x2 = 0 then 3
                                 else if x2 = 1 then 3 else 0, x = 0, v = 3
  Line 63:
    Property failure at postcondition of `proj_map_test1` with:
      x = {contents=
           (fun y -> if pure { if y = x then True else False } then v
              else f y) with f = fun (x2:int) ->
                                  if x2 = 0 then 3
                                  else if x2 = 1 then 3 else 0, x = 0, v = 3}

<check_ce:categorization>Categorizations of models:
- Checked model 0: INCOMPLETE
  - Concrete RAC: NORMAL
  - Abstract RAC: INCOMPLETE (terminated because Postcondition of `set2` cannot be evaluated)
- Selected model 1: NC
  - Concrete RAC: FAILURE (postcondition at "bench/check-ce/maps_mono.mlw", line 68, characters 14-56)
  - Abstract RAC: FAILURE (postcondition at "bench/check-ce/maps_mono.mlw", line 68, characters 14-56)
File "bench/check-ce/maps_mono.mlw", line 68, characters 14-56:
Sub-goal Postcondition of goal proj_map_test2'vc.
Prover result is: Unknown (unknown + incomplete) (1564 steps).
The program does not comply to the verification goal, for example during the
  following execution:
File int.mlw:
  Line 13:
    Constant zero initialization
    zero = 0
  Line 14:
    Constant one initialization
    one = 1
File maps_mono.mlw:
  Line 67:
    x = {contents=
         fun (x2:int) ->
          if x2 = 0 then True else if x2 = 1 then True else False}
    x = {contents=
         fun (x2:int) ->
          if x2 = 0 then True else if x2 = 1 then True else False}
    Execution of main function `proj_map_test2` with env:
      x = {contents=
           fun (x2:int) ->
            if x2 = 0 then True else if x2 = 1 then True else False}
      zero = 0
      one = 1
  Line 70:
    Normal execution of function `True` with args:
    Normal execution of function `(!)` with args:
      r = {contents=
           fun (x2:int) ->
            if x2 = 0 then True else if x2 = 1 then True else False}
File ref.mlw:
  Line 18:
    Normal execution of function `contents` with args:
      arg = {contents=
             fun (x2:int) ->
              if x2 = 0 then True else if x2 = 1 then True else False}
File maps_mono.mlw:
  Line 70:
    Normal execution of function `set` with args:
      f = fun (x2:int) ->
           if x2 = 0 then True else if x2 = 1 then True else False
      x = 0
      v = true
    Normal execution of function `(:=)` with args:
      r = {contents=
           fun (x2:int) ->
            if x2 = 0 then True else if x2 = 1 then True else False}
      v = (fun y -> if pure { if y = x2 then True else False } then v2
             else f2 y) with f2 = fun (x3:int) ->
                                   if x3 = 0 then True
                                   else if x3 = 1 then True else False, x2 = 0, v2 = true
  Line 68:
    Property failure at postcondition of `proj_map_test2` with:
      x = {contents=
           (fun y -> if pure { if y = x2 then True else False } then v2
              else f2 y) with f2 = fun (x3:int) ->
                                    if x3 = 0 then True
                                    else if x3 = 1 then True else False, x2 = 0, v2 = true}

<check_ce:categorization>Categorizations of models:
- Checked model 0: BAD_CE
  - Concrete RAC: NORMAL
  - Abstract RAC: NORMAL
- Selected model 1: NC
  - Concrete RAC: FAILURE (postcondition at "bench/check-ce/maps_mono.mlw", line 79, characters 3-31)
  - Abstract RAC: FAILURE (postcondition at "bench/check-ce/maps_mono.mlw", line 79, characters 3-31)
File "bench/check-ce/maps_mono.mlw", line 79, characters 3-31:
Goal t1.
Prover result is: Unknown (unknown + incomplete) (771 steps).
The program does not comply to the verification goal, for example during the
  following execution:
File maps_mono.mlw:
  Line 78:
    t = fun (x3:int) -> if x3 = 0 then 43 else 0
    i = 0
    t = fun (x3:int) -> if x3 = 0 then 43 else 0
    i = 0
    Execution of main function `t1'goal` with env:
      i = 0
      t = fun (x3:int) -> if x3 = 0 then 43 else 0
Unknown location:
    Normal execution of function `Tuple0` with args:
File maps_mono.mlw:
  Line 79:
    Property failure at postcondition of `t1'goal1` with:
      i = 0
      t = fun (x3:int) -> if x3 = 0 then 43 else 0

