The foundations of a verification system for concurrent Java programs written using the JCSP library are defined and investigated. To this end, the semantics of JCSP is modelled using the CSP process algebra (this step is only sketched here), and concurrent programs are composed from sequential ones. In order to obtain a deduction system, a calculus based on a structural operational semantics of sequential Java---originally used for JavaCard Dynamic Logic---is combined with a rewriting system for CSP. The present document concentrates on the latter rewriting system and introduces an extension of CSP that enables efficient symbolic execution.