The explanation of the fourth meaning (in computer science) is quite wrong, or at least misleading.
First of all, it is not limited to object-oriented programming (nor object-oriented languages), and second, "true" polymorphism does not involve (or require) separate implementations ("definitions") of a function for different types, the latter referred to as "overloading". (The compiler may in fact generate different implementations though.)
Polymorphism is a concept of Type Theory, and most functional programming languages also directly support it. Polymorphism as a programming concept or style can even be applied in programs written in languages like, say, C, although it is not really a feature of the programming language itself. (Besides functions, data types or structures can be polymorphic as well, like usually any container type, e.g. a list of something.)
I know this is not Wikipedia... ;-)