simplified the assertions to make their semantics well specified