This paper proposes a new approach to writing and verifying
		      divide-and-conquer programs in Coq.  Extending the rich line of
		      previous work on algebraic approaches to recursion schemes, we
		      present an algebraic approach to divide-and-conquer recursion:
		      recursions are represented as a form of algebra, and from outer
		      recursions, one may initiate inner recursions that can construct
		      data upon which the outer recursions may legally
		      recurse. Termination is enforced entirely by the typing discipline
		      of our recursion schemes. Despite this, our approach requires little
		      from the underlying type system, and can be implemented in System
		      Fω plus a limited form of positive-recursive types.  Our
		      implementation of the method in Coq does not rely on structural
		      recursion or on dependent types. The method is demonstrated on
		      several examples, including mergesort, quicksort, Harper's
		      regular-expression matcher, and others.  An indexed version is also
		      derived, implementing a form of divide-and-conquer induction that
		      can be used to reason about functions defined via our method.