pragma experimental SMTChecker; contract C { uint y; function f() public { if (y != 1) g(); assert(y == 1); } function g() internal { y = 1; h(); } function h() internal { f(); assert(y == 1); } } // ----