Example is somewhat confused. It is not certain whether part-to-whole relation, namely parthood, should be distinguished from part-to-part relation. For the latter relation is just a parthood where the ‘whole’ side is a part of some other entity, at the same time.
To make the distinction required, you may define part-to-whole relation as a type-specific property, namely parthood*. Parthood* would be defined on the set product P×W, where W is any ‘proper’ wholes and P is any parts.
Then parthood* would not be a recursive property anymore, as you suggested. But this is not because recursive properties cannot be defined from the mathematical point of view, but we made our definition in a type-sensitive way.