An appendix from
Explorable Flexagons

Flex Compendium

Details about flexes on triangle flexagons

This is a collection of flexes that work on triangle flexagons, some of which also work on flexagons made up of squares, pentagons, etc.

Note: This is not intended to be a complete list. There are other variants, other flexes, and other types of flexagons.

Flex Details

Each flex description contains details about the flex, e.g. if it’s prime, which flexagons it works on, and the pat notation that describes how it changes the internal structure of the flexagon. Here is more background on some of those details.

Prime

This lists whether or not the flex is prime relative to the rest of the flexes on this page, excluding the forced tuck.

Prime flexes by number of pats:

Inverse

For a given flex A, the following equality is often true: A' = ^A^, i.e. doing flex in reverse is the same as turning it over, doing the flex, then turning it back over. But for some flexes the before and after structures are different enough that this doesn’t hold. The simplest way to figure out if this is true is to use the Flexagon Simulator in the Flexagon Playground. First try the generating sequence A*, which creates the necessary structure for the flex and performs the flex. Then compare that to the flexagon you get from the generating seuqence A* ^ A* ^. If they both create a flexagon with the same number of leaves, then A' = ^A^, otherwise A' != ^A^.

This is a useful detail to know when you’re trying to explore all the states of a flexagon, because you’ll need to include a flex’s inverse in the search if A and A' are prime but A' != ^A^.

Number of pats

A pat is a stack of leaves in a flexagon. There are 6 pats in a hexaflexagon, 8 in an octaflexagon, etc. Many flexes work on a range of flexagons, e.g. the pyramid shuffle works on any flexagon with 5 or more pats.

Number of leaves

A leaf is one of the individual polygons in a flexagon. Each flex will list the number of leaves in the minimal flexagon, i.e. the simplest flexagon that supports that flex. It will be expressed as a function of N, the number of pats. For example, the flip flex needs 4 more leaves than there are pats, described as N + 4.

Special requirements

Some flexes may have additional requirements of the flexagon in order to work. For example, the silver tetra flex works best on right triangle flexagons, and may not work on some flexagons. More details on these requirements can be found on the New Flexes page under More details.

Pat shorthand

The left-hand side shows shorthand for the before state of the flexagon, while the right-hand side shows shorthand for the after state of the flexagon. Possibilities include 1, 2, 3, -3, 4a, -4a, 4b, 4c, and -4c, as described on the New Flexes page.

Flex definition

Each section contains the flex definition using pat notation as described in the New Flexes chapter. Flexes that apply to a range of different numbers of pats use a generalized form. For example, the following is the definition for the flip flex:

  • in: [ [1,2], 3, ... i, ... [[n-4,n-3],[n-2,n-1]], n ]
  • out: [ n-3, [[-1,3],[n,-2]] ... i, ... n-2, [-(n-4),-(n-1)] ]

The pattern between the pairs of ...’s applies to every unspecified pat. In this case, it simply means that all those pats have a single leaf in them. Other flexes may have something like [i,i+1] to indicate two leaves in a pat.n refers to the number of pats. For example, if n=7, then the final pat of the resulting flexagon ([-(n-4),-(n-1)]) would be [-3,-6].

How to fold

The section for every flex shows what the unfolded template looks like, even as you switch between different types of flexagons. The following are general instructions for creating a real working flexagon from the templates:

You might want to start by right-clicking on the image and picking 'Save Image' in order to view the template separately from the rest of the page.

Cut: Start by printing out the template and cutting along the outside edges.

Prefold: After you've cut out the shape, fold and unfold along every dashed line to prepare it. Note that the first and last triangle in the template have dashed lines to indicate where to tape the edges after everything is folded.

Number: The large number on each triangle represents the number on the front of the triangle, while the small number represents the number on the back. Copy the small number from each triangle onto its backside.

Fold: Find the largest pairs of adjacent numbers and fold those numbers together. Then find the next largest pairs of adjacent numbers and fold them together. Continue in this way until the only numbers still visible are the 1's and the 2's.

Tape: You should now have a completed polygon. Tape the edges of the first and last triangles together to complete the flexagon.


Rotations

Rotations simply change the current vertex, i.e. the vertex where the next flex starts.

  • <: Shift the current vertex one step counterclockwise (to the left if the current vertex is at the top)
  • >: Shift the current vertex one step clockwise (to the right if the current vertex is at the top)
  • ^: Turn over the flexagon, keep the same current vertex

Triangle flexes


F: flip flex

This flex works especially well on flexagons with right angles, though only at the “points” of the bounding polygon, not at the vertices in the middle of an edge. The heptaflexagon, with 7 pats, has just enough freedom to be able to do the flip flex, though it can be tricky to carry out if you haven’t done it before.

