Prove2Me
Navigate
DiscoverFormalpediaBlogsUsersMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Normal-form data for a reduced tree diagram

Proved
CannonFloydParry.exists_isNormalFormData

by dbenbenn · Sep 16, 2026 · Mathlib 0df444a (Lean v4.33.1)

combinatoricsgroup-theorythompsons-grouptree-diagrams

If a reduced tree diagram represents an element f≠1f \ne 1f=1 of FFF, then there are two lists of nonnegative integers aaa and bbb, of the same nonempty length, satisfying the normal form conditions — exactly one of the last entries is nonzero, and if aka_kak​ and bkb_kbk​ are both positive for some kkk before the last index then ak+1a_{k+1}ak+1​ or bk+1b_{k+1}bk+1​ is positive — such that

f=X0b0⋯Xnbn Xn−an⋯X0−a0.f = X_0^{b_0} \cdots X_n^{b_n} \, X_n^{-a_n} \cdots X_0^{-a_0}.f=X0b0​​⋯Xnbn​​Xn−an​​⋯X0−a0​​.
Preamble
import Definitions.Def_CannonFloydParry
import Definitions.Def_CannonFloydParry_Trees
import Definitions.Def_CannonFloydParry_TreeDiagrams
import Mathlib
Formal statement
namespace CannonFloydParry

theorem exists_isNormalFormData {d : TreeDiagram} {f : UI ≃o UI}
    (hd : IsReduced d) (hr : Represents d f) (hne : f ≠ 1) :
    ∃ as bs : List ℕ, IsNormalFormData as bs ∧ f = word bs * (word as)⁻¹ := by
  sorry

end CannonFloydParry
Source
Cannon, J. W., Floyd, W. J., Parry, W. R., Introductory notes on Richard Thompson's groups, L'Enseignement Mathematique (2) 42 (1996) 215-256, https://doi.org/10.5169/seals-87877, section 2 pp. 223-224 (the step from Theorem 2.5 to Corollary-Definition 2.7)
Read-back

What the Lean code literally says, in plain math · claude-opus-5

Read-back: what the statement asserts

The declaration is a single implication with two universally quantified (implicitly bound) variables, three named hypotheses, and an existential conclusion. Everything it mentions is built up from the definitions unfolded below, so the whole assertion is restated here without reference to any other document.

The ambient group

Write I=[0,1]⊆RI = [0,1] \subseteq \mathbb{R}I=[0,1]⊆R, regarded as an ordered set with the order inherited from R\mathbb{R}R (formally, the set of real numbers xxx with 0≤x0 \le x0≤x and x≤1x \le 1x≤1, made into a type).

Let

G  =  { f:I→I  :  f is a bijection and x≤y  ⟺  f(x)≤f(y) }G \;=\; \{\, f : I \to I \;:\; f \text{ is a bijection and } x \le y \iff f(x) \le f(y) \,\}G={f:I→I:f is a bijection and x≤y⟺f(x)≤f(y)}

be the set of order isomorphisms of III onto itself. No continuity, piecewise linearity or differentiability is assumed of a member of GGG: only that it is an order-preserving bijection of III onto III.

GGG is a group under composition, with

  • product: (g⋅h)(x)=g(h(x))(g \cdot h)(x) = g(h(x))(g⋅h)(x)=g(h(x)) — so in a product the right factor acts first;
  • identity 1=idI1 = \mathrm{id}_I1=idI​;
  • inverse g−1g^{-1}g−1 = the inverse bijection;
  • g0=1g^0 = 1g0=1 and gn+1=gn⋅gg^{n+1} = g^{n}\cdot ggn+1=gn⋅g for n∈Nn \in \mathbb{N}n∈N, i.e. gng^ngn is the nnn-fold composite of ggg with itself.

Two elements of GGG are equal exactly when they agree at every point of III.

For f∈Gf \in Gf∈G, let f~:R→R\widetilde f : \mathbb{R} \to \mathbb{R}f​:R→R be the map

