// RUN: %boogie -noinfer -contractInfer -printAssignment -abstractHoudini:IA[ConstantProp] "%s" > "%t" // RUN: %diff "%s.expect" "%t" function {:existential true} Assert(x: bool) : bool; function {:existential true} b1(x: bool) : bool; function {:existential true} b2(x: bool) : bool; var myVar: int; procedure bar(i:int) modifies myVar; ensures b2(myVar>0); { call foo(5); } procedure foo (i:int) modifies myVar; ensures b1(myVar>0); ensures Assert(myVar!=-1); { if (i>0) { myVar := 5; } else { myVar := 0; } } // expected end assigment: Assert(x) = x, b1(x) = True, b2(x) = True