CP Discrete Mathematics