  We present a manifest contract system PCFv$\Delta$H with intersection types.
A manifest contract system is a typed functional calculus in which software
contracts are integrated into a refinement type system and consistency of
contracts is checked by combination of compile- and run-time type checking.
Intersection types naturally arise when a contract is expressed by a
conjunction of smaller contracts. Run-time contract checking for conjunctive
higher-order contracts in an untyped language has been studied but our typed
setting poses an additional challenge due to the fact that an expression of an
intersection type $\tau_1 \wedge \tau_2$ may have to perform different run-time
checking whether it is used as $\tau_1$ or $\tau_2$. We build PCFv$\Delta$H on
top of the $\Delta$-calculus, a Church-style intersection type system by
Liquori and Stolze. In the $\Delta$-calculus, a canonical expression of an
intersection type is a strong pair, whose elements are the same expressions
except for type annotations. To address the challenge above, we relax strong
pairs so that expressions in a pair are the same except for type annotations
and casts, which are a construct for run-time checking. We give a formal
definition of PCFv$\Delta$H and show its basic properties as a manifest
contract system: preservation, progress, and value inversion. Furthermore, we
show that run-time checking does not affect essential computation.
