theotui 0.3.0

A TUI to explore theoretical computer science topics.
theotui-0.3.0 is not a library.

theotui

A TUI for various topics from theoretical computer science, implemented in Rust with Ratatui.
It aims to help learning these topics by offering simple ways of exploration and experimentation.
Currently the following topics are implemented:

  • set theory
  • propositional logic
  • deterministic finite automata

More will follow.
The core logic, without the TUI part, can be used through the crate theoinf.

set theory

All the usual operations of naive set theory are implemented.
Press F1 to toggle the help next to the editor.
Press F5 to let your terms be evaluated.

propositional logic

All the usual operations of propositional logic are implemented.
Press F1 to toggle the help next to the editor.
Press F5 or Enter to let your formula be evaluated.
The truth table can be filtered with Ctrl-t/Ctrl-f to only show the assignments resulting in true or false.
The CNF and DNF are constructed if possible.

deterministic finite automata (DFA)

A DFA is defined with the usual 5 parts:

  • Sigma, the alphabet
  • S, the set of states
  • start, the starting state
  • F, the set of accepting states
  • delta, the set of state transitions

A single transition is a tuple of 3: (current_state, symbol, next_state)
Press F1 to toggle the help next to the editor.
Press F5 or Enter in the Word input to let your word be checked for acceptance.

Installation

cargo install theotui