- can there be a program that can determine whether another program will halt?
- halt: finish execution / no loop forever
- [[Alan Turing]] proved this to be false using a proof by contradiction, making use of self reference
```
def g():
if halts(g):
loop_forever()
return
```