property
value
Prime?
yes
Inverse
F' = ^F^
Number of pats
6 or more
Number of leaves
N + 4
Special requirements
only works with certain leaf angles
2 1 1 1 4b 1
1 4b 1 1 1 2
Loading...

  • in: [ [1,2], 3, ... i, ... [[n-4,n-3],[n-2,n-1]], n ]
  • out: [ n-3, [[-1,3],[n,-2]] ... i, ... n-2, [-(n-4),-(n-1)] ]
Select flexagon type:
Currently in state 1 of 1
   

L3: slot triple pocket flex


TO DO: Generalize

property
value
Prime?
yes
Inverse
L3' = ^L3^
Number of pats
5
Number of leaves
N + 9
Special requirements
no
4a 4a 1 4a 1
1 -4a 1 -4a -4a
Loading...

  • in: [ [[[12,-11],-13],10], [[[2,-1],-3],-14], -4, [[[-7,6],8],-5], 9 ]
  • out: [ -2, [6,[-3,[-5,4]]], 7, [-11,[8,[10,-9]]], [-1,[-12,[-14,13]]] ]
Select flexagon type:
Currently in state 1 of 1
   

Lh: slot half flex

TO DO: Does this flex generalize beyond the hexaflexagon?

property
value
Prime?
no, Lh = Ltb T'
Inverse
Lh' != ^Lh^
Number of pats
6
Number of leaves
N + 5
Special requirements
no
4c 1 1 1 3 1
3 1 1 2 3 1
Loading...

  • in: [ [[1,[2,3]],4], 5, 6, 7, [[8,9],10], 11 ]
  • out: [ [[11,-4],-9], 1, -3, [-5,2], [[7,-10],-6], 8 ]
Select flexagon type:
Currently in state 1 of 1
   

Lk: slot pocket

property
value
Prime?
no, Lk = Ltf > S <
Inverse
Lk' = ^Lk^
Number of pats
5 or more
Number of leaves
N + 6
Special requirements
no
4a 1 1 1 4a 1
1 -4a 1 1 1 -4a
Loading...

  • in: [ [[[1,2],3],4], ... i, ... n-5, [[[n-4,n-3],n-2],n-1], n ]
  • out: [ -(n-4), [2,[n-2,[4,-n]]], -1, 3, ... i, ... [n-3,[n-6,[n-1,-(n-5)]]] ]
Select flexagon type:
Currently in state 1 of 1
   

Lbf: slot tuck bottom front flex

TO DO: Does this flex generalize beyond the hexaflexagon?

property
value
Prime?
no, Lbf ~= V
Inverse
Lbf' != ^Lbf^
Number of pats
6
Number of leaves
N + 4
Special requirements
no
3 2 1 1 2 1
2 1 2 2 1 2
Loading...

  • in: [ [[1,2],10], [4,3], 5, 6, [8,7], 9 ]
  • out: [ [-2,-1], -3, [-5,4], [7,-6], -8, [10,-9] ]
Select flexagon type:
Currently in state 1 of 1
   

Lbb: slot tuck bottom back flex

TO DO: Does this flex generalize beyond the hexaflexagon?

property
value
Prime?
no, Lbb = Lbf < P' >
Inverse
Lbb' != ^Lbb^
Number of pats
6
Number of leaves
N + 5
Special requirements
no
3 2 1 1 3 1
1 2 1 3 1 3
Loading...

  • in: [ [[2,-3],-1], [5,-4], 6, 7, [[-9,10],8], 11 ]
  • out: [ 2, [-4,3], -5, [[7,-8],-6], -9, [[11,1],-10] ]
Select flexagon type:
Currently in state 1 of 1
   

Ltf: slot tuck top front flex

property
value
Prime?
yes
Inverse
Ltf' = ^Ltf^
Number of pats
5 or more
Number of leaves
N + 4
Special requirements
no
4a 1 1 1 2 1
1 2 1 1 1 -4a
Loading...

  • in: [ [[[1,2],3],4] ... i, ... n-4, n-3, [n-2,n-1], n ]
  • out: [ n, [2,4] -1, 3 ... i, ... [n-2,[n-4,[n-1,-(n-3)]]] ]
Select flexagon type:
Currently in state 1 of 1
   

Ltb: slot tuck top back flex

TO DO: Does this flex generalize beyond the hexaflexagon?

property
value
Prime?
yes
Inverse
Ltb' != ^Ltb^
Number of pats
6
Number of leaves
N + 4
Special requirements
no
4c 1 1 1 2 1
1 1 1 2 3 2
Loading...

  • in: [ [[1,[2,3]],4], 5, 6, 7, [8,9], 10 ]
  • out: [ -4, 1, -3, [-5,2], [[7,-9],-6], [-10,8] ]
