Semantic Design-By-Contract pre-conditions and post-conditions