mscroggs.co.uk
mscroggs.co.uk

subscribe

Blog

Logic bot, pt. 2

 2015-03-15 
A few months ago, I set @mathslogicbot (and @logicbot@mathstodon.xyz) 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!
×5      ×3      ×3      ×3      ×3
(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.
Great project! Would be interesting to have a version of this for the sheffer stroke.
om
×3   ×3   ×3   ×1   ×3     Reply
 Add a Comment 


I will only use your email address to reply to your comment (if a reply is needed).

Allowed HTML tags: <br> <a> <small> <b> <i> <s> <sup> <sub> <u> <spoiler> <ul> <ol> <li> <logo>
To prove you are not a spam bot, please type "hexagon" in the box below (case sensitive):

Archive

Show me a random blog post
 2024 

Feb 2024

Zines, pt. 2

Jan 2024

Christmas (2023) is over
 2023 
▼ show ▼
 2022 
▼ show ▼
 2021 
▼ show ▼
 2020 
▼ show ▼
 2019 
▼ show ▼
 2018 
▼ show ▼
 2017 
▼ show ▼
 2016 
▼ show ▼
 2015 
▼ show ▼
 2014 
▼ show ▼
 2013 
▼ show ▼
 2012 
▼ show ▼

Tags

fence posts finite element method dates inverse matrices video games datasaurus dozen boundary element methods cross stitch news matrix of minors standard deviation interpolation crossnumber big internet math-off sport signorini conditions christmas card captain scarlet preconditioning sound binary weather station rugby polynomials martin gardner hannah fry weak imposition talking maths in public stirling numbers matrices mathsjam edinburgh estimation game of life books quadrilaterals php pythagoras people maths world cup propositional calculus phd pi approximation day youtube misleading statistics gaussian elimination recursion royal baby gerry anderson chalkdust magazine christmas turtles ucl raspberry pi tennis mathsteroids gather town wave scattering curvature cambridge dinosaurs arithmetic newcastle trigonometry braiding rhombicuboctahedron guest posts matrix of cofactors game show probability hats draughts golden ratio countdown javascript numerical analysis 24 hour maths reddit platonic solids inline code bempp wool fonts national lottery sobolev spaces chebyshev asteroids crochet graph theory manchester correlation ternary noughts and crosses games errors mathslogicbot data craft logs live stream pac-man zines error bars reuleaux polygons programming machine learning determinants the aperiodical london underground python palindromes tmip dragon curves menace anscombe's quartet radio 4 puzzles plastic ratio geogebra runge's phenomenon final fantasy fractals light coins statistics exponential growth convergence football triangles logic folding paper folding tube maps bubble bobble european cup numbers mean hyperbolic surfaces a gamut of games hexapawn graphs data visualisation dataset squares logo london golden spiral sorting latex approximation matt parker pi go finite group nine men's morris manchester science festival flexagons computational complexity databet oeis royal institution harriss spiral electromagnetic field map projections stickers advent calendar pizza cutting bodmas matrix multiplication accuracy realhats probability speed frobel chess simultaneous equations pascal's triangle geometry

Archive

Show me a random blog post
▼ show ▼
© Matthew Scroggs 2012–2024