We introduce a method of deduction-based refinement planning where prefabricated general solutions are adapted to special problems. Refinement proceeds by stepwise transforming non-constructive problem specifications into executable plans. For each refinement step there is a correctness proof guaranteeing the soundness of refinement and with that the generation of provably correct plans. By solving the hard deduction problems once and for all on the abstract level, planning on the concrete level becomes more efficient. With that, our approach aims at making deductive planning feasible in realistic contexts. Our approach is based on a temporal logic framework that allows for the representation of specifications and plans on the same linguistic level. Basic actions and plans are specified using a programming language the constructs of which are formulae of the logic. Abstract solutions are represented as--possibly recursive--procedures. It is this common level of representation and the fluid transition between specifications and plans our refinement process basically relies upon.