In this talk, I'll introduce Mechanism design. Mechanism design is based on bayesian game. A coordinator(designer) gives agents a (direct or indirect) mechanism and the agents(players) make the bayesian game from the mechanism. If the bayesian game has an equilibrium, then some social functions are implemented. From this implemented social functions, we can derive some results like Arrow's impossibility theorem, Gibbard-Satterthwaite theorem and so on. I'll introduce a proof of Arrow's impossibility theorem.