algebraic pythagorean proofs