UMCP: A sound and complete planning procedure for hierarchical task-network planning