Monotone function

https://arbital.com/p/poset_monotone_function

by Kevin Clancy Jul 22 2016 updated Dec 3 2016

An order-preserving map between posets.


Let and be posets. Then a function is said to be monotone (alternatively, order-preserving) if for all , implies .

Positive example

A simple monotone map phi

%%comment:
dot source:

digraph G {
  node [width = 0.1, height = 0.1]
  rankdir = BT;
  rank = same;
  compound = true;
  fontname="MathJax_Main";

  subgraph cluster_P {
    node [style=filled,color=white];
    edge [arrowhead = "none"];
    style = filled;
    color = lightgrey;
    fontcolor = black;
    label = "P";
    labelloc = b;
    b -> a;
    c -> a;

  }
  subgraph cluster_Q {
    node [style=filled];
    edge [arrowhead = "none"];
    color = black;
    fontcolor = black;
    label= "Q";
    labelloc = b;
    u -> t;
  }
  edge [color = blue, style = dashed]
  fontcolor = blue;
  label = "φ";  
  labelloc = t; 
  b -> t [constraint = false];
  a -> t [constraint = false];
  c -> u [constraint = false];
}

%%

Here is an example of a monotone map from a poset to another poset . Since has two comparable pairs of elements, and , there are two constraints that must satisfy to be considered monotone. Since , we need . This is, in fact, the case. Also, since , we need . This is also true.

Negative example

A simple, non-monotone map

%%comment:
dot source:

digraph G {
  node [width = 0.1, height = 0.1]
  rankdir = BT;
  rank = same;
  compound = true;
  fontname="MathJax_Main";

  subgraph cluster_P {
    node [style=filled,color=white];
    edge [arrowhead = "none"];
    style = filled;
    color = lightgrey;
    fontcolor = black;
    label = "P";
    labelloc = b;
    a -> b;
  }

  subgraph cluster_Q {
    node [style=filled];
    edge [arrowhead = "none"];
    color = black;
    fontcolor = black;
    label= "Q";
    labelloc = b;
    w -> u;
    w -> v;
    u -> t;
    v -> t;
  }
  edge [color = blue, style = dashed]
  fontcolor = blue;
  label = "φ";   
  labelloc = t;
  b -> u [constraint = false];
  a -> v [constraint = false];
}
%%

Here is an example of another map between two other posets and . This map is not monotone, because while .

Additional material

For some examples of montone functions and their applications, see Monotone function: examples. To test your knowledge of monotone functions, head on over to Monotone function: exercises.