abstract contract synthesis and verification in the symbolic k framework ∗ .
From Rewriting Logic, to Programming Language Semantics, to Program Verification