Names on Nodes: MathML Definitions (Version 1.2)

T. Michael Keesey

P.O. Box 292304 Los Angeles, CA, USA 90027; keesey@gmail.com

First Draft Published Online 2009 July 29

Version 1.0 Published Online 2010 February 21

Version 1.2 Published Online 2010 April 2

Skip to the definitions.

Abstract

Phylogenetic nomenclature is a type of biological nomenclature which ties taxonomic names to taxa using algorithms that rely on phylogeny (i.e., patterns of ancestry and descent). Unlike earlier forms of biological nomenclature (e.g., Linnaean, rank-based), the application of a name to a taxon is unambiguous under an appropriate phylogenetic hypothesis. Phylogeny may be modeled as directed, acyclic graphs, with taxonomic units as vertices and immediate ancestor-descendant relations (i.e., parent-child relations) as arcs (directed edges) connecting them. Because phylogeny can be modeled mathematically, phylogenetic definitions may be expressed as mathematical formulae. Mathematical formulae, in turn, may be expressed using an extensible computer language called MathML. Expressing phylogenetic definitions in MathML requires the definition of certain entities. Here I review the relevant mathematical and biological concepts, terms, and notations, and provide an overview of MathML. I correlate these concepts to each other and, finally, define the entities needed to express phylogenetic definitions in MathML.

Introduction

History

Most of the phylogenetic and nomenclatural concepts are taken from the International Code of Phylogenetic Nomenclature (or, the PhyloCode for short) and literature cited by it. The initial discussions on creating a mathematical foundation for phylogenetic nomenclature took place circa 2001 on the PhyloCode Mailing List, with Nathan Wilson first suggesting algorithms for node- and branch-based definitions. In 2004, I began planning an application entitled Names on Nodes (originally Names on NEXUS) which would automate the application of phylogenetically-defined names to phylogenetic hypotheses, using the algorithms first proposed on the mailing list. I developed these concepts further and presented them at the Second International Phylogenetic Nomenclature Meeting at Yale University, New Haven, Connecticut in 2006. (See the report by Laurin and Cantino.) In 2007, I authored a paper entitled A Mathematical Approach to Defining Clade Names, with Potential Applications to Computer Storage and Processing, detailing the mathematical concepts and how they might be represented in MathML. This document represents a refinement of the concepts in my 2007 paper. Much is the same or similar. Differences include (but are not limited to):

Some concepts from my 2007 paper have been omitted (notably those involving distance metrics), but may be included in a future version.

Names on Nodes is an open-source project. The progress of the project, including this document, can be viewed online at http://code.google.com/p/namesonnodes/ (this website, older versions of the project) and http://bitbucket.org/keesey/namesonnodes-sa/ (the standalone version of the application).

A General Review of Mathematical Concepts, Terms, and Notation

Skip this section.

Some terminology and notation varies across different contexts. Where possible, I have followed MathML's terminology and default notation. Some exceptions have been made for certain logical symbols which are more easily read as words than as symbolic characters, e.g., and instead of , for all instead of , etc.

The symbol := means "is defined as".

Collections

A collection is an entity which consists of zero or more distinct objects. Objects in a collection are members of the collection. A collection with one member is a singleton.

Sets

Set with members. This diagram ilustrates the set {x, y, z}. Elements a and b are not members.

A set is an unordered collection. When an object, x, is a member of a set, S, this is denoted xS. Sets may themselves be members of other sets. Sets may be denoted in the following ways:

An intensional definition may explicitly limit members to a given superset: {xMammalia | x is extant}.

The empty set is the set which includes no members, denoted as .

If all members of a set, A, are members of a set, B, then A is a subset of B, denoted AB. B is a superset of A. Note that all sets are subsets and supersets of themselves. If AB and AB, then A is a proper subset of B, denoted AB, and B is a proper superset of A. Note that ∅ is a subset of all sets, and a proper subset of all nonempty sets.

Set operations. From top to bottom: union, intersection, and difference.

The operations of union, intersection, and difference may be applied to sets:

Examples. If A = {1, 2} and B = {2, 3}, then AB = {1, 2, 3}, AB = {2}, AB = {1}, and BA = {3}. Note that the order of arguments only matters for set difference.

A partition of a set, S, is a set of subsets of S, such that no sets in the partition overlap and all members of S are members of some set in the partition. A partition, P1, is a refinement of another partition, P2, if every member of P1 is a subset of some member of P2. P1 is finer than P2, and P2 is coarser than P1. This is written P1P2.

Example. If S = {1, 2, 3}, then the partitions of S are {∅, S}, {∅, {1}, {2, 3}}, {∅, {1, 2}, {3}}, {∅, {1, 3}, {2}}, and {∅, {1}, {2}, {3}}. The partition {∅, {1}, {2}, {3}} is a refinement of {∅, {1}, {2, 3}}, which is a refinement of {∅, S}.

The power set of a set, S, is the set of all subsets of S, denoted 2S.

Example. If S = {1, 2, 3}, then 2S = {∅, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, S}.

Lists

A list is an ordered collection of elements, denoted as a series of elements within brackets, e.g., [x, y, z]. Unlike sets, lists may have the same member multiple times, e.g., [x, x, y]. A list with two members is an ordered pair. A list with three members is an ordered triple. A list with n members is an n-tuple. The nth member of a list, p, is denoted pn.

Example. If p = [x, y, z], then p1 = x, p2 = y, and p3 = z. The list, p, is an ordered triple (3-tuple).

A Cartesian product of two sets, A and B, is the set of all ordered pairs wherein the first element is a member of A and the second element is a member of B. This product is denoted as A × B. The product A × A may also be denoted as A2. Cartesian products may be generalized to cover any whole number, n, of sets, in which case the members of the product are n-tuples.

Example. {1, 2} × {3, 4} = {[1, 3], [1, 4], [2, 3], [2, 4]}.

Relations

A relation is a set of ordered pairs. If [x, y] is a pair in the relation R, then this is denoted as x R y. The first element in such a pair may be termed the predecessor, and the second element the successor. If x R y and xy, then x is a proper predecessor of y and y is a proper successor of x. If x R z and there is no other element, y, such that x R y and y R z, then x is an immediate predecessor of z and z is an immediate successor of x.

The expression R[x] denotes the set {y | x R y}. For example, >[0] indicates the set of all negative numbers.

A partial order is a relation with the properties of reflexivity, antisymmetry, and transitivity:

The transitive closure of a relation, R, is the smallest (i.e., least inclusive) transitive relation that includes R. (If R is transtiive then it is its own transitive closure.)

If R is a partial order and x R y or y R x, then x and y are comparable. If all elements in a set can be compared to each other, then the set is a chain. If no two different elements in a set are comparable, then it is an antichain.

Graphs

