Like Brainfuck, THRAT has a memory block (4096 bytes by default) and a memory pointer that points to a single byte in the block.
The ten operations are the eight from Brainfuck plus two more:
|0||Halt program execution|
|1||Increment the memory cell under the pointer|
|2||Decrement the memory cell under the pointer|
|3||Move the pointer to the right|
|4||Move the pointer to the left|
|5||Jump past the matching |
|6||Jump back to the matching |
|7||Output the value of the cell under the pointer as a number|
|8||Output the character signified by the cell at the pointer|
|9||Input a character and store it in the cell at the pointer|
There is an operation pointer which points to a single operation (initially the first). The ; instruction increments the operation pointer by 1, and the : instruction executes the operation which is currently pointed at.
The THRAT commands are a proper superset of Brainfuck's, with no special restriction on the execution of arbitrary commands at arbitrary points; the THRAT specification also does not preclude having an unbounded store (either a block of infinite size, or a block which grows when the bounds are exceeded.) So THRAT is in the same computational class as Brainfuck. Brainfuck is Turing-complete, so THRAT is Turing-complete as well.