Type [x:nat] Cases x of ((S x) as b) => Cases x of x => (S b x) end end.