0* put weight in basket, throw it down (weight is on the ground now) 1: bring-the-kids-down (at the end the weight is in the tower) 2: 165 joins 90 into basket, 195 joins 75 into basket 3* bring 195 + 75 down while the 165 + 90 go up (pulley runs) 4: tell kids to go in tower, then queen must jump out (weight stays at ground level) 5: bring-the-kids-down (the weight ends up in tower) def bring-the-kids-down(): # preconditions: both kids are in the tower and the weight on the ground 1. bring-prince-down 2. prince jumps out of the basket, weight falls to the ground 3. bring-princess-down 4. bring-prince-down # postconditions: at the end prince is in basket, weight at tower height def bring-prince-down: # basket1: prince, tower; basket2: weight, ground prince -> ground, weight -> tower def bring-princess-down: # 165 in basket, tower; 90 + 75 in basket on ground 165 -> ground, 90 + 75 -> tower prince jumps, princess jumps, weight falls # prince in tower, weight, princess down