On Lattice Theory and Program Semantics