James Cannon — American mathematician