preliminary proof of the generalization
refactor: Rightarrow -> Arr
refactor: \text{Cppo} -> \Cppo
wording