Proofs and computation with trees

In this post, I will make the analogy between trees and proofs and computation.

Lately (after a long pause), I started reading Logical Foundations again and started re-doing the exercises for the latest version (6.5). While doing the proofs this time, I kept thinking about tree traversals, so that inspired me to write this post.

Continue reading “Proofs and computation with trees”

Deriving a Quine in a Lisp

As with my previous post, this post is another excerpt that will be included in my final Master’s thesis, but I decided it is interesting enough to post it on its own.

We start with a definition of diagonalization (or quotation), as discussed in The Gödelian Puzzle Book:

Definition 1: For an expression P in which a variable x occurs, we say that its diagonalization D(P(x)) is the substitution of the variable x with the quoted expression P(x).

This definition allows us to represent self-referential expressions.

Continue reading “Deriving a Quine in a Lisp”