Select flexagon type:
Currently in state 1 of 1
   

P: pinch flex

With the pinch flex, you “pinch” every other vertex all the way around the flexagon, then open it back up from the center. There are variations on higher order flexagons (like the octaflexagon or decaflexagon) where you skip more than one vertex between pinches.

property
value
Prime?
yes
Inverse
P' = ^P^
Number of pats
even
Number of leaves
N * 3 / 2
Special requirements
yes
2 1 2 1 2 1
1 2 1 2 1 2
Loading...

  • in: [ [1,2], 3, ... [i,i+1], i+2, ... [n-2,n-1], n ]
  • out: [ -1, [5,-3] ... -i, [i+4,-(i+2)], ... -(n-2), [2,-n] ]
Select flexagon type:
Currently in state 1 of 1
   

P44: pinch 44

property
value
Prime?
no, P44 = T2 (>)4 T1 (>)4
Inverse
P44' = ^P44^
Number of pats
8
Number of leaves
N + 4
Special requirements
no
Loading...

Select flexagon type:
Currently in state 1 of 1
   

P333: pinch 333

property
value
Prime?
no, P333 = T1 (>)3 T1 (>)3 T3 (>)3
Inverse
P333' = ^P333^
Number of pats
9
Number of leaves
N + 6
Special requirements
no
Loading...

Select flexagon type:
Currently in state 1 of 1
   

P334: pinch 334

property
value
Prime?
no, P334 = T1 (>)3 T1 (>)3 T1 (>)4
Inverse
P334' = ^P334^
Number of pats
10
Number of leaves
N + 6
Special requirements
no
Loading...

Select flexagon type:
Currently in state 1 of 1
   

P55: pinch 55

property
value
Prime?
no, P55 = T3 (>)5 T2 (>)5
Inverse
P55' = ^P55^
Number of pats
10
Number of leaves
Special requirements
no
Loading...

Select flexagon type:
Currently in state 1 of 1
   

P3333: pinch 3333

property
value
Prime?
P3333 = T1 (>)3 T1 (>)3 T1 (>)3 T3 (>)3
Inverse
P3333' = ^P3333^
Number of pats
12
Number of leaves
N + 8
Special requirements
no
Loading...

Select flexagon type:
Currently in state 1 of 1
   

P444: pinch 444

property
value
Prime?
no, P444 = T2 (>)4 T2 (>)4 T1 (>)4
Inverse
P444' = ^P444^
Number of pats
12
Number of leaves
N + 6
Special requirements
no
Loading...

Select flexagon type:
Currently in state 1 of 1
   

P66: pinch 66

property
value
Prime?
no, P66 = T4 (>)6 T3 (>)6
Inverse
P66' = ^P66^
Number of pats
12
Number of leaves
N + 4
Special requirements
no
Loading...

Select flexagon type:
Currently in state 1 of 1
   

S: pyramid shuffle flex

TO DO: Describe variant

property
value
Prime?
yes
Inverse
S' = ^>S<^
Number of pats
5 or more
Number of leaves
N + 4
Special requirements
no
2 1 1 1 4a 1
1 -4a 1 1 1 2
Loading...

  • in: [ [1,2], 3, ... i, ... [[[n-4,n-3],n-2],n-1], n ]
  • out: [ -(n-4), [1,[n-2,[2,-n]]], 3, ... i, ... [n-3,n-1] ]
Select flexagon type:
Currently in state 1 of 1
   

St: silver tetra flex

TO DO: Document the variations

property
value
Prime?
no, St = > T' <<^ T <^
Inverse
St' = ^St^
Number of pats
4 or more
Number of leaves
N + 4
Special requirements
only works with certain leaf angles
-3 1 1 1 -3 1
1 3 1 1 1 3
Loading...

  • in: [ [1,[2,3]], 4, ... i, ... [n-3,[n-2,n-1]], n ]
  • out: [ 2, [[-1,4]-3], ... i, ... n-2, [[^n-3,n],-(n-1)] ]
Select flexagon type:
Currently in state 1 of 1
   

T: tuck flex

The tuck flex requires a little bit of extra freedom in the flexagon in order to open it up enough to perform the flex. On a hexaflexagon, this means the vertex directly opposite the current vertex needs to open. On flexagons with more pats (heptaflexagon, octaflexagon, etc.), there are multiple vertices that could open to provide the needed freedom of movement. To distinguish between all the different places where the flexagon could have that additional freedom, a number is tacked on to T to indicate which vertex, e.g. T1, T2, etc.

