# frama-c -wp [...]
[kernel] Parsing FRAMAC_SHARE/libc/__fc_builtin_for_normalization.i (no preprocessing)
[kernel] Parsing tests/wp_plugin/injector.c (with preprocessing)
[wp] Running WP plugin...
[wp] Loading driver 'share/wp.driver'
[wp] Collecting axiomatic usage
[wp] warning: Missing RTE guards
------------------------------------------------------------
  Function f
------------------------------------------------------------

Goal Instance of 'Pre-condition (file tests/wp_plugin/injector.c, line 13) in 'g'' in 'f' at call 'g' (file tests/wp_plugin/injector.c, line 54)
:
Assume { }
Prove: true.

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

Goal Instance of 'Pre-condition (file tests/wp_plugin/injector.c, line 13) in 'g'' in 'f' at call 'g' (file tests/wp_plugin/injector.c, line 56)
:
Assume {
  (* Domain *)
  Type: (is_sint32 out_0[k_1]).
  (* tests/wp_plugin/injector.c:54: Call 'g' *)
  Have: 33=out_0[0].
}
Prove: true.

------------------------------------------------------------
------------------------------------------------------------
  Function f with behavior FST_FAIL
------------------------------------------------------------

Goal Post-condition for 'FST_FAIL' 'qed_ok' in 'f':
Let x_0 = out_0[0].
Assume {
  (* Domain *)
  Type: (is_sint32 x_0) /\ (is_sint32 out_0[k_2]).
  (* Pre-condition for 'FST_FAIL' (file tests/wp_plugin/injector.c, line 23) in 'f' *)
  (* Pre-condition for 'FST_FAIL': *)
  Have: 33!=x_0.
}
Prove: true.

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

Goal Post-condition for 'FST_FAIL' 'qed_ok' in 'f':
Let x_0 = out_0[0].
Assume {
  (* Domain *)
  Type: (is_sint32 x_0) /\ (is_sint32 out_0[k_2]).
  (* Pre-condition for 'FST_FAIL' (file tests/wp_plugin/injector.c, line 23) in 'f' *)
  (* Pre-condition for 'FST_FAIL': *)
  Have: 33!=x_0.
}
Prove: true.

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

Goal Post-condition for 'FST_FAIL' 'qed_ok' in 'f':
Let x_0 = out_0[0].
Assume {
  (* Domain *)
  Type: (is_sint32 x_0) /\ (is_sint32 out_0[k_2]).
  (* Pre-condition for 'FST_FAIL' (file tests/wp_plugin/injector.c, line 23) in 'f' *)
  (* Pre-condition for 'FST_FAIL': *)
  Have: 33!=x_0.
}
Prove: true.

------------------------------------------------------------
------------------------------------------------------------
  Function f with behavior SND_FAIL
------------------------------------------------------------

Goal Post-condition for 'SND_FAIL' 'qed_ok' in 'f':
Let x_0 = out_0[1].
Assume {
  (* Domain *)
  Type: (is_sint32 x_0).
  (* Pre-condition for 'SND_FAIL' (file tests/wp_plugin/injector.c, line 28) in 'f' *)
  (* Pre-condition for 'SND_FAIL': *)
  Have: 33=out_0[0].
  (* Pre-condition for 'SND_FAIL' (file tests/wp_plugin/injector.c, line 29) in 'f' *)
  (* Pre-condition for 'SND_FAIL': *)
  Have: 33!=x_0.
}
Prove: true.

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

Goal Post-condition for 'SND_FAIL' 'qed_ok' in 'f':
Let x_0 = out_0[1].
Assume {
  (* Domain *)
  Type: (is_sint32 x_0).
  (* Pre-condition for 'SND_FAIL' (file tests/wp_plugin/injector.c, line 28) in 'f' *)
  (* Pre-condition for 'SND_FAIL': *)
  Have: 33=out_0[0].
  (* Pre-condition for 'SND_FAIL' (file tests/wp_plugin/injector.c, line 29) in 'f' *)
  (* Pre-condition for 'SND_FAIL': *)
  Have: 33!=x_0.
}
Prove: true.

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

Goal Post-condition for 'SND_FAIL' 'qed_ok' in 'f':
Let x_0 = out_0[1].
Assume {
  (* Domain *)
  Type: (is_sint32 x_0).
  (* Pre-condition for 'SND_FAIL' (file tests/wp_plugin/injector.c, line 28) in 'f' *)
  (* Pre-condition for 'SND_FAIL': *)
  Have: 33=out_0[0].
  (* Pre-condition for 'SND_FAIL' (file tests/wp_plugin/injector.c, line 29) in 'f' *)
  (* Pre-condition for 'SND_FAIL': *)
  Have: 33!=x_0.
}
Prove: true.

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

Goal Post-condition for 'SND_FAIL' 'qed_ok' in 'f':
Let x_0 = out_0[1].
Assume {
  (* Domain *)
  Type: (is_sint32 x_0).
  (* Pre-condition for 'SND_FAIL' (file tests/wp_plugin/injector.c, line 28) in 'f' *)
  (* Pre-condition for 'SND_FAIL': *)
  Have: 33=out_0[0].
  (* Pre-condition for 'SND_FAIL' (file tests/wp_plugin/injector.c, line 29) in 'f' *)
  (* Pre-condition for 'SND_FAIL': *)
  Have: 33!=x_0.
}
Prove: true.

