Mathematical / Proof Notation Languages Family Index
type: language-family-index family: math-notation languages_catalogued: 26 tags: [language-reference, family-index, math-notation, latex, mathml, asciimath, wolfram, openmath, typst, tikz, apl, iverson]
Mathematical / Proof Notation — Family Index
Family overview
This family is the set of encodings people use to put mathematics into a computer. Not the proof-tactic DSLs of Coq/Lean/Isabelle (those live in notation-spec) and not the general document-typesetting engines (those live in document-typesetting) — this index narrows on the math layer specifically: how you write a fraction, an integral, a commutative diagram, or a mathematical object so that a renderer or computer-algebra system can act on it. The two parents of the field are Donald Knuth’s TeX math mode (1978, born from his frustration with the Volume 2 galleys of The Art of Computer Programming) and the AMS-LaTeX macro layer (American Mathematical Society, 1990 — amsmath, amssymb, amsthm) which made journal-grade mathematics writable as logical markup. Every modern math-rendering pipeline — MathJax, KaTeX, Pandoc, Quarto, Jupyter, arXiv, Wikipedia — still treats LaTeX-flavored math as the lingua franca, including pipelines whose published output is HTML+MathML.
The parallel MathML lineage (W3C Math Working Group, 1998 first Recommendation; MathML 3.0 in 2010; MathML 4.0 still on the Recommendation track in 2026 with MathML Core advancing to CR — see W3C charter and mathml-core editor’s draft) was designed to give the web semantic mathematics with the same first-class structural representation HTML gives prose. In practice MathML 1–3 lost the rendering war to MathJax (Davide Cervone, Volker Sorge — v4.1.2 as of May 2026) and KaTeX (Khan Academy, 2014; v0.16.x stable in 2026), both of which accept LaTeX-ish source and emit (variously) HTML+CSS, SVG, or MathML output. The 2023 enabling of MathML Core in Chromium (joining Firefox and WebKit) finally made native browser MathML practical without polyfills, but the authoring layer in 2026 is still overwhelmingly LaTeX-flavored, with MathML acting as a transport and accessibility format more than an authoring one.
A deep design split runs through the family: presentation (how should the math look?) versus content / semantic (what does the math mean?). Presentation MathML, AsciiMath, TeX/LaTeX math, and Typst math are all presentation-layer. Content MathML, OpenMath (with its Content Dictionaries), and OMDoc (Kohlhase, KWARC, 1998+) are content-layer — they encode “this is the function sin applied to the variable x” rather than “place a sin glyph followed by an italic x.” Content forms are what you want for cross-system interchange (e.g. exporting from Mathematica into Maple, or from a theorem prover library into a Wikipedia article) but are too verbose for ordinary writing. The MMT format (Kohlhase et al.) extended OMDoc with formal foundations and is the reference implementation for active mathematical-knowledge management research.
A third tradition treats math notation as the programming language itself: APL (Iverson, 1962, full glyph alphabet from ⍳⍴⍒⌽⌹⍤), J (Iverson, 1990, ASCII-only successor), K/Q/kdb+ (Whitney, 1993+), and the Wolfram Language with its three-form authoring system (InputForm, StandardForm, FullForm — InputForm parses ASCII keyboard text, StandardForm renders 2D math typography in the front-end, FullForm exposes the underlying f[x, y] term tree). Iverson’s 1979 Turing-lecture paper “Notation as a Tool of Thought” (Comm. ACM, August 1980) is the manifesto. The lineage has produced more vocabulary than mainstream code (J, K, Q are now financial-quant standards; APL itself survives at Dyalog) but it remains the only family in the index where the mathematical notation is the executable program. Finally, the diagram-notation subfamily — TikZ + tikz-cd (Stefan Kottwitz, Felix Kuran et al.; tikz-cd by Florêncio Neves, currently maintained by the LaTeX community), xy-pic (Kristoffer Rose, 1991), and CD-LaTeX — encodes commutative diagrams and category-theory arrows that simple linear math notation cannot express. And Typst (Martin Haug & Laurenz Mädje, TU Berlin, 2023; v0.13 series in 2026) is the current credible challenger to TeX’s 48-year monopoly: cleaner math syntax (x_i reads as a subscript without entering math mode, mat(1, 2; 3, 4) defines a matrix, function calls replace macros, and incremental compilation makes errors tractable).
In our deep library
None of these notations have standalone deep-library notes — they are markup or interchange formats more than general-purpose programming languages. Cross-reference:
- document-typesetting — overlaps on TeX, LaTeX, ConTeXt, Typst, Pollen as typesetting engines. This index treats them as math input languages (i.e., the math-mode subset, AMS extensions, equation environments). Read both notes when researching either.
- notation-spec — overlaps on Z notation, B-method, VDM-SL, BNF/EBNF as specification / verification languages. This index covers them as mathematical notation systems (set-theoretic schema language, abstract machine notation, Backus-style grammar notation). The notation-spec note treats them as systems for proving and verifying; this note treats them as encodings of mathematical text.
- scientific — Mathematica, Maple, MATLAB, SymPy, Maxima, GAP, SageMath are catalogued there as computer-algebra systems. Here they appear only as far as their notation surface (Wolfram Language’s three forms, Maple’s 2D math input, MATLAB Symbolic Math Toolbox’s
latex()andpretty(), SymPy’spprint()). - notation-spec also catalogues the proof assistants (Coq/Rocq, Lean, Agda, Idris, Isabelle/HOL) — those are theorem-prover DSLs, not raw mathematical notation, and intentionally not duplicated here.
- esoteric — APL is sometimes listed there for its glyph alphabet; here it appears as the canonical “math notation as a programming language” entry.
Tier 3 family table
| Notation | First appeared | Origin | Type | Status (2026) | URL |
|---|---|---|---|---|---|
| TeX math mode | 1978 | Donald Knuth (Stanford) | Macro-expanded presentation markup; $...$ and $$...$$ delimiters; box-and-glue layout | Foundational; frozen-by-design but ubiquitous via pdfTeX, XeTeX, LuaTeX engines | https://www.tug.org/texlive/ |
AMS-LaTeX (amsmath, amssymb, amsthm) | 1990 | American Mathematical Society + LaTeX team (Frank Mittelbach, Rainer Schöpf, Michael Downes) | LaTeX package set: aligned equations, theorem environments, blackboard-bold, fraktur, AMS symbols; maintenance moved to LaTeX Project, in TeX Live | Active; the de-facto standard for journal-quality mathematics | https://www.ams.org/publications/authors/tex/amslatex |
| Presentation MathML | 1998 (MathML 1.0) | W3C Math Working Group (Patrick Ion, Robert Miner, et al.) | XML markup for the visual structure of math (<mfrac>, <msup>, <mrow>); MathML 3.0 (2010); MathML 4.0 Working Draft on Recommendation track in 2026 | Native browser support landed across Chromium/Firefox/WebKit (Chromium 2023); MathML Core advancing to CR; MathJax/KaTeX still dominate authoring | https://www.w3.org/TR/mathml4/ |
| Content MathML | 1998 | W3C Math Working Group | XML markup for the meaning of math (<apply>, <plus>, <sin>, <ci>); pairs with Presentation MathML for semantic+visual round-trips | Niche; used in computer-algebra interchange and accessibility, but rarely hand-written | https://www.w3.org/TR/mathml4/chapter4.html |
| AsciiMath | 2004 | Peter Jipsen (Chapman University) | ASCII-friendly math syntax: sum_(i=1)^n i^2 = (n(n+1)(2n+1))/6; JavaScript converts to Presentation MathML on page load; supported as a MathJax input format | Active; popular in wikis, chat, and lightweight CMS systems where LaTeX is too verbose | https://asciimath.org/ |
| MathJax (rendering engine) | 2009 (v1.0); v2 2012; v3 2019; v4.0 2025; v4.1.2 in May 2026 | Davide Cervone, Volker Sorge; American Mathematical Society + Design Science origin | JavaScript engine that consumes LaTeX, MathML, or AsciiMath input and emits HTML+CSS, SVG, or MathML output; v4 adds dark-mode support, in-line breaking, HTML-in-MathML | Very active; v4.1.2 latest as of May 2026; the dominant browser math renderer | https://www.mathjax.org/ |
| KaTeX (rendering engine) | 2014 | Khan Academy (Emily Eisenberg, Sophie Alpert) | LaTeX-only renderer; aggressively fast (no async layout), narrower coverage than MathJax; emits HTML+CSS or MathML | Active; v0.16.x in 2026 (v0.16.25 in late 2025, v0.16.45 in npm by mid-2026); the speed-critical alternative to MathJax | https://katex.org/ |
| OpenMath | 1996 (Bremen workshop); Standard 1.0 in 1998; Standard 2.0 in 2004 (Revision 2 in 2019) | OpenMath Society (Bremen, Eindhoven, RISC Linz, Inria et al.) | Structural / semantic representation of math objects via Content Dictionaries (CDs) defining symbols; XML or binary encoding; complementary to (and partly inspired) Content MathML | Maintained but niche; backbone of CAS interchange and theorem-prover content libraries | https://openmath.org/standard/ |
| OMDoc | 1998+ | Michael Kohlhase (KWARC, Bremen / Erlangen-Nürnberg) | XML format for mathematical documents — theories, proofs, and exposition; superset of OpenMath; v1.2 (2006) is the mature release; refined into the MMT format | Maintained; active in mathematical-knowledge-management research; production use in MathHub, the LaTeXML pipeline, and ALeA learning assistant | https://omdoc.org/ |
| TeXmacs | 1999 | Joris van der Hoeven (Inria) | WYSIWYG scientific editor with its own internal math notation tree (not TeX-based despite the name); native CAS bridges (Maxima, Sage, Pari, Macaulay2, Mathematica); v2.1.5 released March 2026 with Qt6 default | Active; small but loyal community; preferred when interactive CAS sessions need typeset I/O | https://www.texmacs.org/ |
| Typst math | 2023 (v0.1, TU Berlin); v0.13 series in 2026 | Martin Haug, Laurenz Mädje (TU Berlin) | Math mode entered with single $...$; multi-letter words become commands, single letters become variables; mat(1,2;3,4), frac(a,b), function-call syntax replaces TeX macros; v0.13 added math.equation.alt for accessibility and improved class binding for shorthands | Very active; rapid academic adoption; the leading credible TeX successor | https://typst.app/docs/reference/math/ |
| Pollen math | 2014 | Matthew Butterick | Math expressed inside Racket X-expression syntax (@$ ... $); rendered via MathJax/KaTeX or LaTeX; not a math notation per se but a host syntax that can carry it | Active but niche; used in Butterick’s own books (Practical Typography, Beautiful Racket) | https://docs.racket-lang.org/pollen/ |
| Wolfram Language (InputForm / StandardForm / FullForm) | 1988 (Mathematica 1.0) | Stephen Wolfram, Wolfram Research; Wolfram Language v14.3 in August 2025; v14 series ongoing in 2026 | Three notation surfaces over one term tree: InputForm (ASCII keyboard, e.g. Sin[x]^2 + Cos[x]^2), StandardForm (front-end 2D math typography), FullForm (Plus[Power[Sin[x], 2], Power[Cos[x], 2]] — the canonical S-expression-like form) | Very active; v14.3 added LLMGraph, dark mode, noncommutative algebra | https://reference.wolfram.com/language/ |
| Maple 2D math input | early 1990s onward | Maplesoft (originally University of Waterloo) | Two notation modes: 1D Maple syntax (int(sin(x), x)) and 2D math input (palettes + keyboard shortcuts that build typeset expressions in-place) | Active; Maple 2024/2025 releases ongoing; common in engineering and education | https://www.maplesoft.com/products/Maple/ |
| MATLAB Symbolic Math Toolbox notation | 2008 (toolbox folded into MATLAB after MuPAD acquisition) | MathWorks (kernel from MuPAD, originally University of Paderborn) | syms x y, then ordinary MATLAB infix; render as LaTeX via latex(expr), ASCII art via pretty(expr) | Active; bundled in MATLAB; widely used in engineering coursework | https://www.mathworks.com/products/symbolic.html |
| SymPy pretty-print | 2007 (SymPy 0.4) | SymPy contributors (originally Ondřej Čertík) | Three output forms: srepr (full term tree), pprint/pretty (Unicode 2D ASCII art), latex (LaTeX); Jupyter integration auto-renders LaTeX via MathJax | Very active; the canonical Python CAS notation surface | https://docs.sympy.org/latest/tutorials/intro-tutorial/printing.html |
| APL (glyph alphabet as notation) | 1962 (Iverson notation); 1966 (APL\360 implementation) | Kenneth E. Iverson (Harvard, then IBM Research); 1979 ACM Turing Award | Single-glyph operators (⍳⍴⍒⌽⌹⍤⍳⍒↑↓∊⍷⊃⊂⌷) form a self-contained mathematical notation that is also executable; argument is “notation IS the language” (Iverson, “Notation as a Tool of Thought”, CACM 1980) | Niche but alive; Dyalog APL is the reference commercial implementation; quant finance and APL puzzle communities sustain it | https://www.dyalog.com/ |
| Iverson notation (pre-APL, on paper) | 1962 (Iverson, A Programming Language) | Kenneth E. Iverson | The pen-and-paper precursor to APL: 2D layout, special characters, Iverson bracket [P] (returning 1 if P is true, 0 otherwise — later popularized by Knuth in Concrete Mathematics) | Historical as a notation system; Iverson bracket survives in mainstream math writing | https://dl.acm.org/doi/10.1145/358896.358899 |
| BNF (Backus-Naur Form) | 1959–1963 (ALGOL 60 report, Naur ed.) | John Backus (IBM); Peter Naur (codifier in the ALGOL 60 report) | Meta-notation for context-free grammars: ` | Foundational and ubiquitous; every language reference, RFC, and textbook uses some flavor | |
| EBNF (Extended BNF) | 1977 (Wirth); ISO/IEC 14977:1996 | Niklaus Wirth (ETH Zürich) and others | BNF + repetition ({...}), optional ([...]), grouping ((...)), and quoted terminals; ISO 14977 standardized one variant; W3C XML EBNF is another | Active; the de-facto formal-grammar notation alongside ANTLR / PEG / yacc-style | https://www.iso.org/standard/26153.html |
| Z notation | 1977 (Abrial) | Jean-Raymond Abrial, Steve Schuman, Bertrand Meyer; matured at Oxford PRG; ISO/IEC 13568:2002 (corrigendum 2007) | Set-theoretic specification language with schema boxes (Carroll Morgan) for state and operations; LaTeX zed-csp.sty markup is the standard typesetting; rendered by fuzz, czt, and oz toolchains | Legacy but standardized; still taught in formal-methods courses; used in some safety-critical settings | https://www.iso.org/standard/21573.html |
| VDM-SL notation | 1973 (VDM); ISO/IEC 13817-1:1996 (VDM-SL) | IBM Vienna Lab (Dines Bjørner, Cliff Jones); ISO standardization 1996 | Vienna Development Method Specification Language; Latin-letter ASCII syntax with mathematical operator alternatives; rendered with vdmtools / Overture | Niche; aerospace and Japanese industry pockets; Overture Tool maintained | https://www.iso.org/standard/22988.html |
| B-method mathematical notation | 1996 (Abrial, The B-Book) | Jean-Raymond Abrial; Atelier B / B-Toolkit | Abstract Machine Notation (AMN); set-theoretic, refinement-oriented; deployed on Paris Métro Line 14 (driverless), RATP, Alstom rail signaling | Active in rail industry; Event-B successor (2005) more academic | https://www.atelierb.eu/en/ |
| OCL (Object Constraint Language) math fragment | 1997 (IBM); OMG standard 2001; OCL 2.4 in 2014 | Jos Warmer, Anneke Kleppe (IBM); Object Management Group standardization | UML companion language for invariants, pre/postconditions; uses set-theoretic operators (->forAll, ->exists, ->select); the math sub-notation has its own type system over UML model elements | Active in MDA / model-driven engineering; OCL 2.4 still current | https://www.omg.org/spec/OCL/ |
| TikZ / tikz-cd (commutative diagrams) | TikZ 2005 (Tantau); tikz-cd ~2013 (Florêncio Neves) | Till Tantau (Lübeck) — TikZ; Florêncio Neves — tikz-cd | TikZ is a general TeX drawing language; tikz-cd specializes in commutative diagrams: \begin{tikzcd} A \arrow[r] & B \arrow[d] \\ & C \end{tikzcd}; v1.0 documented May 2021; standard category-theory tool | Active; the modern default for diagram notation in math papers, replacing xy-pic | https://ctan.org/pkg/tikz-cd |
| xy-pic | 1991 | Kristoffer H. Rose (Aarhus) | Earlier diagram package for TeX/LaTeX (and plain TeX); arrow-drawing matrix-style notation: \xymatrix{ A \ar[r] & B } | Legacy; largely superseded by tikz-cd, but still seen in older papers and some textbook traditions | https://ctan.org/pkg/xypic |
CD-LaTeX (\begin{CD}...\end{CD}) | 1990 (AMS-LaTeX) | American Mathematical Society | Lightweight commutative-diagram environment in amscd package; restricted to rectangular grids with horizontal/vertical/diagonal arrows; simpler than tikz-cd but less expressive | Maintained as part of AMS-LaTeX; used when only basic squares/rectangles are needed | https://ctan.org/pkg/amscd |
(Catalogue total: 26 entries.)
Notable threads
-
TeX won the authoring war; MathML won (eventually) the rendering and accessibility war — but only via translation from TeX. When the W3C Math WG published MathML 1.0 in 1998 it was framed as the path to semantic web math; in practice almost nobody hand-writes MathML. What people do hand-write is LaTeX (or a shorthand like AsciiMath or Typst), and engines like MathJax (v4.1.2 in May 2026) and KaTeX (v0.16.x) parse that and emit MathML or styled HTML. The 2023 enabling of MathML Core in Chromium finally gave all major browsers native support, which closed the rendering gap — but did not change the authoring layer. MathML’s win is invisible: it is the output format that makes math accessible to screen readers and copy-pasteable into Word.
-
Presentation vs. Content is the deepest design split in math notation. Presentation MathML, AsciiMath, TeX/LaTeX math, Typst math — all describe how the formula looks. Content MathML, OpenMath, OMDoc — describe what it means. Reusable formal mathematics (theorem-prover libraries, CAS interchange, semantic search over published math) wants Content. People actually writing math want Presentation, because presentation is shorter and the meaning is usually obvious from context. The result is a chronic disconnect: the world’s body of mathematics is encoded almost entirely in presentation form, and projects like OpenMath, OMDoc, and MMT (Kohlhase’s Mathematical Modelling and Theory format) have spent 25 years trying to bridge it via parsing, semantification, and content-dictionary mapping.
-
Iverson’s claim that mathematical notation should be the programming language is concretely instantiated, repeatedly, and remains niche. Iverson’s 1979 Turing-lecture paper “Notation as a Tool of Thought” (CACM August 1980) argued that an executable notation that respected mathematical conventions would deepen mathematical thought itself. APL was the prototype, J the ASCII redesign, K the minimalist refinement, Q (kdb+) the database query language, and BQN (2020+) the modern revival. The argument is correct — concise notation does help thought — but the cost is a glyph alphabet (or a thicket of
@=:;:&.:operators) that violates every “code should be readable” intuition mainstream programming has settled on. Quant finance, niche scientific computing, and hobbyists keep the lineage alive. APL itself runs commercially via Dyalog. -
Wolfram’s three-form architecture is the cleanest separation of parsing, display, and term-tree in any mathematical notation system. InputForm (ASCII, keyboard-typeable, the canonical input form), StandardForm (the 2D rendered display form the front-end shows you), and FullForm (
Plus[Power[Sin[x], 2], Power[Cos[x], 2]]— what the evaluator actually sees, an S-expression-like term tree). The system makes explicit something every other notation conflates: that you write math in one language, display it in another, and manipulate it in a third. Mathematica’s front-end can copy any of the three forms to clipboard, parse any of them as input, and round-trip a notebook through them. Few other systems are this honest about the layering. -
Typst is the first credible TeX successor in 48 years. Released by Martin Haug and Laurenz Mädje at TU Berlin in 2023, Typst (v0.13 series in 2026) keeps math-mode delimiters (
$...$) but cleans up almost everything else:x_iis a subscript without entering a special mode;mat(1, 2; 3, 4)defines a matrix via function-call syntax; multi-letter words likepi,dot,RRautomatically resolve to symbols; and you writefloor(x)instead of\lfloor x \rfloor. Errors are real error messages with line numbers, not the “Missing $ inserted” mystery messages of TeX. Compilation is incremental and roughly an order of magnitude faster than LaTeX. Adoption is rapid in academic preprints, with import packages likemitexallowing LaTeX math fragments to be embedded during transition. -
Diagram notation is a separate problem from formula notation, and the family that solved it took 30 years to converge. Linear math notation (TeX, MathML, AsciiMath, Typst) cannot encode commutative diagrams or category-theory arrow shapes — those need 2D placement and arbitrary morphism arrows. Three eras: AMS-LaTeX’s
amscd(1990, rectangular grids only), Kristoffer Rose’s xy-pic (1991, more expressive but cryptic syntax), and Florêncio Neves’s tikz-cd (~2013, on top of Till Tantau’s TikZ). Tikz-cd is now the standard in published category theory and homological algebra; xy-pic survives in older textbook traditions;amscdis still used for simple square diagrams. -
The MathSciNet / MR-citation format is its own micro-notation family. Mathematical Reviews (American Mathematical Society, 1940+) assigns each published math item an MR number (e.g.
MR2015234) and a structured citation form. AMS-LaTeX bibliography styles (amsplain.bst,amsalpha.bst) encode the convention; arXiv, journals, and MathSciNet itself round-trip the format. It is not a math notation in the formal sense, but it is the reference-graph notation that the math-publishing world runs on, alongside DOI and arXiv-id. Cross-listed in document-typesetting in passing. -
The specification-notation family (Z, B, VDM-SL, OCL) sits at the boundary of “math notation” and “formal-methods language.” Z’s schema boxes (Carroll Morgan, Oxford PRG) are first and foremost a notation — a 2D layout with declarations above a horizontal rule and predicates below — that happened to be standardized as ISO/IEC 13568:2002. Same with B’s Abstract Machine Notation, VDM-SL’s set-builder vocabulary, and OCL’s
->forAll/->select/->collectchain. They are catalogued more deeply as systems in notation-spec; they appear here because the notation itself is mathematical, often rendered with TeX (zed-csp.sty,vdmlatex) and predates by decades the typing infrastructure that mechanically checks specifications written in them. -
The Backus-Naur lineage is mathematical notation invented for software. When John Backus and Peter Naur produced the ALGOL 60 report (1963), the metasyntax they used was a deliberate exercise in mathematical formalism for grammars — production rules, alternation, recursion — at a time when programming-language definitions were typically natural prose. Wirth’s EBNF (1977, ISO/IEC 14977:1996) and the W3C-XML EBNF dialect refined the meta-notation. Every modern parser-generator (yacc, ANTLR, PEG, tree-sitter, the
instaparsefamily) traces back to that BNF abstraction. It belongs in this index because it is the most successful mathematical notation invented in the computing era — and because the same BNF metasyntax has been used to formalize, in turn, BNF itself.
Citations
- Knuth, Donald E. The TeXbook (Addison-Wesley, 1984). https://www.tug.org/
- AMS-LaTeX project page: https://www.ams.org/publications/authors/tex/amslatex
- amsmath package on CTAN: https://ctan.org/pkg/amsmath
- W3C MathML 4.0 (Working Draft, on Recommendation track): https://www.w3.org/TR/mathml4/
- W3C MathML Core (advancing to CR 2026): https://www.w3.org/TR/mathml-core/
- W3C Math WG charter (2023): https://www.w3.org/Math/Documents/Charter2023.html
- AsciiMath: https://asciimath.org/
- MathJax docs (v4.0/v4.1): https://docs.mathjax.org/
- KaTeX: https://katex.org/ ; releases at https://github.com/KaTeX/KaTeX/releases
- OpenMath Standard 2.0 Revision 2: https://openmath.org/standard/
- OMDoc and MMT: https://omdoc.org/ ; https://uniformal.github.io/
- TeXmacs: https://www.texmacs.org/ (v2.1.5 March 2026)
- Typst documentation (math): https://typst.app/docs/reference/math/
- Typst releases: https://github.com/typst/typst/releases/
- Pollen: https://docs.racket-lang.org/pollen/
- Wolfram Language reference: https://reference.wolfram.com/language/
- Wolfram v14.3 announcement (Aug 2025): https://writings.stephenwolfram.com/2025/08/new-features-everywhere-launching-version-14-3-of-wolfram-language-mathematica/
- Iverson, K. E. “Notation as a Tool of Thought.” Communications of the ACM 23(8), August 1980. https://dl.acm.org/doi/10.1145/358896.358899
- Iverson Turing Award page: https://amturing.acm.org/award_winners/iverson_9147499.cfm
- Z notation ISO/IEC 13568:2002: https://www.iso.org/standard/21573.html
- VDM-SL ISO/IEC 13817-1:1996: https://www.iso.org/standard/22988.html
- OCL specification (OMG): https://www.omg.org/spec/OCL/
- B-Method / Atelier B: https://www.atelierb.eu/en/
- TikZ-CD on CTAN: https://ctan.org/pkg/tikz-cd
- xy-pic on CTAN: https://ctan.org/pkg/xypic
- amscd (AMS commutative diagram package): https://ctan.org/pkg/amscd
- MathSciNet / Mathematical Reviews (AMS): https://mathscinet.ams.org/