Cardinal Characteristics Viewer

We display various constellations of cardinal characteristics as mentioned in the book MGKS (CCC Forcing Constructions for the Real Line by Diego A. Mejía, Martin Goldstern, Jakob Kellner, and Saharon Shelah. The Cichoń's Maximum models, pleasant and thorny, are the main contents of the book, see, e.g., the Introduction; the other models are mentioned in Appendix A.
A black arrow x→y\mathfrak x\rightarrow \mathfrak yx→y means x≤y\mathfrak x\le \mathfrak yx≤y, a red arrow x→y\mathfrak x\textcolor{red}{\rightarrow} \mathfrak yx→y means x<y\mathfrak x\lt \mathfrak yx<y. More specifically, it means that (we know that) the (in)equality is provable in ZFC (together with the selected assumption, if any), or that (we know that) it holds in the selected model (or class of models). Note that the purpose of this program is displaying diagrams, and not automatically proving (in)equalities. Still, the program should be able to deduce all inequalities that follow (in a purely order theoretic sense) from the given relations.

Data

Share a link that opens with this data already loaded:

Very large data makes a very long link — if it does not open correctly after sharing (e.g. through an app that truncates long links), use the option below instead:

You can modify the javascript constant const DEFAULT_DATA = ...; in the html file. Do not use the data as shown in the input field, but the text below (where backslashes have been escaped):

  • A line starting with # (leading whitespace OK) is a comment and ignored entirely.
  • Node: id: LaTeX @ x,y — position and LaTeX both optional. LaTeX is math mode.
  • Relations: You can state the basic relations in lines of the following form:
    • id <= id (≤; black arrow), id < id (strict <, red arrow), id = id (equal, blue double line), x=max(y,z) / x=min(y,z) (min/max is not displayed in the diagram directly, but used to calculate the relations).
    • Inequalities against a min/max are also allowed, e.g. x<=min(y,z), x<min(y,z), x>=min(y,z), x>min(y,z), and likewise with max in place of min — again, nothing new is drawn; these just feed into the same relation calculation as x=max(y,z)/x=min(y,z) above. Either side (or both) can be a min/max expression, so min(a,b)<min(b,c) and min(a,b)<=max(c,d) are also valid.
    • Multiple relations can be given seperated by ","
    • Alternatively, chains can be given: a<=b<c=e,x<e just expands to a<=b, b<c, c=e, x<e
    • This also works for the addition relation given in @set/@setvar, see below.
  • Selectable extra relation set: @set tag "Display name" rel, rel, ...
  • Nested variant (arbitrary depth): @setvar childtag parenttag "Child name" rel, rel, ... — parenttag is either a root @set's tag or another @setvar's tag, so variants can chain into a tree.
  • Batch form: @setvar tag1,tag2,tag3 pa,pb,pc "name" rel, rel, ... adds a child with the same name and relations to each parent — tag1 under pa, tag2 under pb, tag3 under pc — paired by position, so both lists must be the same length.
  • A @set/@setvar name is plain text by default; wrap part of it in $...$ to render that part as KaTeX math, e.g. "Assuming \$\mathfrak{a}\gt \aleph_1\$".
  • Description text, shown below the Relations dropdowns whenever tag is part of the current selection (descriptions of nested tags accumulate): &description tag1,tag2,...: followed by one or more lines of text (also \$...\$-aware).
    Use basediagram as the tag for text shown when nothing is selected.
    A description block ends at the next &description or &description_select line (or end of input) — add a line with just &enddescription to end it explicitly instead, so ordinary node/relation/@set lines can follow right after.
  • &description_select tag1,tag2,...: — same syntax, but shown only while tag is selected and it has variants that could be chosen but currently aren't (i.e. "— no variant —" is still the active choice at that level).
  • Description text also supports a tiny, fixed set of markup (everything else is shown literally, not interpreted as HTML): **bold**, *italic* or _italic_, [link text](https://...), and bullet lists (lines starting with - or * ). Blank lines separate paragraphs.

Models (or Assumptions)

Adds relations on top of the base diagram (cumulatively, if subselections are used).

View

Changes relative size of nodes vs arrows. Takes effect on next Apply.

Show/Hide Characteristics

Notes

Drag a node to reposition it. When several nodes form an equality cluster, an incoming or outgoing arrow attaches to whichever cluster member is currently closest to the other end.