I have seen the Config, and it is Markdown
I Bless Thy Debugger My Child
Friday, 24 July 2026
Theorem Proving in Lean - Basics of Dependent Type Theory
Theorem Proving in Lean - Three Definitions to Get Started
This is an abridged account of Theorem Proving in Lean capturing only the SSPs, or super salient points.
Here are some three starting definitions essential for understanding this topic:
Formal verification - using logical and computational methods to establish claims that are expressed in precise mathematical terms. Example claims - mathematical theorem /hypothesis, claims that pieces of hardware or software, network protocols, security protocols - do what they say they actually do. The process is "describe your system in mathematical terms" ,then use "theorem proving" to establish truth.
Automated theorem proving - focused on "finding". The "ATP" toolkit includes: resolution theorem provers, tableau theorem provers, fast satisfiability solvers to provide means of establishing validity of formulas in propositional and first-order logic. Computer algebra systems may be used in concert to carry out mathematical computations.
Automated reasoning - differs; not as "cast iron" as theorem proving. Automated reasoning is a superset of automated theorem proving, which includes imprecise techniques such as heuristic search and fuzzy logic.
Thursday, 23 July 2026
The Lean Programming Language
The Lean Programming language is being used to create a new proof of Fermat's Last Theorem. Some lecture notes from London's Imperial College set the scene.
Theoretical Foundation (DTT)
Dependent type theory (DTT) is the theoretical foundation of Lean (the link provided takes you into the Lean manual and gives a brief intro to the theory) which bears "categorical semantics".
Getting Started with Lean
- The best way to get started in Lean is to read Functional Programming in Lean.
- The next step is to read Theorem Proving in Lean.
Who created Lean
Lean was created by Brazilian computer scientist Leonardo de Moura, in 2013, when he worked in Microsoft Research (where he worked for 16 years). Leonardo is now Senior Principal Applied Scientist at AWS, where he works in the Automated Reasoning Group. Lean is available under the Apache 2.0 license.
ngrams, ngrams everywhere
An n-gram is a continuous sequence of n items - words, letters or symbols - from text or speech, used to analyze patterns and predict sequences in language.
Suppose we choose the items of our n-gram as "words". We then have the following taxonomy:
- unigram - consisting of a single word e.g. design
- bigram - consisting of two words e.g. design experiments
- trigram - e.g. design of experiments
Wednesday, 22 July 2026
mTLS - building machine to machine trust
What is mTLS?
mTLS is also known as mutual TLS, after the ubiquitous security protocol. It is used in environments where machine-to-machine trust really matters.
Where in general is mTLS used? Where specifically is mTLS used? Did someone say "Kubernetes service mesh"? I think so!
It's not generally used for public websites, but inside serious enterprise systems, it's a standard way to guarantee only authenticated services speak to each other.
Examples in modern infrastructure include: Kubernetes service meshes (Istio, Linkerd), API gateways, internal microservices, banking and trading and zero-trust networks.