-
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 Theory
Part 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 Theory
Part 3: The (Temporal) Logic of ActionsTLA, 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 Theory
Part 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.