touistlogo

TouIST

A friendly language for propositional logic and more

forkme

Beyond the Boolean connectives of propositional logic, the input language of TouIST allows sets, conjunctions and disjunctions parametrized by sets, abbreviations You can express complex propositional formulas as

\[\bigwedge_{i\in\{1..9\}} \bigvee_{j\in\{1..9\}}\bigwedge_{n\in\{1..9\}}\bigwedge_{m\in\{1..9\},m\neq n}(p_{i,j,n}\rightarrow \lnot p_{i,j,m}) \]

which translates to:

    bigand $i in [1..9]:
      bigor $j in [1..9]:
        bigand $n,$m in [1..9],[1..9] when $m != $n:
          p($i,$j,$n) => not p(i,j,m)
        end
      end 
    end

We can conveniently express and solve problems such the sudoku (see the example).

The team behind TouIST consists of Frédéric Maris (Associate Professor), Olivier Gasquet (Full Professor), Dominique Longin (Research Scientist) and Maël Valais (PhD student) at the Institut de Recherche en Informatique de Toulouse (IRIT). It is a “second” or “new” version of a previous program, SAToulouse. TouIST is now actively developed in context of Maël Valais' PhD thesis.

Also, feel free to come to our Gitter chatroom for any request, bug or remarks! Or you can create a ticket on the issue tracker.

screenshot