The minimum is one instruction and it was even implemented in reality in the carbone nanotube computer or the MAXQ chip
Although only one is enough but in fact it's much more complicated than you thought, and often needs more instruction to do the same work. If you need the chip's speed to be "usable" then IMO it should have at least some common instructions:
- 1 conditional jump instruction: jump on equal (or not equal)
- 1 SUB instruction for arithmetics. This way you can do both addition and subtraction easily without a negate instruction
- 1 bitwise instruction: NAND (or NOR), with one of this you can do any logic operations needed
- 1 MOV instruction
- 1 load/store instruction
With sub or bitwise instruction you can do a move data so depend on your architecture and the opcode size you may remove MOV or load/store to simpify it even more.