Constraint programming is a programming paradigm where problems are stated declaratively. In this post, I will implement a very simple constraint solver.
Continue reading “A simple Constraint Programming implementation”
life, mathematics, programming
Constraint programming is a programming paradigm where problems are stated declaratively. In this post, I will implement a very simple constraint solver.
Continue reading “A simple Constraint Programming implementation”
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.
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 in which a variable
occurs, we say that its diagonalization
is the substitution of the variable
with the quoted expression
.
This definition allows us to represent self-referential expressions.
This post is an 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 will define a few of Peano’s axioms together with a procedure for substitution in equations so that we can prove some theorems using this system.
This blog post will serve as a quick tutorial to basic probability and random variables, and encoding them in Racket. It assumes basic knowledge with sets and programming.
Continue reading “Encoding probability and random variables in Racket”