Graphs. Circles represent vertices, lines represent edges, and arrows represent arcs (directed edges). From top to bottom, an undirected graph, a directed graph (or digraph) which is cyclic, and a directed graph which is acyclic.

A graph is an entity containing a set of objects, called vertices, and connections of the vertices, called edges. A graph may be defined as a type of ordered pair, in which the first element is the vertex set and the second element is the edge set: [V, E]. In an undirected graph, each edge is a set of two vertices, indicating that those vertices are connected, or incident. In a directed graph, or digraph, each edge is an ordered pair of vertices, indicating that the first element, or head, connects to the second element, or tail. Edges in directed graphs may also be called arcs.

A walk in a graph is a list of vertices in which each vertex is incident to the next vertex in the list. A path is a walk in a directed graph wherein some arc in the graph points from each vertex to the next vertex in the list. A cycle is a path which begins and ends with the same vertex. A directed graph is said to be acyclic if there are no cycles in it.

Functions

A function maps an element, called an argument, to a value. Formally, a function may be defined as an ordered triple of three sets: f := [X, Y, F]. The final set, F, is a set of ordered pairs, wherein the first element (a member of X) is the argument and the second element (a member of Y) is the value. There can be only one ordered pair per argument. If an ordered pair, [x, y], is a member of F, this may be denoted as f(x) = y. If the argument is a list, instead of f([a1, a2, … an]), it is customary to simply write f(a1, a2, … an). Sometimes this may be written a1 f a2 fan (infix notation).

The set including all of a function's arguments is the domain. All values of the function are within the codomain. The set of all values is the image, which is a subset of the codomain. If a function, f, has domain X and codomain Y, this is denoted as f: XY.

The composite of two functions, f and g, is a function which uses the value of g as an argument for f. Composition is written fg, so that (fg)(x) = f(g(x)). Note that the codomain of g must be a subset of the domain of f. If g : XY and f : YZ, then (fg) : XZ.

A General Review of Biological Concepts and Terms

Skip this section.

Taxonomic Units

Within the context of a study, life forms are divided into discrete sets. The finest sets (i.e., the sets which are not subdivided) may be referred to as taxonomic units or simply units. A unit may represent any of the following levels of biological organization:

In all cases, all members of a taxonomic unit must be related to each other in ways that do not involve organisms outside the unit.

It is important to emphasize that what constitutes a taxonomic unit is context-dependent. A unit in one context may be a superset of a unit in a different context.

An operational unit is a unit represented by concrete data. A hypothetical unit is a unit whose existence is inferred.

A unit may be considered extant (living as of or after a certain time) or extinct (no longer living at that time).

Taxonomy

A nonempty set of organisms is a taxon (plural: taxa). Taxonomic units are the least inclusive taxa used in a given context. A taxon may be conceptualized as a union of some number (one or more) of taxonomic units (which is how Names on Nodes treats them).

A taxon whose members are all within another taxon is a subtaxon of that other taxon. A taxon which includes all members of another taxon is a supertaxon of that taxon. The most inclusive taxon is the universal taxon, which is a superset of all taxa. A unit which is a subtaxon of another taxon is a subunit. (Note that there is no such thing as a "superunit"; if a taxon has subsets in a certain context, then it is not a unit.)

A taxonomy is a scheme or system for recognizing certain taxa and relating them as supertaxa and subtaxa (or, in some cases, overlapping taxa).

A taxon is extant if any of its members are extant, and extinct if all of it members are extinct.

A taxonomic name is a word or series of words which signifies a taxon. A nomenclatural code is a set of rules which taxonomic names may be governed by.

Specimens

In addition to taxonomic names, taxa may also be referenced using specimens. A specimen is an object which has been catalogued as part of a specimen collection. A specimen collection is often indicated by an abbreviation of its name, specified within the context, e.g., "Yale Peabody Museum: Vertebrate Paleontology Collection" may be abbreviated as "YPM-VP". A specimen within a collection may be indicated by the collection's name or abbreviation followed by an identifier that is unique within the collection, e.g., YPM-VP 1450. A specimen may have multiple identifiers if it has been transferred from one collection to another. For example, AMNH 973 and CM 9380 are the same specimen.

A specimen may represent no organisms (e.g., a mineralogical specimen), one organism (e.g., a fossil skeleton), or multiple organisms (e.g., a microbe slide).

Character States

Taxa may be defined intensionally using a description of a necessary criterion, that is, a character state. Organisms exhibiting the state are members of the taxon. Valid states must be discrete and absolute, that is, organisms cannot partially exhibit them.

Examples. "Cellular nucleus present" is a valid state, assuming that "cellular nucleus" has been defined in such a way that it cannot be only partially present. "Large leaf size" is not a valid state, since it is relative, not absolute.

Taxa may be defined using a set of character states. If all of the states are required for membership, the taxon is monothetic. If it is only required that one or more of the states be exhibited, the taxon is polythetic.

Phylogeny

Phylogeny as a graph. Circles (vertices) represent organisms or taxonomic units. Arrows (arcs) represent immediate descent.

Every organism has one or more ancestors and/or one or more descendants. An immediate ancestor is a parent, and an immediate descendant is a child. The pattern of ancestry and descent among organisms is phylogeny.

Taxa, including taxonomic units, may also be related in terms of ancestry and descent. If all members of one taxon, A, are ancestral to all members of another taxon, B, then A is ancestral to B.

A phylogenetic hypothesis is an arrangement of taxonomic units into ancestor-descendant relationships. The resolution of a phylogenetic hypothesis refers to the size of its taxonomic units. For example, a hypothesis with the highest resolution would use singleton units representing individual organisms, while a hypothesis with low resolution might use large taxa as units.

Phylogenetic hypotheses function as contexts wherein algorithms may be applied. Within such a context, immediate ancestor units may be called "parents" and immediate descendant units may be called "children", with the understanding that this is not necessarily the same as parents and children at the organismal level, depending on the resolution of the hypothesis.

Minimal and maximal units. At left, the minimal units are shown in black; at right, the maximal units.

Although a fuller correlation will be made further on, I note here that the biological term "ancestor" correlates to the mathematical term "proper predecessor", and the biological term "descendant" correlates to the mathematical term "proper successor". Therefore, we may say that a predecessor of a taxonomic unit is any ancestor of that unit, or that unit itself. Conversely, a successor of a unit is any descendant of that unit, or that unit itself. I also note that the terms "maximal" and "minimal" may be applied to units with regard to their supertaxa. The minimal subunits of a taxon are those which are not descended from any other subunit. The maximal subunits of a taxon are those which are not ancestral to any other subunit.

The predecessors of a taxon constitute the union of all units which are predecessors of all subunits of that taxon. The successors of a taxon constitute the union of all units which are successors of all subunits of that taxon. The common predecessors of a taxon constitute the intersection of the predecessors of all subunits. The common successors of a taxon constitute the intersection of the successors of all subunits.

