• ## People Don't Write Programs

When thinking about software verification, we tell ourselves a story about how people write programs. This story isn't true.

• ## Finite of Sense and Infinite of Thought: A History of Computation, Logic and Algebra, Part III

The history of computation, logic and algebra, told by primary sources. Part 3 covers the logicistic/mathematical/computational period of logic in the twentieth century.

• ## Finite of Sense and Infinite of Thought: A History of Computation, Logic and Algebra, Part II

The history of computation, logic and algebra, told by primary sources. Part 2 covers the algebraic period of logic in the nineteenth century.

• ## Finite of Sense and Infinite of Thought: A History of Computation, Logic and Algebra, Part I

The history of computation, logic and algebra, told by primary sources. Part 1 covers the classical and embryonic periods of logic, from Aristotle in the fourth century, BCE, to Euler in the eighteenth century.

• ## Curry On Talk: The Practice and Theory of TLA+

My Curry On talk about TLA+

• ## TLA+ in Practice and TheoryPart 4: Order in TLA+

We learn how to encapsulate and compose TLA+ specifications, of the precise mathematical definition of abstraction, and compare TLA+'s notion of abstraction with those of other formalisms. Plus some various cool stuff.

• ## TLA+ in Practice and TheoryPart 3: The (Temporal) Logic of Actions

TLA, the Temporal Logic of Actions is the core of TLA+. It is a temporal logic that minimizes the use of temporal reasoning in favor of more ordinary mathematics. It is a general mathematical framework for describing and reasoning about algorithms and systems.

• ## TLA+ in Practice and TheoryPart 2: The + in TLA+

We explore the data logic of TLA+, the means by which TLA+ specifications describe a state of computation: its data structures. To do that, we first cover the basics of mathematical logic.