訂正orz、
×: 結合則
○: 交換則

あとなんか式(1)は末尾再帰化可能な気がしてきたorz