f~(x)={f(x),0≤x≤1,x,otherwise,\widetilde f(x) = \begin{cases} f(x), & 0 \le x \le 1,\\ x, & \text{otherwise,}\end{cases}f​(x)={f(x),x,​0≤x≤1,otherwise,​

i.e. fff extended to the whole line by the identity; this f~\widetilde ff​ is an order isomorphism of R\mathbb{R}R.

Dyadic numbers, "Thompson" elements, and the subgroup FFF

A real number xxx is dyadic if x=m/2kx = m/2^{k}x=m/2k for some m∈Zm \in \mathbb{Z}m∈Z and k∈Nk \in \mathbb{N}k∈N. (No restriction to [0,1][0,1][0,1].)

Call g∈Gg \in Gg∈G a Thompson element if there is a finite set B⊆RB \subseteq \mathbb{R}B⊆R, all of whose members are dyadic, such that:

for all x,y∈Ix, y \in Ix,y∈I with x<yx < yx<y and (x,y)∩B=∅(x,y) \cap B = \varnothing(x,y)∩B=∅ (open interval), there exist an integer nnn and a real number ccc such that

g(z)=2nz+cfor every z∈I with x≤z≤y.g(z) = 2^{n} z + c \qquad \text{for every } z \in I \text{ with } x \le z \le y .g(z)=2nz+cfor every z∈I with x≤z≤y.

Here 2n2^n2n is an integer power of 222 (so a positive real), while ccc is an arbitrary real number. BBB is not required to be contained in [0,1][0,1][0,1], nor to be non-empty.

Let F≤GF \le GF≤G be the subgroup generated by the set of all Thompson elements: the intersection of all subgroups of GGG containing that set, equivalently the set of all finite products of Thompson elements and inverses of Thompson elements (together with the identity). The hypothesis below asks only that fff lie in FFF; it does not ask that fff itself be a Thompson element.

The two distinguished elements AAA and BBB

A∈GA \in GA∈G is the map

A(x)={x/2,0≤x≤12,x−14,12≤x≤34,2x−1,34≤x≤1,A(x) = \begin{cases} x/2, & 0 \le x \le \tfrac12,\\[2pt] x - \tfrac14, & \tfrac12 \le x \le \tfrac34,\\[2pt] 2x - 1, & \tfrac34 \le x \le 1, \end{cases}A(x)=⎩⎨⎧​x/2,x−41​,2x−1,​0≤x≤21​,21​≤x≤43​,43​≤x≤1,​

(a continuous, piecewise-linear, increasing bijection of III: the three overlapping clauses agree at x=12x = \tfrac12x=21​ and x=34x = \tfrac34x=43​, and A(0)=0A(0)=0A(0)=0, A(1)=1A(1)=1A(1)=1).

B∈GB \in GB∈G is the map

B(x)={x,0≤x≤12,x2+14,12≤x≤34,x−18,34≤x≤78,2x−1,78≤x≤1,B(x) = \begin{cases} x, & 0 \le x \le \tfrac12,\\[2pt] \tfrac{x}{2} + \tfrac14, & \tfrac12 \le x \le \tfrac34,\\[2pt] x - \tfrac18, & \tfrac34 \le x \le \tfrac78,\\[2pt] 2x - 1, & \tfrac78 \le x \le 1, \end{cases}B(x)=⎩⎨⎧​x,2x​+41​,x−81​,2x−1,​0≤x≤21​,21​≤x≤43​,43​≤x≤87​,87​≤x≤1,​

again continuous, piecewise linear and increasing, fixing 000 and 111 and fixing every point of [0,12][0,\tfrac12][0,21​].

(Both are defined as the restriction to III of an explicit increasing piecewise-linear bijection of R\mathbb{R}R that is the identity outside [0,1][0,1][0,1].)

The elements XiX_iXi​ and the words

Define Xi∈GX_i \in GXi​∈G for i∈Ni \in \mathbb{N}i∈N by

X0=A,Xn+1=(An)−1⋅B⋅An(n∈N).X_0 = A, \qquad X_{n+1} = (A^{n})^{-1} \cdot B \cdot A^{n} \quad (n \in \mathbb{N}).X0​=A,Xn+1​=(An)−1⋅B⋅An(n∈N).

Note the index shift: the conjugating power is nnn, not n+1n+1n+1. Thus

X1=B,X2=A−1BA,X3=A−2BA2,…,Xk=A−(k−1)BAk−1 (k≥1),X_1 = B, \quad X_2 = A^{-1} B A, \quad X_3 = A^{-2} B A^{2}, \quad\dots,\quad X_k = A^{-(k-1)} B A^{k-1} \ (k \ge 1),X1​=B,X2​=A−1BA,X3​=A−2BA2,…,Xk​=A−(k−1)BAk−1 (k≥1),

which as a function means Xk(x)=A−(k−1)(B(Ak−1(x)))X_k(x) = A^{-(k-1)}\bigl(B\bigl(A^{k-1}(x)\bigr)\bigr)Xk​(x)=A−(k−1)(B(Ak−1(x))): the innermost (rightmost) factor acts first.

For a finite list c=(c0,c1,…,cm−1)c = (c_0, c_1, \dots, c_{m-1})c=(c0​,c1​,…,cm−1​) of natural numbers, define

w(c)  =  X0 c0⋅X1 c1⋯Xm−1 cm−1 ∈G,w(c) \;=\; X_0^{\,c_0} \cdot X_1^{\,c_1} \cdots X_{m-1}^{\,c_{m-1}} \ \in G ,w(c)=X0c0​​⋅X1c1​​⋯Xm−1cm−1​​ ∈G,

the product taken in this left-to-right order, with w(empty list)=1w(\text{empty list}) = 1w(empty list)=1. The kkk-th entry of the list is the exponent of XkX_kXk​: the list position determines which generator, starting at index 000 and increasing by one along the list. Because the entries are natural numbers, all exponents occurring in w(c)w(c)w(c) are ≥0\ge 0≥0; entries equal to 000 contribute the identity factor.

Consequently

w(c)−1=Xm−1−cm−1⋯X1−c1X0−c0,w(c)^{-1} = X_{m-1}^{-c_{m-1}} \cdots X_1^{-c_1} X_0^{-c_0},w(c)−1=Xm−1−cm−1​​⋯X1−c1​​X0−c0​​,

the inverted factors appearing in decreasing index order.

Trees, leaf counts, subdivision points, and exposed carets

A tree here is a finite rooted binary tree in which every node is either a leaf or has an ordered pair of subtrees (left, right). Its leaf count is 111 for a leaf and the sum of the leaf counts of the two subtrees otherwise.

Subdivision points. Give the root the interval [0,1][0,1][0,1]; if a node carries [a,b][a,b][a,b], its left subtree carries [a,a+b2][a,\frac{a+b}2][a,2a+b​] and its right subtree carries [a+b2,b][\frac{a+b}2, b][2a+b​,b]. The marks of a tree ttt is the list

marks(t)  =  (0,  midpoints of the internal nodes in left-to-right (in-order) traversal,  1).\mathrm{marks}(t) \;=\; \bigl(0,\; \text{midpoints of the internal nodes in left-to-right (in-order) traversal},\; 1\bigr).marks(t)=(0,midpoints of the internal nodes in left-to-right (in-order) traversal,1).

If ttt has nnn leaves, this list has n+1n+1n+1 entries and is strictly increasing,

marks(t)=(x0,x1,…,xn),0=x0<x1<⋯<xn=1,\mathrm{marks}(t) = (x_0, x_1, \dots, x_n), \qquad 0 = x_0 < x_1 < \cdots < x_n = 1,marks(t)=(x0​,x1​,…,xn​),0=x0​<x1​<⋯<xn​=1,

and [xi−1,xi][x_{i-1}, x_i][xi−1​,xi​] is exactly the interval carried by the iii-th leaf from the left. For the one-leaf tree, marks=(0,1)\mathrm{marks} = (0,1)marks=(0,1). All these points are dyadic.

Exposed carets. For a tree ttt and k∈Nk \in \mathbb{N}k∈N, say ttt has an exposed caret at kkk when ttt contains a node both of whose subtrees are single leaves, and the left of those two leaves is the kkk-th leaf of ttt counted from the left starting at 000. (The recursion implementing this descends into the left subtree when k+1k+1k+1 is less than its leaf count, into the right subtree with kkk reduced by the left leaf count when kkk is at least that leaf count, and in the one remaining case — kkk = (left leaf count) −1-1−1, i.e. kkk and k+1k+1k+1 straddle the node — returns true exactly when both subtrees are single leaves.) In particular a one-leaf tree has an exposed caret at no kkk, and no tree has an exposed caret at any kkk beyond its leaf count.

Tree diagrams, representation, reducedness

A tree diagram ddd consists of two trees, dom(d)\mathrm{dom}(d)dom(d) and ran(d)\mathrm{ran}(d)ran(d), together with (as part of the data) the requirement that they have the same leaf count. Write marks(dom(d))=(x0,…,xn)\mathrm{marks}(\mathrm{dom}(d)) = (x_0,\dots,x_n)marks(dom(d))=(x0​,…,xn​) and marks(ran(d))=(y0,…,yn)\mathrm{marks}(\mathrm{ran}(d)) = (y_0,\dots,y_n)marks(ran(d))=(y0​,…,yn​); these two lists have the same length n+1n+1n+1 precisely because of that requirement.

Say ddd represents f∈Gf \in Gf∈G when all three of the following hold.

  1. f∈Ff \in Ff∈F (the subgroup described above).
  2. Affine on the pieces: for each pair of consecutive entries xi,xi+1x_{i}, x_{i+1}xi​,xi+1​ of marks(dom(d))\mathrm{marks}(\mathrm{dom}(d))marks(dom(d)) (so i=0,…,n−1i = 0, \dots, n-1i=0,…,n−1) there exist real numbers aaa and ccc with
f~(z)=az+cfor all z with xi≤z≤xi+1.\widetilde f(z) = a z + c \qquad \text{for all } z \text{ with } x_i \le z \le x_{i+1}.f​(z)=az+cfor all z with xi​≤z≤xi+1​.

Since 0≤xi<xi+1≤10 \le x_i < x_{i+1} \le 10≤xi​<xi+1​≤1, this says f(z)=az+cf(z) = az+cf(z)=az+c on [xi,xi+1]⊆I[x_i, x_{i+1}] \subseteq I[xi​,xi+1​]⊆I. Nothing requires a>0a > 0a>0, nor that aaa be a power of 222, nor that ccc be dyadic; the slope and intercept may depend on iii. 3. Marks go to marks, in order: applying f~\widetilde ff​ entrywise to the list marks(dom(d))\mathrm{marks}(\mathrm{dom}(d))marks(dom(d)) yields the list marks(ran(d))\mathrm{marks}(\mathrm{ran}(d))marks(ran(d)):

f(xi)=yifor every i=0,1,…,n.f(x_i) = y_i \qquad \text{for every } i = 0, 1, \dots, n.f(xi​)=yi​for every i=0,1,…,n.

(Equality of lists, so entry by entry and in the same order, not merely equality of the underlying sets.)

Say ddd is reduced when there is no k∈Nk \in \mathbb{N}k∈N such that dom(d)\mathrm{dom}(d)dom(d) has an exposed caret at kkk and ran(d)\mathrm{ran}(d)ran(d) has an exposed caret at kkk — the same index kkk in both trees. The quantifier runs over all natural numbers kkk, including those exceeding the leaf count, where both conditions fail anyway. A diagram whose two trees are both the one-leaf tree is reduced.

The condition on the pair of exponent lists

For two lists a=(a0,…,am−1)a = (a_0, \dots, a_{m-1})a=(a0​,…,am−1​) and b=(b0,…,bm′−1)b = (b_0, \dots, b_{m'-1})b=(b0​,…,bm′−1​) of natural numbers, say the pair (a,b)(a,b)(a,b) — in this order — is normal-form data when all four of the following hold.

  1. aaa is not the empty list, i.e. m≥1m \ge 1m≥1.
  2. The lists have equal length: m=m′m = m'm=m′.
  3. At the last index m−1m-1m−1, exactly one of the two final entries vanishes and the other is strictly positive:
(am−1=0 and bm−1>0)or(am−1>0 and bm−1=0).\bigl(a_{m-1} = 0 \ \text{and}\ b_{m-1} > 0\bigr) \quad\text{or}\quad \bigl(a_{m-1} > 0 \ \text{and}\ b_{m-1} = 0\bigr).(am−1​=0 and bm−1​>0)or(am−1​>0 and bm−1​=0).

(This is a disjunction of two mutually exclusive alternatives; it rules out both am−1=bm−1=0a_{m-1} = b_{m-1} = 0am−1​=bm−1​=0 and am−1,bm−1a_{m-1}, b_{m-1}am−1​,bm−1​ both positive.) 4. For every k∈Nk \in \mathbb{N}k∈N with k+1<mk + 1 < mk+1<m:

if ak>0 and bk>0, then ak+1>0 or bk+1>0.\text{if } a_k > 0 \text{ and } b_k > 0, \text{ then } a_{k+1} > 0 \text{ or } b_{k+1} > 0 .if ak​>0 and bk​>0, then ak+1​>0 or bk+1​>0.

This is vacuous when m=1m = 1m=1. It is an implication in one direction only: nothing is claimed when ak=0a_k = 0ak​=0 or bk=0b_k = 0bk​=0, and the conclusion is an inclusive "or".

In clauses 3 and 4 the index bounds are computed from the length of the first list, which by clause 2 is also the length of the second, so every entry referred to genuinely exists. (Entries are read by a total lookup that returns 000 for an out-of-range index; clauses 2–4 never rely on that, although clause 1 is what stops clause 3 from reading two out-of-range 000's when aaa is empty — with aaa empty, clause 3 would read a ⋅=b ⋅=0a_{\,\cdot} = b_{\,\cdot} = 0a⋅​=b⋅​=0 and fail.)

The assertion

Let ddd be any tree diagram and let fff be any order isomorphism of [0,1][0,1][0,1] onto itself (both universally quantified; in the Lean text they are implicit arguments, to be inferred, which does not change the logical content). Assume:

  • (i) ddd is reduced, in the sense above;
  • (ii) ddd represents fff, in the three-part sense above (in particular f∈Ff \in Ff∈F);
  • (iii) f≠1f \ne 1f=1, i.e. fff is not the identity map of [0,1][0,1][0,1].

Then there exist two finite lists a=(a0,…,am−1)a = (a_0,\dots,a_{m-1})a=(a0​,…,am−1​) and b=(b0,…,bm−1)b = (b_0,\dots,b_{m-1})b=(b0​,…,bm−1​) of natural numbers such that the pair (a,b)(a,b)(a,b) is normal-form data (clauses 1–4) and

f  =  w(b)⋅w(a)−1,f \;=\; w(b) \cdot w(a)^{-1},f=w(b)⋅w(a)−1,

that is,

f  =  X0 b0X1 b1⋯Xm−1 bm−1 >Xm−1−am−1⋯X1−a1X0−a0,f \;=\; X_0^{\,b_0} X_1^{\,b_1} \cdots X_{m-1}^{\,b_{m-1}}\, > X_{m-1}^{-a_{m-1}} \cdots X_1^{-a_1} X_0^{-a_0},f=X0b0​​X1b1​​⋯Xm−1bm−1​​>Xm−1−am−1​​⋯X1−a1​​X0−a0​​,

an equality in GGG (equivalently: the two sides agree at every point of [0,1][0,1][0,1]).

Points of the conclusion worth stating explicitly:

  • The second list bbb supplies the un-inverted (leftmost) block of factors and the first list aaa supplies the inverted block, even though the normal-form-data condition is applied to the pair in the order (a,b)(a,b)(a,b). So in the equation the roles are: bbb positive, aaa negative.
  • In the inverted block the factors occur in decreasing generator index, while in the positive block they occur in increasing generator index.
  • All ak,bka_k, b_kak​,bk​ are natural numbers, hence ≥0\ge 0≥0; interior entries may be 000.
  • This is a plain existence claim (∃\exists∃, not ∃!\exists!∃!): no uniqueness of aaa, bbb or of mmm is asserted, no minimality of mmm, and no bound on mmm in terms of ddd or fff (in particular no relation between mmm and the number of leaves of the trees of ddd).
  • Nothing is asserted about how aaa and bbb are obtained from ddd; the trees of ddd do not appear in the conclusion.

Degenerate and edge cases the quantifiers include

  • The hypotheses are jointly satisfiable, so the statement is not vacuous. An explicit witness: take f=Af = Af=A, dom(d)\mathrm{dom}(d)dom(d) the tree whose left subtree is a leaf and whose right subtree is a caret of two leaves (marks (0,12,34,1)(0, \tfrac12, \tfrac34, 1)(0,21​,43​,1)), and ran(d)\mathrm{ran}(d)ran(d) the tree whose left subtree is a caret of two leaves and whose right subtree is a leaf (marks (0,14,12,1)(0, \tfrac14, \tfrac12, 1)(0,41​,21​,1)). Both have 333 leaves; AAA carries (0,12,34,1)(0,\tfrac12,\tfrac34,1)(0,21​,43​,1) to (0,14,12,1)(0,\tfrac14,\tfrac12,1)(0,41​,21​,1) entrywise and is affine on each of the three pieces; AAA is a Thompson element (breakpoint set {0,12,34,1}\{0,\tfrac12,\tfrac34,1\}{0,21​,43​,1}, slopes 2−1,20,212^{-1}, 2^{0}, 2^{1}2−1,20,21), hence lies in FFF; the domain tree has an exposed caret only at k=1k=1k=1 and the range tree only at k=0k=0k=0, so the diagram is reduced; and A≠1A \ne 1A=1 since A(12)=14A(\tfrac12) = \tfrac14A(21​)=41​. (This witness was checked mechanically.)
  • One-leaf diagrams cannot satisfy the hypotheses. If both trees of ddd are single leaves then marks=(0,1)\mathrm{marks} = (0,1)marks=(0,1) for each, and clause 2 of "represents" forces fff to be affine on all of [0,1][0,1][0,1] while clause 3 forces f(0)=0f(0)=0f(0)=0, f(1)=1f(1)=1f(1)=1; hence f=idf = \mathrm{id}f=id, excluded by hypothesis (iii). So hypothesis (iii) is doing work beyond mere non-triviality of bookkeeping.
  • The condition "ddd is reduced" is a statement about matching indices: a diagram in which both trees have exposed carets, but never at the same index kkk, is reduced.
  • The condition "affine on the pieces" is imposed only on the pieces cut out by the marks of the domain tree; no separate condition is imposed on the pieces of the range tree.
  • Hypothesis (ii) requires f∈Ff \in Ff∈F as a separate conjunct; it is not derived from the other two conjuncts inside this statement.
  • There is no hypothesis that fff be continuous, piecewise linear, or have dyadic breakpoints beyond what (ii) provides, and no typeclass or finiteness hypothesis beyond those listed.
Human review
  • Endorsed by Shuze Chen · Sep 17, 2026

  • Endorsed by dbenbenn · Sep 17, 2026

    Confirmed by the mission captain (proposal self-audit).

View graph

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions, licensed under Apache 2.0.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactTermsJoin SlackJoin Zulip© 2026 Prove2Me