In the context of abstract algebra or universal algebra, a monomorphism is an injective homomorphism. A monomorphism from X to Y is often denoted with the notation .
In the more general setting of category theory, a monomorphism (also called a monic morphism or a mono) is a left-cancellative morphism, that is, an arrow f : X → Y such that, for all morphisms g1, g2 : Z → X,
Monomorphisms are a categorical generalization of injective functions (also called "one-to-one functions"); in some categories the notions coincide, but monomorphisms are more general, as in the examples below.
The categorical dual of a monomorphism is an epimorphism, i.e. a monomorphism in a category C is an epimorphism in the dual category Cop. Every section is a monomorphism, and every retraction is an epimorphism.
Left invertible morphisms are necessarily monic: if l is a left inverse for f (meaning l is a morphism and ), then f is monic, as
A left invertible morphism is called a split mono.
Polymorphism in biology and zoology is the occurrence of two or more clearly different morphs or forms, also referred to as alternative phenotypes, in the population of a species. In order to be classified as such, morphs must occupy the same habitat at the same time and belong to a panmictic population (one with random mating).
Three mechanisms may cause polymorphism:
Polymorphism as used in zoology and biology involves morphs of the phenotype. The term genetic polymorphism is also used somewhat differently by geneticists and molecular biologists to describe certain mutations in the genotype, such as SNPs (with detection methods RFLPs and AFLPs), that may not always correspond to a phenotype but always corresponds to a branch in the genetic tree. See below.
In programming languages and type theory, polymorphism (from Greek πολύς, polys, "many, much" and μορφή, morphē, "form, shape") is the provision of a single interface to entities of different types. A polymorphic type is one whose operations can also be applied to values of some other type, or types. There are several fundamentally different kinds of polymorphism: