Blog
2026-04-06
I've recently been thinking about Wordle,
the Mastermind-style
word guessing game, that everyone was playing and talking about in 2020. Specifically, I've been
thinking about mixing Wordle with other games.
Tetris
The first game I tried mixing Wordle with is Tetris, the addictive puzzle game that made
tetrominos famous.
In Wordle, letters that you guess are coloured green (letter in the right place),
yellow (letter that's in the answer but in the wrong place), or grey (letter not in the answer).
Inspired by noticing that the yellow squares in one of my Wordle attempts made a Tetris S-block, I
created a new bot on Bluesky: @wordle-tetris.bsky.social.
This bot posts a set of six words each day that make the next frame in a game of Tetris when
used on Wordle. Every time, the bot is given a new piece, it quickly rotates and moves it into
what it thinks is the best position (24 hours
between frames gives the bot a lot of time to press the buttons to do this) then lets the block fall.
Currently, the bot does not move or rotate the block as it falls.
For example, the bot's first post was:
| L | U | R | I | D |
| P | U | L | U | T |
| A | A | R | G | H |
| R | H | O | N | E |
| B | R | I | D | E |
| R | E | F | A | N |
The following day it posted:
| W | E | B | B | Y |
| T | R | A | I | N |
| A | T | R | I | A |
| L | E | V | E | L |
| L | I | M | M | A |
| W | I | P | E | D |
It continued until it posted this on the fifth day:
| B | U | N | D | U |
| K | A | P | P | A |
| M | A | C | C | A |
| D | U | R | A | L |
| H | O | K | U | M |
| M | O | I | L | E |
| C | O | R | K | Y |
| L | E | F | T | E |
| D | O | R | S | A |
| F | E | D | E | X |
| S | T | R | O | P |
| E | T | A | P | E |
On the eighth day,
the bot reached its first game over, as there was no valid word that could give this row:
After a couple of games, I updated the code that runs the bot so that it now picks
commonly used words whenever it can. This makes
the bot's more recent posts
look a lot more like actual guesses someone could have made:
| B | R | E | A | D |
| M | E | T | E | R |
| K | A | R | M | A |
| L | I | K | E | D |
| A | P | A | R | T |
| T | O | U | G | H |
In Wordle, it's impossible to get four green squares and one yellow square in a row, as if four
letters are correct, the other letter cannot be a correct letter in the wrong position. This means
that Wordle Tetris bot can never clear more than two lines at once, as a line with four greens and
a yellow must appear at some point on the way to the clearance. the bot can clear two lines at once
though if it mangages to set up something like this:
If you prefer your explanations in video form, Ayliean made a fun
YouTube short about the Wordle Tetris bot.
And if you're interested, the code that runs the bot is available on Codeberg.
Pokémon Blue
The other game that I've recently mixed Wordle with is Pokémon Blue.
Whenever I play Pokémon on an emulator, I use
W, A, S and D for the arrow keys,
K and J for the A and B buttons,
and O and I for the start and select buttons. In February, I started playing a game with the
keyboard input used to play both Pokémon Blue and Wordle.
To give myself a chance of
getting some way through the game, I'm allowed to know the solution to the day's Wordle and can
use it to play which words to use to get as many useful key presses as I can. Each day's video
is posted a day late to avoid spoiling Wordle for anyone still playing it.
Just over a week after starting, I'd pressed J and K enough to get
through the introduction and started walking around. After another ten days,
I picked Bulbasaur to be my starter pokémon then
promptly started a ten day long battle against my rival.
Probably the best day so far was day 46, when I
managed to find words to attack and knock out a pidgey, get thorough the post-battle text, then
walk four steps.
The full game so far is on this YouTube playlist.
So far, I've been playing for 53 days and have got about a third of the way along Route 1.
The current Pokémon Blue
speedrun record did this in 2 minutes and 51 seconds and went on to complete the game in 1 hour and 43 minutes.
Using this as a rough estimate of the proportion of the game completed, it looks like it'll take
around 5 and a quarter years to complete Pokémon Wordle. See you on Victory Road in May
2031...
(Click on one of these icons to react to this blog post)
You might also enjoy...
Comments
Comments in green were written by me. Comments in blue were not written by me.
Add a Comment
2020-07-29
A week ago, it was 22 July: Pi Approximation Day.
22/7 (22 July in DD/M format) is very close to pi, closer in fact than 14 March's
approximation of 3.14 (M.DD).
During this year's Pi Approximation Day, I was wondering if there are other days that give good
approximations of interesting numbers. In particular, I wondered if there is a good 2π (or τ)
approximation day.
π is close to 22/7, so 2π is close to 44/7—but sadly there is no 44th July.
The best approximation day for 2π is 25th April, but 25/4 (6.25) isn't really close to
2π (6.283185...) at all. The day after Pi Approximation Day, however, is a good approximation of 2π-3 (as π-3 is
approximately 1/7). After noticing this, I realised that the next day would be a good approximation
of 3π-6, giving a nice run of days in July that closely approximate expressions involving pi.
After I tweeted about these three, Peter Rowlett suggested
that I could get a Twitter bot to do the work for me. So I made one:
@HappyApproxDay.
Since writing this post, Twitter broke @HappyApproxDay by changing their API, but the bot lives on on
Mathstodon (@HappyApproxDay@mathstodon.xyz)
and Bluesky (@happyapproxday.bsky.social).
@HappyApproxDay is currently looking for days that approximate expressions involving
π, τ, e, √2 and √3, and approximate the chosen expression better than
any other day of the year. There are an awful lot of ways to combine these numbers, so @HappyApproxDay@mathstodon.xyz
looks like it might be tooting quite a lot...
Edit: Added Mastodon and Bluesky links
(Click on one of these icons to react to this blog post)
You might also enjoy...
Comments
Comments in green were written by me. Comments in blue were not written by me.
Add a Comment
2020-05-03
This is a post I wrote for The Aperiodical's Big Lock-Down Math-Off. You can vote for (or against) me here until 9am on Tuesday...
A few years ago, I made @mathslogicbot (now relocated to @logicbot@mathstodon.xyz and @logicbot.bsky.social), a Twitter bot that tweets logical tautologies.
The statements that @mathslogicbot tweets are made up of variables (a to z) that can be either true or false, and the logical symbols
\(\lnot\) (not), \(\land\) (and), \(\lor\) (or), \(\rightarrow\) (implies), and \(\leftrightarrow\) (if and only if), as well as brackets.
A tautology is a statement that is always true, whatever values are assigned to the variables involved.
To get an idea of how to interpret @mathslogicbot's statements, let's have a look at a few tautologies:
\(( a \rightarrow a )\). This says "a implies a", or in other words "if a is true, then a is true". Hopefully everyone agrees that this is an always-true statement.
\(( a \lor \lnot a )\). This says "a or not a": either a is true, or a is not true
\((a\leftrightarrow a)\). This says "a if and only if a".
\(\lnot ( a \land \lnot a )\). This says "not (a and not a)": a and not a cannot both be true.
\(( \lnot a \lor \lnot \lnot a )\). I'll leave you to think about what this one means.
(Of course, not all statements are tautologies. The statement \((b\land a)\), for example, is not a tautology as is can be true or false depending on the
values of \(a\) and \(b\).)
While looking through @mathslogicbot's tweets, I noticed that a few of them are interesting, but most are downright rubbish.
This got me thinking: could I get rid of the bad tautologies like these, and make a list of just the "interesting" tautologies. To do this, we first need to
think of different ways tautologies can be bad.
Looking at tautologies the @mathslogicbot has tweeted, I decided to exclude:
- tautologies like \((a\rightarrow\lnot\lnot\lnot\lnot a)\) that contain more than one \(\lnot\) in a row.
- tautologies like \(((a\lor\lnot a)\lor b)\) that contain a shorter tautology. Instead, tautologies like \((\text{True}\lor b)\) should be considered.
- tautologies like \(((a\land\lnot a)\rightarrow b)\) that contain a shorter contradiction (the opposite of a tautology). Instead, tautologies like \((\text{False}\rightarrow b)\) should be considered.
- tautologies like \((\text{True}\lor\lnot\text{True})\) or \(((b\land a)\lor\lnot(b\land a)\) that are another tautology (in this case \((a\lor\lnot a)\)) with a variable replaced with something else.
- tautologies containing substatements like \((a\land a)\), \((a\lor a)\) or \((\text{True}\land a)\) that are equivalent to just writing \(a\).
- tautologies that contain a \(\rightarrow\) that could be replaced with a \(\leftrightarrow\), because it's more interesting if the implication goes both ways.
- tautologies containing substatements like \((\lnot a\lor\lnot b)\) or \((\lnot a\land\lnot b)\) that could be replaced with similar terms (in these cases \((a\land b)\) and \((a\lor b)\) respectively) without the \(\lnot\)s.
- tautologies that are repeats of each other with the order changed. For example, only one of \((a\lor\lnot a)\) and \((\lnot a\lor a)\) should be included.
After removing tautologies like these, some of my favourite tautologies are:
- \(( \text{False} \rightarrow a )\)
- \(( a \rightarrow ( b \rightarrow a ) )\)
- \(( ( \lnot a \rightarrow a ) \leftrightarrow a )\)
- \(( ( ( a \leftrightarrow b ) \land a ) \rightarrow b )\)
- \(( ( ( a \rightarrow b ) \leftrightarrow a ) \rightarrow a )\)
- \(( ( a \lor b ) \lor ( a \leftrightarrow b ) )\)
- \(( \lnot ( ( a \land b ) \leftrightarrow a ) \rightarrow a )\)
- \(( ( \lnot a \rightarrow b ) \leftrightarrow ( \lnot b \rightarrow a ) )\)
You can find a list of the first 500 "interesting" tautologues here. Let me know on Twitter
which is your favourite. Or let me know which ones you think are rubbish, and we can further refine the list...
Edit: Added Mastodon and Bluesky links
(Click on one of these icons to react to this blog post)
You might also enjoy...
Comments
Comments in green were written by me. Comments in blue were not written by me.
Add a Comment
2016-10-08
During my Electromagnetic Field talk this year, I spoke about @mathslogicbot (now reloated to @logicbot@mathstodon.xyz and @logicbot.bsky.social), my Twitter bot that is working its way through the tautologies in propositional calculus. My talk included my conjecture that the number of tautologies of length \(n\) is an increasing sequence (except when \(n=8\)). After my talk, Henry Segerman suggested that I also look at the number of contradictions of length \(n\) to look for insights.
A contradiction is the opposite of a tautology: it is a formula that is False for every assignment of truth values to the variables. For example, here are a few contradictions:
$$\neg(a\leftrightarrow a)$$
$$\neg(a\rightarrow a)$$
$$(\neg a\wedge a)$$
$$(\neg a\leftrightarrow a)$$
The first eleven terms of the sequence whose \(n\)th term is the number of contradictions of length \(n\) are:
$$0, 0, 0, 0, 0, 6, 2, 20, 6, 127, 154$$
This sequence is A277275 on OEIS. A list of contractions can be found here.
For the same reasons as the sequence of tautologies, I would expect this sequence to be increasing. Surprisingly, it is not increasing for small values of \(n\), but I again conjecture that it is increasing after a certain point.
Properties of the sequences
There are some properties of the two sequences that we can show. Let \(a(n)\) be the number of tautolgies of length \(n\) and let \(b(n)\) be the number of contradictions of length \(n\).
First, the number of tautologies and contradictions, \(a(n)+b(n)\), (A277276) is an increasing sequence. This is due to the facts that \(a(n+1)\geq b(n)\) and \(b(n+1)\geq a(n)\), as every tautology of length \(n\) becomes a contraction of length \(n+1\) by appending a \(\neg\) to be start and vice versa.
This implies that for each \(n\), at most one of \(a\) and \(b\) can be decreasing at \(n\), as if both were decreasing, then \(a+b\) would be decreasing. Sadly, this doesn't seem to give us a way to prove the conjectures, but it is a small amount of progress towards them.
Edit: Added Mastodon and Bluesky links
(Click on one of these icons to react to this blog post)
You might also enjoy...
Comments
Comments in green were written by me. Comments in blue were not written by me.
Add a Comment
2015-03-15
A few months ago, I set
@mathslogicbot (and @logicbot@mathstodon.xyz and @logicbot.bsky.social) going on the
long task of tweeting all the tautologies (containing 140 characters or less)
in propositional calculus with the symbols \(\neg\) (not), \(\rightarrow\)
(implies), \(\leftrightarrow\) (if and only if), \(\wedge\) (and) and \(\vee\)
(or). My first post on logic bot contains a full
explanation of propositional calculus, formulae and tautologies.
An alternative method
Since writing the original post, I have written an alternative script to
generate all the tautologies.
In this new method, I run through all possible strings of length 1 made
with character in the logical language, then strings of length 2, 3 and so on.
The script then checks if they are valid formulae and, if so, if they are
tautologies.
In the new script, only formulae where the first appearances of variables
are in alphabetical order are considered. This means that duplicate tautologies
are removed. For example, \((b\rightarrow(b\wedge a))\) will now be counted as
it is the same as \((a\rightarrow(a\wedge b))\).
You can view or download this alternative code on
github.
All the terms of the sequence that I have calculated so far can be viewed
here and the tautologies for these terms are
here.
Sequence
One advantage of this method is that it generates the tautologies sorted by
the number of symbols they contain, meaning we can generate the sequence whose
\(n\)th term is the number of tautologies of length \(n\).
The first ten terms of this sequence are
$$0, 0, 0, 0, 2, 2, 12, 6, 57, 88$$
as there are no tautologies of length less than 5; and, for example two
tautologies of length 6 (\((\neg a\vee a)\) and \((a\vee \neg a)\)).
This sequence is listed as
A256120 on OEIS.
Properties
There are a few properties of this sequence that can easily be shown.
Throughout this section I will use \(a_n\) to represent the \(n\)th
term of the sequence.
Firstly, \(a_{n+2}\geq a_n\). This can be explained as follows: let \(A\)
be a tautology of length \(n\). \(\neg\neg A\) will be of length \(n+2\) and
is logically equivalent to \(A\).
Another property is \(a_{n+4}\geq 2a_n\): given a tautology \(A\) of length
\(n\), both \((a\vee A)\) and \((A\vee a)\) will be tautologies of length
\(n+4\). Similar properties could be shown for \(\rightarrow\),
\(\leftrightarrow\) and \(\wedge\).
Given properties like this, one might predict that the sequence will be
increasing (\(a_{n+1}\geq a_n\)). However this is not true as \(a_7\) is 12
and \(a_8\) is only 6. It would be interesting to know at how many points in
the sequence there is a term that is less than the previous one. Given the
properties above it is reasonable to conjecture that this is the only one.
Edit: The sequence has been published on OEIS!
Edit: Added Mastodon and Bluesky links
(Click on one of these icons to react to this blog post)
You might also enjoy...
Comments
Comments in green were written by me. Comments in blue were not written by me.
You should do a logic bot for logical graphs ...
• https://oeis.org/wiki/Logical_Graphs
• https://inquiryintoinquiry.com/2024/08...
• https://inquiryintoinquiry.com/2024/09...
• https://inquiryintoinquiry.com/2025/05...
it would be great !!!
• https://oeis.org/wiki/Logical_Graphs
• https://inquiryintoinquiry.com/2024/08...
• https://inquiryintoinquiry.com/2024/09...
• https://inquiryintoinquiry.com/2025/05...
it would be great !!!
Jon Awbrey
Great project! Would be interesting to have a version of this for the sheffer stroke.
om
Add a Comment














