In the working directory, you copy in the changes done on both branches, and reconcile their differences.
You create a new snapshot, a “merge” snapshot, from the working directory.
But there is something special about this snapshot:
Instead of just a single parent, this merge snapshot has two parents!
The first parent is the latest on your ‘math’ branch and the second parent is Zoe’s latest on her ‘math’ branch.