Predecessors. The left image highlights two units in the phylogeny. The center image shows their predecessors (including the units themselves). The right image shows their common predecessors.

Successors. The left image highlights two units in the phylogeny. The center image shows their successors (including the units themselves). The right image shows their common successors.

Exclusive Predecessors. The top left image indicates the internal taxon, and the top right image indicates the external taxon. The middle left image shows the internal predecessors, and the middle right image shows the external predecessors. The bottom image shows the exclusive predecessors.

Apomorphic Predecessors. From top to bottom: the representative taxon, the apomorphic taxon, the representative taxon's predecessors, and the apomorphic predecessors.

The exclusive predecessors of a taxon, A, with regard to another taxon, Z, constitute the common predecessors of A except any which are predecessors of any subunit of Z. A may be termed the internal taxon and Z may be termed the external taxon.

The apomorphic predecessors of a taxon, A, with regard to another (generally character-based) taxon, M, constitute the common predecessors of A which are also subunits of M. A may be termed the representative taxon and M may be termed the apomorphic taxon.

Lineages

A lineage is a sequence of taxonomic units wherein each unit is preceded by one of its parents and/or followed by one of its children.

The synapomorphic predecessors of a taxon, A, with regard to taxon M, constitute the union of all apomorphic predecessor units for which there is at least one lineage for every subunit of A satisfying the following conditions:

  1. The first unit in the lineage (i.e., the ancestor of all other units) is the apomorphic predecessor unit.
  2. The last unit in the lineage (i.e., the descendant of all other units) is the subunit of A.
  3. All units in the lineage are subunits of M.

Synapomorphic Predecessors. The synapomorphic predecessors, using the representative taxon and the apomorphic taxon from the previous figure.

Cladogens

Cladogens. From top to bottom: a specifier set (N1) and its node-based cladogen (N2); an internal taxon (B1), an external taxon (B2), and the resultant branch-based cladogen (B3); a representative taxon (S1), an apomorphic taxon (S2), and the resultant synapomorphic cladogen (S3).

A taxon which fulfills the following requirements (in a given phylogenetic context) is here termed a cladogen (new term; previously "cladogenetic set" in Keesey [2007]):

  1. No subunit of a cladogen can be ancestral to any other subunit.
  2. There must be at least one unit which is a common successor of all subunits of the cladogen.

All taxonomic units are cladogens, but larger cladogens may include multiple subunits.

A node-based cladogen consists of the maximal common predecessors of a taxon.

A branch-based cladogen consists of the minimal exclusive predecessors of an internal taxon with regard to an external taxon.

An apomorphy-based cladogen consists of the minimal synapomorphic predecessors of a representative taxon with regard to an apomorphic taxon.

Clades

If a taxon is the union of a cladogen and all descendants of all of the cladogen's subunits, then it is monophyletic. Monophyletic taxa are called clades.

A node-based clade consists of a node-based cladogen and all descendants of all of its subunits. A branch-based clade consists of a branch-based cladogen and all descendants of all of its subunits. An apomorphy-based clade consists of an apomorphy-based cladogen and all descendants of all of its subunits.

A crown clade is a type of clade wherein the minimal subunits form the node-based cladogen for some union of extant units. A total clade is a type of clade wherein the minimal subunits form the branch-based cladogen for some internal taxon whose subunits are all extant and some external taxon whose subunits are all extant. Every crown clade has a corresponding total clade where the internal taxon is the union of all extant subunits of the crown clade and the external taxon is the union of of all other extant units.

Crown and total clades. If the image at left represents all extant taxonomic units, then the image in the center represents a crown clade and the image at right represents the corresponding total clade.

Non-Clades

Non-clades. From top to bottom, using the same phylogeny as in the previous figure: a paraphyletic taxon, a stem taxon, and a polyphyletic taxon.

If a taxon's minimal subunits form a cladogen, but the taxon does not include all descendants of that cladogen, then it is paraphyletic. (Note that cladogens themselves are paraphyletic, with the exception of taxonomic units that have no descendants. Such terminal taxonomic units are clades themselves, since they consist of a cladogen and all of its descendants.)

A special type of paraphyletic taxon is a stem taxon, which is formed by subtracting a crown clade from its corresponding total clade.

If the minimal subunits of a taxon do not form a cladogen, then that taxon is polyphyletic.

Phylogeny-Based Nomenclature

A taxonomic name may be strictly defined under a phylogenetic hypothesis by using a phylogeny-based definition. Most commonly, such names refer to clades, but other types of taxa may also be phylogenetically referenced.

A phylogeny-based code is a nomenclatural code which may be used to govern phylogeny-based definitions. Currently there are no such codes in effect, but there is a draft of one called the International Code of Phylogenetic Nomenclature (or the PhyloCode, for short). This code is intended to go into effect in the next few years, exist alongside the rank-based codes, and govern clade names across all biological disciplines.

A General Review of MathML and Its Foundational Technologies

Skip this section.

Strings

A string is a sequence of characters. Strings which are meant to be interpreted by a computer are referred to as code. Literal strings are referred to as text. A string which identifies an object is a name.

URIs

A Uniform Resource Identifier, or URI, is a string identifying a resource on the Internet.

One of the most common types of URI is the Uniform Resource Locator, or URL, which specifies an address and a mechanism for retrieval. For example, a URL identifying this document is http://namesonnodes.org/ns/math/2009/ (http is the retrieval mechanism, i.e., Hypertext Transfer Protocol, and namesonnodes.org/ns/math/2009 is the address).

Another type of URL is the Uniform Resource Name, or URN, which functions as a location-independent name. For example, a URN identifying the species Homo sapiens Linnaeus 1758 is urn:lsid:ubio.org:namebank:109086.

For more on URIs, see these official specifications:

Namespaces

Generally, a namespace is a set of names, called local names, each of which has a single meaning in the context of the namespace. Namespaces are commonly identified using URIs, which then function as namespace identifiers. In some contexts, a shorter identifier may be equated with a URI.

A qualified name is an expression joining a namespace identifier with a local name. Different computer languages have different methods of joining these. Common conventions are to use one or two colons (":").

XML

Extensible Markup Language, or XML for short, is a specification for creating markup languages. Text in XML may be surrounded with tags: an opening tag, of the form <abc>, and a closing tag, of the form </abc>, where "abc" is the name of the tag. For example, in the XML expression <sentence>Hello, world!</sentence>, the text "Hello, world!" has been marked up by sentence tags. XML tags may also included nested tags, for example: <sentence><word>Hello</word>, <word>world</word>!</sentence>. The entire stucture consisting of an opening tag, content, and a closing tag is an element. Any elements within an element's content are child elements. An element with no content, an empty element, may be written as a self-closing tag: <abc/>.

