# Teaching Tools

This page provides several online tools to solve standard problems that occur in the lectures offered by the embedded systems group. These tools are intended to help our students with the preparation of their exams and to check the solutions of their exercises. The use of these tools for other purposes is not allowed, and no guarantees for the correctness of the computed results is given.### General Remarks (Syntax of Propositional Logic)

If propositional formulas are required as inputs, the following rules concerning the syntax have to be considered:- Variable names must consist of alphanumeric symbols and the underscore character _. They must not start with a digit and they must also not start with the underscore character.
- Propositional operators are
!,&,^,|,->,<->

for negation, conjunction, exclusive-or, disjunction, implication, and equivalence (with decreasing precedences in this order). Alternatively, you may use the characters ¬,∧,⊕,∨,→, and ↔. Yet another alternative would be to write operators in words:`not,and,xor,or,imp,eqv`.

Please note that the computation time has been restricted to 60 seconds to avoid denial of service attacks. In case of problems with the existing tools or proposals for new tools, contact Prof. Schneider.

### Tools

There are teaching tools on the following topics:- Codes
- Prefix Codes (Shannon-Fano, Huffman, Fibonacci, Arithmetic Codes)
- Mastermind
- Linear Separated Codes
- CRC checksums

- Arithmetic
- Propositional Logic
- Automata and State Transition Systems
- Automata (Determinization, Associated Transition System, Transition Monoid)
- (Bi)Simulation of Kripke Structures (also Quotients and Products)
- Symbolic Representation (computes also predecessor/successor states)

- Model Checking
- Compiler
- Processor Architecture
- Models of Computation