Although George is guilty of pulling the trigger, he saved Lennie from dying a horrible hanging death at the hands of Curley. In one sense, George saved Lennie from an agonizing death. If George had not shot Lennie, he would have been at the mercy of Curley. Since Curley had no compassion, Lennie would have been hanged. Curley would have tortured Lennie. George is innocent because he saved Lennie from a horrible hanging death. George made sure Lennie felt no pain:
With great difficulty George fires the gun at the place where Carlson had told Candy to shoot the dog, the spot at which the creature would die feeling no pain.
When the reader considers that Curley would have tortured Lennie, it appears that George is innocent of taking Lennie's life. George saved Lennie's life from suffering at the hands of a cruel man. Because of George's compassion, Lennie is free from all worry and pain.
If Curley had gotten to Lennie first, he would have caused Lennie to suffer unmercifully. Lennie did not deserve to die. He killed Curley's wife accidentally. Nonetheless, Curley would not have reasoned with Lennie.
George did Lennie a favor by pulling the trigger. Lennie was already a dead man due to Curley's anger. George is not guilty of killing Lennie. George saved Lennie from hanging. George saved Lennie from Curley. Lennie dies hearing George tell about their dream. Lennie dies dreaming about his farm and farmhouse. Thanks to George, Lennie will suffer no more.
George had no choice. He had to shoot Lennie. He is guilty of having compassion on a mentally ill man. Even Slim knows that George had no choice:
Slim, still at George’s side, says again that George only did what he had to do.