For AVL Trees why is keeping a trit (left heavy, right heavy or balanced) sufficient? I was listening to Eric Demaine's video lecture on AVL trees and there was a claim that comes up that keeping a trit on each node (to indicate whether the node is left heavy, right heavy or balanced) should be sufficient for all AVL tree operations, so essentially we don't need to keep heights of the node for every node. Can anyone prove to me why that would be the case?
The core argument is that the balance can never change by more than one when inserting or deleting a single key; of course, since heights can only change by at most one.

That way, knowing the old balance (which is in $\{-1,0,1\}$) and if (and how) subtree heights changed is enough to know the new balance (which is in $\{-2,1,0,1,2\}$).
If the balance is $-2$ or $2$ we rotate, of course, and restore balance (in that node).

In order to prove this, simply write out all possible cases of old balances and changes due to insertion or deletion.