property
value
Prime?
yes
Inverse
T' ~= ^T^
Number of pats
6 or more
Number of leaves
N + 3
Special requirements
additional needed structure
3 1 1 2 1 1
1 1 1 2 1 -3
Loading...

  • in: [ [[1,2],3], 4, ... [i,i+1], ... n-1, n ]
  • out: [ 2, 4, ... [i,i+1], ... n-1, [-1,[n,-3]] ]
Select flexagon type:
Currently in state 1 of 1
   

Tf: forced tuck

The forced tuck is of theoretical interest more than practical, since it requires you to modify the flexagon in some way, either trimming off large portions or damaging it as you try to flex. It’s the same as the tuck flex but without the additional flap that allows you to open up the flexagon, thus it’s useful if you’re trying to explore every state of a given flexagon that’s reachable via flexes.

property
value
Prime?
yes
Inverse
Tf' = ^Tf^
Number of pats
6 or more
Number of leaves
N + 2
Special requirements
no
3 1 1 1 1 1
1 1 1 1 1 -3
Loading...

  • in: [ [[1,2],3], 4 ... n-1, n ]
  • out: [ 2, 4, ... n-1, [-1,[n,-3]] ]
Select flexagon type:
Currently in state 1 of 1
   

Ttf: tuck top front flex

The tuck top front flex is the same as the tuck flex except that you open it up from the front rather than the back.

TO DO: Does this flex generalize beyond the hexaflexagon?

property
value
Prime?
no, Ttf = T > P <
Inverse
Ttf' != ^Ttf'^
Number of pats
6
Number of leaves
N + 4
Special requirements
additional needed structure
3 2 1 2 1 1
2 1 2 1 3 1
Loading...

  • in: [ [[2,-3],-1], [5,-4], 6, [-8,7], -9, -10 ]
  • out: [ [-4,3], -5, [7,-6], 8, [[-10,1],9], 2 ]
Select flexagon type:
Currently in state 1 of 1
   

Tk: ticket flex

The ticket flex gets its name from the partial flexes used in it: T'KKT. You start with an inverse tuck T', but instead of opening it all the way, you do a pair of pocket flexes K, and finally open it up as you would a Ttf. There are variants where you start with a T' or Ttf' and end by opening it up as you would a T or Ttf.

TO DO: Does this flex generalize beyond the hexaflexagon?
property
value
Prime?
no, Tk = Ltb' T << V ^
Inverse
Tk' != ^Tk^
Number of pats
6
Number of leaves
N + 5
Special requirements
no
1 1 1 2 4a 2
1 2 2 1 1 4b
Loading...

  • in: [ 1, 2, 3, [4,5], [[[6,7],8],9], [10,11] ]
  • out: [ 6, [-9,-7], [-5,-4], -3, -2, [[11,-8],[-1,10]] ]
Select flexagon type:
Currently in state 1 of 1
   

Tw: twist flex

This flex works best when the leaves are isosceles triangles, with one of the equal angles pointing at the center.

property
value
Prime?
yes
Inverse
Tw' = ^Tw^
Number of pats
8 or more, even
Number of leaves
N + N/2
Special requirements
only works with certain leaf angles
2 2 1 1 2 2 1 1
1 1 2 2 1 1 2 2
Loading...

  • in: [ [2,-1], [-4,3], -5, -6, [8,-7], [-10,9], -11, -12 ]
  • out: [ -2, -3, [5,-4], [-7,6], -8, -9, [11,-10], [-1,12] ]
  • in: [ [1,2], [3,4], 5, [6,7], 8, [9,10], 11, [12,13], 14, 15 ]
  • out: [ -1, -4, [-5,3], -7, [-8,6], -10, [-11,9], -13, [-14,12], [2,-15] ]
  • in: [ [1,2], [3,4], 5, [6,7], 8, 9, [10,11], [12,13], 14, [15,16], 17, 18 ]
  • out: [ -1, -4, [-5,3], -7, [-8,6], [11,-9], -10, -13, [-14,12], -16, [-17,15], [2,-18] ]
Select flexagon type:
Currently in state 1 of 1
   

V: v-flex

TO DO: Describe some of the variants

TO DO: Does this flex generalize beyond the hexaflexagon?

property
value
Prime?
yes
Inverse
V' = ^V^
Number of pats
6
Number of leaves
N + 3
Special requirements
no
1 2 2 1 1 2
2 1 1 2 2 1
Loading...

  • in: [ 1, [2,3], [4,5], 6, 7, [8,9] ]
  • out: [ [3,-1], -2, -5, [-6,4], [9,-7], -8 ]
Select flexagon type:
Currently in state 1 of 1
   

What next?

Go to the Table of Contents or the Flexagon Pages.

Copyright © 2018-2020 Scott Sherman