If the database crashes at point 7, everything until point 4 (including) is already on disk. That is the guarantee that commit gives (assuming no special features like async commit are used).
During recovery basically the state after point 4 is restored.