/* Generated by Frama-C */
/*@ logic ℤ f(ℤ x) = x+1;
 */
/*@ logic ℤ g(int x) = /* coercion to:ℤ */x+2;
 */
/*@ logic int h(int x) = x;
 */
/*@ lemma trivial: ∀ int x; f(/* coercion to:ℤ */x) ≡ g(x)-1;
 */
/*@
lemma trivial2:
  ∀ int x; f(/* coercion to:ℤ */x) ≡ /* coercion to:ℤ */h(x)+1;
 */
/*@ logic int o(int x) = (int)(/* coercion to:ℤ */x+2);
 */
/*@ logic ℤ o(ℤ x) = x+1;
 */
/*@ lemma overload1: ∀ int x; /* coercion to:ℤ */o(x) ≤ g(x);
 */
/*@ lemma overload2: ∀ ℤ x; o(x) ≡ f(x);
 */
/*@ type foo_t = Foo(ℤ);
 */
/*@ logic foo_t foo(int x) = Foo(/* coercion to:ℤ */x);
 */

