# frama-c -wp -wp-model 'Typed (Ref)' [...]
[kernel] Parsing FRAMAC_SHARE/libc/__fc_builtin_for_normalization.i (no preprocessing)
[kernel] Parsing tests/wp_hoare/logicref.i (no preprocessing)
[wp] Running WP plugin...
[wp] Loading driver 'share/wp.driver'
[wp] Collecting axiomatic usage
[wp] warning: Missing RTE guards
[wp] Collecting variable usage
------------------------------------------------------------
  Function fvrange_n
------------------------------------------------------------

Goal Post-condition (file tests/wp_hoare/logicref.i, line 11) in 'fvrange_n':
Assume {
  (* Domain *)
  Type: (is_sint32 i_0) /\ (is_sint32 k_0).
  (* Heap *)
  Have: (linked Malloc_0) /\ ((region (base a_0))<=0).
  (* Pre-condition (file tests/wp_hoare/logicref.i, line 11) in 'fvrange_n' *)
  (* Pre-condition: *)
  Have: (i_0<k_0) /\ (0<=i_0) /\ (P_vrange Malloc_0 a_0 k_0).
  (* Assertion (file tests/wp_hoare/logicref.i, line 14) *)
  (* tests/wp_hoare/logicref.i:14: Assertion: *)
  Have: (valid_rw Malloc_0 (shift_sint32 a_0 i_0) 1).
}
Prove: true.

------------------------------------------------------------

Goal Assertion (file tests/wp_hoare/logicref.i, line 14):
Let a_0 = (shift_sint32 a_2 i_2).
Assume {
  (* Domain *)
  Type: (is_sint32 i_2) /\ (is_sint32 k_0) /\ (is_sint32 Mint_0[a_0]).
  (* Heap *)
  Have: (linked Malloc_1) /\ ((region (base a_2))<=0).
  (* Pre-condition (file tests/wp_hoare/logicref.i, line 11) in 'fvrange_n' *)
  (* Pre-condition: *)
  Have: (i_2<k_0) /\ (0<=i_2) /\ (P_vrange Malloc_1 a_2 k_0).
}
Prove: (valid_rw Malloc_1 a_0 1).

------------------------------------------------------------

Goal Assigns (file tests/wp_hoare/logicref.i, line 11) in 'fvrange_n':
Effect at line 15
Let a_1 = (shift_sint32 a_0 i_0).
Assume {
  (* Domain *)
  Type: (is_sint32 i_0) /\ (is_sint32 k_0) /\ (is_sint32 Mint_0[a_1]).
  (* Goal *)
  When: (valid_rd Malloc_0 a_1 1).
  (* Heap *)
  Have: (linked Malloc_0) /\ ((region (base a_0))<=0).
  (* Pre-condition (file tests/wp_hoare/logicref.i, line 11) in 'fvrange_n' *)
  (* Pre-condition: *)
  Have: (i_0<k_0) /\ (0<=i_0) /\ (P_vrange Malloc_0 a_0 k_0).
  (* Assertion (file tests/wp_hoare/logicref.i, line 14) *)
  (* tests/wp_hoare/logicref.i:14: Assertion: *)
  Have: (valid_rw Malloc_0 a_1 1).
}
Prove: true.

------------------------------------------------------------
------------------------------------------------------------
  Function gcd
------------------------------------------------------------

Goal Post-condition (file tests/wp_hoare/logicref.i, line 23) in 'gcd':
Assume {
  (* Domain *)
  Type: (is_sint32 gcd_0).
  (* Pre-condition (file tests/wp_hoare/logicref.i, line 23) in 'gcd' *)
  (* Pre-condition: *)
  Have: (P_P gcd_0).
}
Prove: true.

------------------------------------------------------------

Goal Assigns nothing in 'gcd':
Assume { }
Prove: true.

------------------------------------------------------------
