library L {
	function pub() public pure returns (uint) {
		return 7;
	}
	function inter() internal pure returns (uint) {
		return 8;
	}
}

function fu() pure returns (uint, uint) {
	return (L.pub(), L.inter());
}

contract C {
	function f() public pure {
		(uint x, uint y) = fu();
		assert(x == 7); // should hold but SMTChecker doesn't implement delegatecall
		assert(y == 9); // should fail
	}
}
// ====
// SMTEngine: all
// ----
// Warning 4588: (190-197): Assertion checker does not yet implement this type of function call.
// Warning 4588: (190-197): Assertion checker does not yet implement this type of function call.
// Warning 6328: (284-298): CHC: Assertion violation happens here.\nCounterexample:\n\nx = 8\ny = 8\n\nTransaction trace:\nC.constructor()\nC.f()\n    fu() -- internal call\n        L.inter() -- internal call
// Warning 6328: (363-377): CHC: Assertion violation happens here.\nCounterexample:\n\nx = 0\ny = 8\n\nTransaction trace:\nC.constructor()\nC.f()\n    fu() -- internal call\n        L.inter() -- internal call
// Warning 4588: (190-197): Assertion checker does not yet implement this type of function call.
