But if you forget for a moment your semantic argument, you find that is actually very hard to forgive somebody that doesn't admit to have done something wrong.
It is a practice, something you do in spite of it being challenging.
The practice itself is mostly for the forgiver, not the forgiven. Try it and watch your heart soften and open.