  We present an implementation in the Coq proof assistant of type directed
partial evaluation (TDPE) algorithms for call-by-name and call-by-value
versions of shift and reset delimited control operators, and in presence of
strong sum types. We prove that the algorithm transforms well-typed programs to
ones in normal form. These normal forms can not always be arrived at using the
so far known equational theories. The typing system does not allow answer-type
modification for function types and allows delimiters to be set on at most one
atomic type. The semantic domain for evaluation is expressed in Constructive
Type Theory as a dependently typed monadic structure combining Kripke models
and continuation passing style translations.
