main postcondition