Project Description

The purpose of this project was to make a symantic tableaux solver for an S5 (for K) and KD45 (for B) KL system in PHP. (Page 89 of Epistemic Logic for AI and Computer Science) This means the basic KL logical formulas, enhanced with the S5 and KD45 axioms.
To do this, all axioms from these system have to be implemented of course. Additionally, all PHP code for "reading" logic had to be added. A valid question would of course be "why?", the answer is simple, because I could. Writing a tableaux solver gives one a really solid understanding of the principles involved, and because of that, I can recommend it to everyone. One of the main advantages of a "web based" solver is that it removes the need for any shell access to some remote server that has sufficient CPU power, with this, a simple web browser will suffice.

Design

The design makes rougly the following steps:

The code itself makes use of methods whereever possible, to keep the code maintainable. To go any further into detail here would be a bit over the top, since the code already shows an interested reader what is going on (with comments for additional guidance).

I would say one more thing about the process of making this program, Meeting the requirement for euclideanism, was one of the harder parts, since it required the model to be made in such a way that it allowed one to go up in the set of transitions again. (After all, the implication is that when for example K1a apprears in the "true" set, it must also have been there in any previously reachable worlds (<>A->[]<>A).

The solver can be found: here (password is "mas").

Future work

Possible suggestions for improvement include:

Gijs Hofstee (S1849700)