------------------------------------------------------------
------------------------------------------------------------
  Function f with behavior SUCCESS
------------------------------------------------------------

Goal Post-condition for 'SUCCESS' 'qed_ok' in 'f':
Assume {
  (* Pre-condition for 'SUCCESS' (file tests/wp_plugin/injector.c, line 35) in 'f' *)
  (* Pre-condition for 'SUCCESS': *)
  Have: 33=out_0[0].
  (* Pre-condition for 'SUCCESS' (file tests/wp_plugin/injector.c, line 36) in 'f' *)
  (* Pre-condition for 'SUCCESS': *)
  Have: 33=out_0[1].
}
Prove: true.

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

Goal Post-condition for 'SUCCESS' 'qed_ok' in 'f':
Assume {
  (* Pre-condition for 'SUCCESS' (file tests/wp_plugin/injector.c, line 35) in 'f' *)
  (* Pre-condition for 'SUCCESS': *)
  Have: 33=out_0[0].
  (* Pre-condition for 'SUCCESS' (file tests/wp_plugin/injector.c, line 36) in 'f' *)
  (* Pre-condition for 'SUCCESS': *)
  Have: 33=out_0[1].
}
Prove: true.

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

Goal Post-condition for 'SUCCESS' 'qed_ok' in 'f':
Assume {
  (* Pre-condition for 'SUCCESS' (file tests/wp_plugin/injector.c, line 35) in 'f' *)
  (* Pre-condition for 'SUCCESS': *)
  Have: 33=out_0[0].
  (* Pre-condition for 'SUCCESS' (file tests/wp_plugin/injector.c, line 36) in 'f' *)
  (* Pre-condition for 'SUCCESS': *)
  Have: 33=out_0[1].
}
Prove: true.

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

Goal Post-condition for 'SUCCESS' 'qed_ok' in 'f':
Assume {
  (* Pre-condition for 'SUCCESS' (file tests/wp_plugin/injector.c, line 35) in 'f' *)
  (* Pre-condition for 'SUCCESS': *)
  Have: 33=out_0[0].
  (* Pre-condition for 'SUCCESS' (file tests/wp_plugin/injector.c, line 36) in 'f' *)
  (* Pre-condition for 'SUCCESS': *)
  Have: 33=out_0[1].
}
Prove: true.

------------------------------------------------------------
------------------------------------------------------------
  Function f with behavior ko
------------------------------------------------------------

Goal Post-condition for 'ko' 'qed_ko' in 'f':
Let x_0 = inp_0[0].
Let x_1 = out_0[0].
Assume {
  (* Domain *)
  Type: (is_sint32 b_0) /\ (is_sint32 v_2) /\ (is_sint32 x_0)
        /\ (is_sint32 inp_0[k_1]) /\ (is_sint32 x_1)
        /\ (is_sint32 out_0[k_1]).
  (* tests/wp_plugin/injector.c:55: Conditional *)
  If: 33!=x_1
  Then { (* Control Flow *) Have: inp_0=inp_10[0->v_2]. }
  Else {
    (* tests/wp_plugin/injector.c:56: Call Effects *)
    Have: inp_0=inp_10[0->v_2][1->b_0].
  }
}
Prove: b_0=x_0.

------------------------------------------------------------
------------------------------------------------------------
  Function f with behavior ko_1
------------------------------------------------------------

Goal Post-condition for 'ko_1' 'qed_ko' in 'f':
Assume {
  (* Pre-condition for 'ko_1' (file tests/wp_plugin/injector.c, line 44) in 'f' *)
  (* Pre-condition for 'ko_1': *)
  Have: 33=out_0[0].
  (* Pre-condition for 'ko_1' (file tests/wp_plugin/injector.c, line 45) in 'f' *)
  (* Pre-condition for 'ko_1': *)
  Have: 33=out_0[1].
}
Prove: false.

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

Goal Post-condition for 'ko_1' 'qed_ko' in 'f':
Assume {
  (* Domain *)
  Type: (is_sint32 v_0) /\ (is_sint32 v_2).
  (* Pre-condition for 'ko_1' (file tests/wp_plugin/injector.c, line 44) in 'f' *)
  (* Pre-condition for 'ko_1': *)
  Have: 33=out_0[0].
  (* Pre-condition for 'ko_1' (file tests/wp_plugin/injector.c, line 45) in 'f' *)
  (* Pre-condition for 'ko_1': *)
  Have: 33=out_0[1].
}
Prove: v_0=v_2.

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

Goal Post-condition for 'ko_1' 'qed_ko' in 'f':
Assume {
  (* Pre-condition for 'ko_1' (file tests/wp_plugin/injector.c, line 44) in 'f' *)
  (* Pre-condition for 'ko_1': *)
  Have: 33=out_0[0].
  (* Pre-condition for 'ko_1' (file tests/wp_plugin/injector.c, line 45) in 'f' *)
  (* Pre-condition for 'ko_1': *)
  Have: 33=out_0[1].
}
Prove: false.

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