Both opening and self-closing XML tags may be augmented with attributes, each of which pairs a name to a value: <tagName attrName="attrValue"/>. An XML tag may have any number of attributes, as long as they all have different names.

Tag and attribute names may be qualified names. Consider the following XML code:

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:m="http://www.w3.org/1998/Math/MathML">
   <head>
      <title>XML Namespaces Example<title>
   </head>
   <body>
      <div>This is XHTML.<div>
      <div>The following is MathML:<div>
      <m:math>
         <m:apply>
            <m:sin/>
            <m:ci>x</m:ci>
         </m:apply>
      </m:math>
   </body>
</html>

In this example, the default namespace is identified by http://www.w3.org/1999/xhtml, which identifies the XHTML namespace (for hypertext). A namespace identifier, m, is synonymized with http://www.w3.org/1998/Math/MathML, which identifies the MathML namespace (for mathematical formulae). Therefore, if a tag or attribute's name is unqualified, then it is interpreted as an XHTML name. If a tag or attribute's name is qualified by the prefix "m:", then it is interpreted as a MathML name.

For more on XML and XML namespaces, see these official specifications:

MathML

Mathematical Markup Language, or MathML, is an XML language for expressing mathematical concepts. Elements in MathML are divided into two major groups: MathML-Presentation, which contains information on how to render expressions visually, and MathML-Content, which models mathematical entities. Name on Nodes uses a relevant subset of MathML-Content.

An important element in MathML is the apply element. This indicates that the first child element is to be interpreted as an operation (i.e., a function, relation, etc.), and the subsequent child elements are to be used as arguments.

Example. The MathML element <apply xmlns="http://www.w3.org/1998/Math/MathML"><sin/><cn>0</cn></apply> indicates that the sine function (sin) is to be applied to the number, 0 (zero).

Other important elements are the ci (content identifier) and csymbol (content symbol) elements, which allow the creation of custom-defined mathematical entities. A ci element uses its textual content as a unique identifier, must be defined within the MathML document. A csymbol element has an attribute called definitionURL, which contains a URL that locates the symbol's definition. In Names on Nodes, the value of the definitionURL attribute may be a URL identifying a definition in this document, e.g., http://namesonnodes.org/ns/math/2009#def-UniversalTaxon. Both ci and csymbol elements may contain MathML-Presentation elements indicating how they are to be presented.

