It seems intuitively clear that the effect of the following two methods are identical, if one ignores intermediate stages:
method print1()
{
print "hello, world\n";
}
method print2()
{
print "hello, ";
print "world";
print "\n";
}
Is there a way to assert the equivalence of side effects for these two methods?