Example. The following MathML element defines the identifier <ci>Lycopodiophyta</ci> as a node-based clade consisting of all successors of the maximal common predecessors of the species Lycopodium clavatum, Huperzia selago, Isoëtes lacustris, and Selaginella apoda. (This is equivalent to Cantino et al.'s [2007] definition of the clade name "Lycopodiophyta".)

<declare xmlns="http://www.w3.org/1998/Math/MathML">
   <ci>Lycopodiophyta</ci>
   <apply>
      <csymbol definitionURL="http://namesonnodes.org/ns/math/2009#def-Clade"/>
      <apply>
         <union/>
         <ci>Lycopodium clavatum</ci>
         <ci>Huperzia selago</ci>
         <ci>Isoetes lacustris</ci>
         <ci>Selaginella apoda</ci>
      </apply>
   </apply>
</declare>

This assumes that the identifiers <ci>Lycopodium clavatum</ci>, <ci>Huperzia selago</ci>, <ci>Isoetes lacustris</ci>, and <ci>Selaginella apoda</ci> have been defined elsewhere. The entire expression might be presented visually as: Lycopodiophyta := Clade(Lycopodium clavatumHuperzia selagoIsoetes lacustrisSelaginella apoda).

For more on MathML, see this official specification: Mathematical Markup Language (MathML) Version 2.0 (Second Edition).

On the Correlation of Biological and Mathematical Terms

Skip this section.

Taxa and Sets

As mentioned, taxa are a type of set. Thus, the operations defined for sets may be employed with taxa. Let U be the universal taxon, the set that includes all organisms. To be a taxon, a set must be a nonempty subset of U. In the context of a particular hypothesis, U may be interpreted as the union of all taxonomic units.

A union of taxa, T1T2 ∪ … ∪ Tn, constitutes a polythetic taxon. An intersection of taxa, T1T2 ∩ … ∩ Tn, constitutes a monothetic taxon.

A set of taxonomic units is a partition on some subset of U. Such a set forms part of a phylogenetic hypothesis. The resolution of the hypothesis is determined by the fineness or coarseness of the set of taxonomic units.

Ancestry and Precedence

Parenthood may be defined as an antisymmetric, nontransitive relation. Let the relation ⊲ := {[x, y] | x is a parent of y}. The expression xy means that x is a parent, or immediate predecessor, of y. The inverse relation, , is childhood. The symmetric relation, , may be used thusly: xy if and only if xy or xy. The expression xy means that x is a parent of or equal to y, that is, x either immediately precedes or equals y. The expression ⊴[x] represents the set of x and all of its children (immediate successors).

Ancestry may be defined as the transitive closure of parenthood. Let the relation ≺ := {[x, y] | x is an ancestor of y}. The expression xy means that x is an ancestor, or proper predecessor, of y. The inverse relation, , is descent. The expression xy means that x is an ancestor of or equal to y, that is, x is a predecessor of y. The expression ≼[x] represents the set of x and all of its successors. The expression ≽[x] represents the set of x and all of its predecessors.

These relations may be used for organisms, or, in the context of a particular hypothesis, for taxonomic units.

Phylogeny and Graphs

A phylogenetic hypothesis may be modeled as a directed, acyclic graph (which correlates to a partially ordered set). Let T be a set whose members are all taxonomic units in the hypothesis. Then a phylogenetic graph may be defined as [T, ⊲] (with the understanding that is a context-specific version of the relation which only includes members of T2). The arcs (directed edges) in the graph point from parent units to their child units, so that the head of each arc is a parent and the tail of each arc is a child.

A path in a phylogenetic graph represents a lineage from ancestor to descendant. An xy path in a phylogenetic graph is a sequence of vertices (taxonomic units), p, of length n such that x = p1 and y = pn and p1p2 ⊲ … ⊲ pn.

A cladogen is an antichain in a phylogenetic graph wherein all subunits share at least one common successor. As noted earlier, each vertex in the graph (i.e., each taxonomic unit) is a cladogen.

Relatedness may be represented as an undirected graph. Let T be a set whose members are all taxonomic units in a phylogenetic hypothesis. Then a relatedness graph may be defined as [T, {{X, Y} ⊆ T | XY}]. If two vertices (taxonomic units) in this graph are connected, then they are in some way related. (Note that all known organisms are theorized to be related.)

Definitions of Mathematical Entities

Format

The following information is given for each entity defined in this document:

Phylogenetic Context

(The XML namespace http://www.w3.org/1998/Math/MathML is implicit throughout this section.)

All definitions assume the existence of a phylogenetic graph, [T, ⊲], where T is the set of all taxonomic units and is the relation of parent units (immediate predecessors) to child units (immediate successors). For the definition examples, let us assume the phylogenetic graph [T, ⊲] where T's members are:

The extant units are Crocodylus niloticus, Equus africanus, Equus ferus, Homo sapiens, Lacerta agilis, Ornithorhynchus anatinus, Struthio camelus, Testudo graeca, Tinamus major, Vespertilio murinus, Vultur gryphus, hinny, and mule. The union of these units may be referred to using the MathML code <ci><ms>extant</ms></ci>.

Let be defined for T as {[HTU1, Diadectes], [HTU1, HTU2], [HTU2, HTU3], [HTU2, HTU6], [HTU3, O. anatinus], [HTU3, HTU4], [HTU4, H. sapiens], [HTU4, HTU5], [HTU5, V. murinus], [HTU5, E. stenonis], [E. stenonis, E. africanus], [E. stenonis, E. ferus], [E. africanus, mule], [E. africanus, hinny], [E. ferus, mule], [E. ferus, hinny], [HTU6, T. graeca], [HTU6, L. agilis], [HTU6, HTU7], [HTU7, C. niloticus], [HTU7, HTU8], [HTU8, HTU9], [HTU8, HTU10], [HTU9, Dimorphodon], [HTU9, Pterodactylus], [HTU10, Tyrannosaurus], [HTU10, HTU11], [HTU11, Ichthyornis], [HTU11, HTU12], [HTU12, V. gryphus], [HTU12, HTU13], [HTU13, S. camelus], [HTU13, T. major]}.

Phylogenetic graph. An illustration of the phylogenetic graph [T, ⊲]. Taxonomic units that are extinct (as of 2010) are shown in the grey shaded area to the left; taxonomic units that are extant (as of 2010) are shown to the right.

Let us also define the apomorphic taxon "wings used for powered flight" as HTU9 ∪ HTU11 ∪ HTU12 ∪ HTU13DimorphodonIchthyornisPterodactylusTinamus majorVespertilio murinusVultur gryphus. This may be referred to using the MathML code <ci><ms>wings used for powered flight</ms></ci>.

Apomorphic taxon. The units in the apomorphic taxon "wings used for powered flight" are highlighted in black. Note that the trait arose three times, in the ancestors of chiropterans (bats), pterosaurs, and avians (birds), and that the trait was lost once, in the ancestors of Struthio camelus (ostriches).

Phylogenetic Graph

Definition URL http://namesonnodes.org/ns/math/2009#def-PhylogeneticGraph
Symbol P
Class List (Directed, Acyclic Graph)
Definition

T := the set of all taxonomic units.

⊲ := the relation of parent units to child units.

P := [T, ⊲].

Discussion

T is the set of all taxonomic units in the current phylogenetic context. This is not to be confused with U, which is the union of all taxonomic units in the current phylogenetic context.

The relation includes all ordered pairs (x, y) ∈ T2 such that x is an immediate ancestor (parent) of y.

P is a directed, acyclic graph, which serves as the phylogenetic context for all other entities defined herein. Thus, it must be define before any entities that depend on it are used. (See Example 2, below.)

Implementation

P may be any implementation of asmathema.collections.lists::FiniteList, usually asmathema.collections.lists::OrderedPair.

T may be any implementation of asmathema.collections.sets::FiniteSet, usually asmathema.collections.sets::HashSet.

may be any implementation of asmathema.collections.sets::FiniteSet and asmathema.collections.operators::Operator, usually asmathema.collections.sets::HashSet.

See also asmathema.collections.graphs::DAGSolver and asmathema.collections.graphs::GraphBuilder.

Example 1. Selected Member
MathML
<apply>
   <selector/>
   <csymbol definitionURL="http://namesonnodes.org/ns/math/2009#def-PhylogeneticGraph"/>
   <cn>2</cn>
</apply>
Formula P2
Discussion

This selects the second element of P, namely, the relation . The set T may be specified in a similar manner, using 1 instead of 2.

Example 2. Definition
MathML
<declare>
   <csymbol definitionURL="http://namesonnodes.org/ns/math/2009#def-PhylogeneticGraph"/>
   <list>
      <set>
         <ci>
            <mphantom><mo>HTU</mo><msub><mn>12</mn></msub></mphantom>
         </ci>
         <ci>
            <mphantom><mo>HTU</mo><msub><mn>13</mn></msub></mphantom>
         </ci>
         <ci>Vultur gryphus</ci>
         <ci>Tinamus major</ci>
         <ci>Struthio camelus</ci>
      </set>
      <set>
         <list>
            <ci>
               <mphantom><mo>HTU</mo><msub><mn>12</mn></msub></mphantom>
            </ci>
            <ci>Vultur gryphus</ci>
         </list>
         <list>
            <ci>
               <mphantom><mo>HTU</mo><msub><mn>12</mn></msub></mphantom>
            </ci>
            <ci>
               <mphantom><mo>HTU</mo><msub><mn>13</mn></msub></mphantom>
            </ci>
         </list>
         <list>
            <ci>
               <mphantom><mo>HTU</mo><msub><mn>13</mn></msub></mphantom>
            </ci>
            <ci>Tinamus major</ci>
         </list>
         <list>
            <ci>
               <mphantom><mo>HTU</mo><msub><mn>13</mn></msub></mphantom>
            </ci>
            <ci>Struthio camelus</ci>
         </list>
      </set>
   </list>
</declare>
Formula P := [{HTU12, HTU13, Vultur gryphus, Tinamus major, Struthio camelus}, {[HTU12, Vultur gryphus], [HTU12, HTU13], [HTU13, Tinamus major], [HTU13, Struthio camelus]}].
Discussion

This defines P as a directed, acyclic graph with five vertices and four arcs. This is a subgraph of the avian portion of the phylogeny used in other examples.

Universal Taxon

Definition URL http://namesonnodes.org/ns/math/2009#def-UniversalTaxon
Symbol U
Class Set
Definition
U := S
S ∈ T
Discussion

U is the universal taxon, the set of all organisms. Operationally, Names on Nodes interprets U as the union of all taxonomic units in the current phylogenetic context.

Note that this is different from T. The members of T are taxonomic units (which are themselves sets). The members of U are organisms.

Implementation org.namesonnodes.math::TaxonomicUnion
Example
MathML
<csymbol definitionURL="http://namesonnodes.org/ns/math/2009#def-UniversalTaxon"/>
Illustration
Discussion

In the example context, U = Crocodylus niloticusDiadectesDimorphodonEquus africanusEquus ferusEquus stenonisHomo sapiensIchthyornisLacerta agilisOrnithorhynchus anatinusPterodactylusStruthio camelusTestudo graecaTinamus majorTyrannosaurusVespertilio murinusVultur gryphus ∪ hinny ∪ mule ∪ HTU1 ∪ HTU2 ∪ HTU3 ∪ HTU4 ∪ HTU5 ∪ HTU6 ∪ HTU7 ∪ HTU8 ∪ HTU9 ∪ HTU10 ∪ HTU11 ∪ HTU12 ∪ HTU13.

Maximal

Definition URL http://namesonnodes.org/ns/math/2009#def-Maximal
Symbol max
Class Function
Definition

max : 2U → 2U
max(A) := {xA | for all yA, xy}

Discussion

The maximal members of a taxon comprise the union of all subunits which are not ancestral to any other subunit.

The concept of "maximal" correlates to what some authors have termed "last", "latest", or "most recent", as in "most recent common ancestor". However, unlike those other terms, "maximal" is not tied to chronology; the maximal members of a taxon are not necessarily contemporaries.

Other potential synonyms of "maximal" are "final", "terminal", or "leafmost".

The symbol for this function is the same as that of a MathML function, max; however, the MathML function's domain is the power set of real numbers, not the power set of the universal taxon.

Implementation org.namesonnodes.math.operations::Maximal
Example
MathML
<apply>
   <csymbol definitionURL="http://namesonnodes.org/ns/math/2009#def-Maximal"/>
   <csymbol definitionURL="http://namesonnodes.org/ns/math/2009#def-UniversalTaxon"/> 
</apply>
Illustration
Discussion

The maximal units of the universal taxon include all units with no descendants (proper successors). In the example context, this includes all taxonomic units except for the hypothetical taxonomic units and the species of Equus.

Minimal

Definition URL http://namesonnodes.org/ns/math/2009#def-Minimal
Symbol min
Class Function
Definition

min : 2U → 2U
min(A) := {xA | for all yA, xy}

Discussion

The minimal members of a taxon comprise the union of all subunits which are not descended from any other subunits.

The concept of "minimal" correlates to what some authors have termed "earliest", "first", or "least recent", as in "least recent common ancestor". However, unlike those other terms, "minimal" is not tied to chronology; the minimal members of a taxon are not necessarily contemporaries.

Other potential synonyms of "minimal" are "initial", "basalmost", or "rootmost".

The symbol for this function is the same as that of a MathML function, min; however, the MathML function's domain is the power set of real numbers, not the power set of the universal taxon.

Implementation org.namesonnodes.math.operations::Minimal
Example
MathML
<apply>
   <csymbol definitionURL="http://namesonnodes.org/ns/math/2009#def-Minimal"/>
   <csymbol definitionURL="http://namesonnodes.org/ns/math/2009#def-UniversalTaxon"/>
</apply>
Illustration
Discussion

The maximal units of the universal taxon include all units with no ancestors (proper predecessors). In the example context, this is equivalent to HTU1, the only unit with no ancestors.

Predecessor Union

Definition URL http://namesonnodes.org/ns/math/2009#def-PredecessorUnion
Symbol prc
Class Function
Definition

prc : 2U → 2U

prc(A) := {x ∈ U | for some yA, xy}

or
prc(A) := ≽[x]
xA
Discussion

The predecessor union of a taxon includes all members of that taxon as well as all ancestors of all members of that taxon.

The predecessor union of a taxon is always a superset of the predecessor intersection.

Implementation org.namesonnodes.math.operations::PredecessorUnion
Example
MathML
<apply>
   <csymbol definitionURL="http://namesonnodes.org/ns/math/2009#def-PredecessorUnion"/>
   <apply>
      <union/>
      <ci>Pterodactylus</ci>
      <ci>Vultur gryphus</ci>
   </apply>
</apply>
Illustration
Discussion

The predecessor union of Pterodactylus and Vultur gryphus (Andean condors) includes both of those units as well as every unit ancestral to either one of them, or to both.

Predecessor Intersection

Definition URL http://namesonnodes.org/ns/math/2009#def-PredecessorIntersection
Symbol prc
Class Function
Definition

prc : 2U → 2U

prc(A) := {x ∈ U | for all yA, xy}

or
prc(A) := ≽[x]
xA
Discussion

The predecessor intersection of a taxon includes all predecessors shared by all subunits of that taxon.

The predecessor intersection of a taxon is always a subset of the predecessor union.

Implementation org.namesonnodes.math.operations::PredecessorIntersection
Example
MathML
<apply>
   <csymbol definitionURL="http://namesonnodes.org/ns/math/2009#def-PredecessorIntersection"/>
   <apply>
      <union/>
      <ci>Pterodactylus</ci>
      <ci>Vultur gryphus</ci>
   </apply>
</apply>
Illustration
Discussion The predecessor intersection of Pterodactylus and Vultur gryphus (Andean condors) includes only those units which precede both of them. This is equivalent to the ancestral lineage of Ornithodira, the clade that includes Pterodactylus and Vultur gryphus.

Successor Union

Definition URL http://namesonnodes.org/ns/math/2009#def-SuccessorUnion
Symbol suc
Class Function
Definition

suc : 2U → 2U

suc(A) := {x ∈ U | for some yA, xy}

or
suc(A) := ≼[x]
xA
Discussion

The successor union of a taxon includes all subunits of that taxon as well as all descendants of all subunits of that taxon.

The successor union of a taxon is always a superset of the successor intersection.

Implementation org.namesonnodes.math.operations::SuccessorUnion
Example
MathML
<apply>
   <csymbol definitionURL="http://namesonnodes.org/ns/math/2009#def-SuccessorUnion"/>
   <apply>
      <union/>
      <ci>Equus stenonis</ci>
      <ci>Equus africanus</ci>
   </apply>
</apply>
Illustration
Discussion

The successor union of Equus stenonis and Equus africanus (asses) includes both of those units as well as every unit descended from either one of them, or from both. Since Equus africanus is descended from Equus stenonis, this is the same as ≼[Equus stenonis].

Successor Intersection

Definition URL http://namesonnodes.org/ns/math/2009#def-SuccessorIntersection
Symbol suc
Class Function
Definition

suc : 2U → 2U

suc(A) := {x ∈ U | for all yA, xy}

or
suc(A) := ≼[x]
xA
Discussion

The successor intersection of a taxon includes all all shared successors of all subunits of that taxon.

The successor intersection of a taxon is always a subset of the successor union.

Implementation org.namesonnodes.math.operations::SuccessorIntersection
Example
MathML
<apply>
   <csymbol definitionURL="http://namesonnodes.org/ns/math/2009#def-SuccessorIntersection"/>
   <apply>
      <union/>
      <ci>Equus stenonis</ci>
      <ci>Equus africanus</ci>
   </apply>
</apply>
Illustration
Discussion

The successor intersection of Equus stenonis and Equus africanus (asses) includes only the units that succeed both of them. Since Equus africanus is descended from Equus stenonis, this is the same as ≼[Equus africanus].

Exclusive Predecessors

Definition URL http://namesonnodes.org/ns/math/2009#def-ExclusivePredecessors
Symbol
Class Function
Definition

← : 2U × 2U → 2U

AZ := prc(A) − prc(Z)

Discussion

The exclusive predecessors of an internal taxon are all of its common predecessors minus the predecessor union of the external taxon.

If A has no common predecessors, or all of those common predecessors are also predecessors of Z, then AZ = ∅.

Implementation org.namesonnodes.math.operations::ExclusivePredecessors
Example
MathML
<apply>
   <csymbol definitionURL="http://namesonnodes.org/ns/math/2009#def-ExclusivePredecessors"/>
   <ci>Vultur gryphus</ci>
   <ci>Pterodactylus</ci>
</apply>
Illustration
Discussion

The predecessor intersection of Vultur gryphus (Andean condors) exclusive of the predecessor union of Pterodactylus forms a lineage. The minimal unit of this lineage forms the cladogen for a branch-based clade (Dinosauromorpha).

Synapomorphic Predecessors

Definition URL http://namesonnodes.org/ns/math/2009#def-SynapomorphicPredecessors
Symbol @
Class Function
Definition

@ : 2U × 2U → 2U

Let P(x, y) := the set of all xy paths in [T, ⊲].

Let V(p) := the set of all vertices in (i.e., members of) the path p.

M @ A := {x ∈ prc(A) | for all yA, there exists some p ∈ P(x, y) such that V(p) ⊆ M}

Discussion

Specifying synapomorphic predecessors requires two sets, one apomorphic (M) and the other representative (A).

If AM, then M @ A = ∅. There are also no synapomorphic predecessors if at least two members of A are in M due to convergence.

Implementation org.namesonnodes.math.operations::SynapomorphicPredecessors
Example
MathML
<apply>
   <csymbol definitionURL="http://namesonnodes.org/ns/math/2009#def-SynapomorphicPredecessors"/>
   <ci><ms>wings used for powered flight</ms></ci>
   <ci>Vultur gryphus</ci>
</apply>
Illustration
Discussion

The predecessors of Vultur gryphus which share wings used for powered flight synapomorphically with Vultur gryphus form a lineage of flying organisms. Note that this does not include any organisms with acquired flight independently. The minimal unit of this lineage (HTU11) forms the cladogen of an apomorphy-based clade (Avialae).

Clade

Definition URL http://namesonnodes.org/ns/math/2009#def-Clade
Symbol Clade
Class Function
Definition

Clade : 2U → 2U

Clade(A) := { (suc ∘ max ∘ prc)(A), if (suc ∘ min)(A) = ∅.
suc(A), otherwise.
Discussion

This function maps any taxon to a clade, or to the empty set. If the argument's minimal members do not form a cladogen, then Clade yields the successor union of the maximal common predecessors of the argument (i.e., a node-based clade). If they do form a cladogen, then Clade yields the successor union of the argument.

If (and only if) A has no common predecessors, then Clade(A) = ∅. Since all known organisms are theorized to descend from common ancestors, clades exist for all known taxa, in theory. Note that Clade(∅) = ∅.

Note that, for every clade K, Clade(K) = K.

Implementation org.namesonnodes.math.operations::Clade
Example 1. Ancestor-Based Clade
MathML
<apply>
   <csymbol definitionURL="http://namesonnodes.org/ns/math/2009#def-Clade"/>
   <ci>Equus ferus</ci>
</apply>
Illustration
Discussion

This evaluates to all successors of Equus ferus (horses), which includes hinny and mule. This is an ancestor-based clade, that is, the argument (specifier) is a cladogen. This type of definition is not common in practice, but possible in theory.

Example 2. Node-Based Clade
MathML
<apply>
   <csymbol definitionURL="http://namesonnodes.org/ns/math/2009#def-Clade"/>
   <apply>
      <union>
      <ci>Homo sapiens</ci>
      <ci>Ornithorhynchus anatinus</ci>
   </apply>
</apply>
Illustration
Discussion

This evaluates to all successors of the maximal common predecessors of Homo sapiens (humans) and Ornithorhynchus anatinus (platypuses). This is a node-based clade known as Mammalia.

Example 3. Node-Based Clade With Large Cladogen
MathML
<apply>
   <csymbol definitionURL="http://namesonnodes.org/ns/math/2009#def-Clade"/>
   <apply>
      <union>
      <ci><mtext>mule</mtext></ci>
      <ci><mtext>hinny</mtext></ci>
   </apply>
</apply>
Illustration
Discussion

This evaluates to all successors of the maximal common predecessors of mule and hinny. This is a node-based clade whose cladogen, in the example context, is Equus africanusEquus ferus. Note that, although the cladogen consists of two units, it is still a cladogen in the example context. Neither unit is ancestral to the other, and they both share at least one common successor (two, in fact).

Example 4. Branch-Based Clade
MathML
<apply>
   <csymbol definitionURL="http://namesonnodes.org/ns/math/2009#def-Clade"/>
   <apply>
      <csymbol definitionURL="http://namesonnodes.org/ns/math/2009#def-ExclusivePredecessors"/>
      <ci>Vultur gryphus</ci>
      <ci>Pterodactylus</ci>
   </apply>
</apply>
Illustration
Discussion

This evaluates to a clade including Vultur gryphus (Andean condors) and excluding Pterodactylus). This is a branch-based clade known as Dinosauromorpha. (Note, though, that the actual definition of Dinosauromorpha is different.)

Example 5. Apomorphy-Based Clade
MathML
<apply>
   <csymbol definitionURL="http://namesonnodes.org/ns/math/2009#def-Clade"/>
   <apply>
      <csymbol definitionURL="http://namesonnodes.org/ns/math/2009#def-SynapomorphicPredecessors"/>
      <ci><ms>wings used for powered flight</ms></ci>
      <ci>Vultur gryphus</ci>
   </apply>
</apply>
Illustration
Discussion

This evaluates to the a clade including all organisms to posses wings used for powered flight synapomorphic with those of Vultur gryphus (Andean condors). It also includes organisms whose ancestor possessed the synapomorphy, even if they themselves have lost it, e.g., Struthio camelus (ostriches). This is an apomorphy-based clade known as Avialae.

Crown Clade

Definition URL http://namesonnodes.org/ns/math/2009#def-CrownClade
Symbol Crown
Class Function
Definition

Crown : 2U × 2U → 2U

Crown(A, E) := Clade(Clade(A) ∩ E)

Discussion

Specifying a crown clade requires two taxa. One (A) is used to specify a bounding clade. The other (E) is used to indicate which units are to be considered extant. The crown clade is the node-based clade specified by the bounding clade's taxon's extant subunits.

The bounding clade is always a superset of the crown clade. This includes the possibility that the clades may be identical. If Clade(A) itself is a crown clade (using E as the criterion for being considered extant), then this function evaluates as A.

Implementation org.namesonnodes.math.operations::CrownClade
Example 1. Node-Modified Crown Clade
MathML
<apply>
   <csymbol definitionURL="http://namesonnodes.org/ns/math/2009#def-CrownClade">
   <apply>
      <union/>
      <ci>Tyrannosaurus</ci>
      <ci>Vultur gryphus</ci>
   </apply>
   <ci><ms>extant</ms></ci>
</apply>
Illustration
Discussion This is a node-modified crown clade definition. It specifies a node-based bounding clade: Clade(TyrannosaurusVultur gryphus), which has the name Tyrannoraptora. The extant subunits of Tyrannoraptora are used to specify the crown clade. The end result is the crown clade Aves.
Example 2. Branch-Modified Crown Clade
MathML
<apply>
   <csymbol definitionURL="http://namesonnodes.org/ns/math/2009#def-CrownClade">
   <apply>
      <csymbol definitionURL="http://namesonnodes.org/ns/math/2009#def-ExclusivePredecessors/>
      <ci>Vultur gryphus</ci>
      <ci>Pterodactylus</ci>
   </apply>
   <ci><ms>extant</ms></ci>
</apply>
Illustration
Discussion This is a branch-modified crown clade definition. It specifies a branch-based bounding clade: Clade(Vultur gryphusPterodactylus), which has the name Dinosauromorpha. The extant subunits of Dinosauromorpha are used to specify the crown clade. The end result is the crown clade Aves.
Example 3. Apomorphy-Modified Crown Clade
MathML
<apply>
   <csymbol definitionURL="http://namesonnodes.org/ns/math/2009#def-CrownClade">
   <apply>
      <csymbol definitionURL="http://namesonnodes.org/ns/math/2009#def-SynapomorphicPredecessors/>
      <ci><ms>wings used for powered flight</ms></ci>
      <ci>Vultur gryphus</ci>
   </apply>
   <ci><ms>extant</ms></ci>
</apply>
Illustration
Discussion This is an apomorphy-modified crown clade definition. It specifies an apomorphy-based bounding clade: Clade("wings used for powered flight" in Vultur gryphus), which has the name Avialae. The extant subunits of Avialae are used to specify the crown clade. The end result is the crown clade Aves.

Total Clade

Definition URL http://namesonnodes.org/ns/math/2009#def-TotalClade
Symbol Total
Class Function
Definition

Total : 2U × 2U → 2U

Let C := Crown(A, E).

Total(A, E) := Clade(C ← (EC)).

Implementation org.namesonnodes.math.operations::TotalClade
Discussion

Specifying a total clade requires two taxa. One (A) specifies the corresponding (internal) crown clade (C). The other (E) is used to indicate which units are to be considered extant. The total clade is a branch-based clade consisting of everything sharing more ancestry with the crown clade (C) than with anything else extant.

Example
MathML
<apply>
   <csymbol definitionURL="http://namesonnodes.org/ns/math/2009#def-TotalClade"/>
   <apply>
      <union/>
      <ci>Struthio camelus</ci>
      <ci>Vultur gryphus</ci>
   </apply>
   <csymbol definitionURL="urn:iso:8601::2010"/>
</apply>
Illustration
Discussion

Crown(Struthio camelusVultur gryphus, "extant") = Aves. Total(Aves, "extant") is a branch-based clade where avians are the internal specifiers and extant non-avians are the external specifiers. Since, in the example context, Crocodylus niloticus is the closest extant outgroup to Aves, this is equivalent to Clade(AvesC. niloticus). This total clade is known by several names, including Pan-Aves and Avemetatarsalia.

Appendix I.—Implemented MathML Elements

MathML-Content provides methods for modelling a wide variety of mathematical entities. Since Names on Nodes only deals with logic and set theory, only certain elements have been implemented. A subset of MathML-Presentation has also been implemented allowing for custom rendering of identifier (ci) and symbol (csymbol) elements. The following is a list of all MathML elements which have been implemented in Names on Nodes, with notes as necessary.

MathML (general)
math
MathML-Content
and
apply The type attribute may be set to "boolean", "fn", "list", or "set".
ci

The type attribute may be set to "boolean", "fn", "list", or "set".

cn

The type attribute may be set to "integer". Since the only use for numbers in this version of Names on Nodes is for selector arguments, only integers are necessary.

compose
csymbol

The definitionURL attribute must be set to one of the following:

  • A URL identified in the Definitions of Mathematical Entities section of this document.
  • A URI indicating a taxon or taxonomic name. Any URI not identified in this document is interpreted as a taxon.

The type attribute may be set to "fn", "list", or "set".

declare

The type attribute may be set to "boolean", "fn", "list", or "set".

emptyset

May be used wherever taxa may be used.

eq
false
implies
in
intersect
list
neq
not
notin
notprsubset
notsubset
or
otherwise
piece
piecewise

The type attribute may be set to "boolean", "fn", "list", or "set".

prsubset
selector
sep
set
setdiff
subset
true
union
xor
MathML-Presentation
merror
mfenced
mi
mn
mo
mover
mphantom mphantom elements may be used to indicate that the label of a taxonomic unit should not appear in charts (e.g., for hypothetical units).
mrow
ms
mspace
mstyle
msub
msubsup
msup
mtable
mtd
mtext
mtr
munder
munderover

Appendix II.—Equivalence Between Biological and Mathematical Terms

Biological Term Mathematical Term Notes
organism
or
individual
element
or
vertex
taxon set A taxon is a set of organisms.
subtaxon subset
supertaxon superset
taxonomic unit finest set
phylogenetic hypothesis directed, acyclic graph
or
partially-ordered set
ancestor proper predecessor
descendant proper successor
parent immediate predecessor
or
head
child immediate successor
or
tail
parent-child relation directed edge
or
arc
lineage path A path is a type of list. The members of a path constitue a chain.
cladogen antichain with a non-empty successor intersection
common ancestors predecessor intersection
common descendants successor intersection
basalmost
or
initial
or
rootmost
minimal
final
or
leafmost
or
terminal
maximal
polythetic taxon union
monothetic taxon intersection
related connected
filially related comparable

Supplementary Files

mathml.xml

This MathML file contains the context used in the definition examples of this document, along with a number of further examples. It may be opened with Names on Nodes: Standalone Version.