wenzelm@17388: (* ID: \$Id\$ wenzelm@17388: Author: Bernhard Haeupler wenzelm@17388: *) wenzelm@17388: wenzelm@17388: header {* Some examples demonstrating the comm-ring method *} wenzelm@17388: chaieb@17378: theory Commutative_RingEx wenzelm@17508: imports Commutative_Ring chaieb@17378: begin chaieb@17378: chaieb@17378: lemma "4*(x::int)^5*y^3*x^2*3 + x*z + 3^5 = 12*x^7*y^3 + z*x + 243" chaieb@17378: by comm_ring chaieb@17378: chaieb@17378: lemma "((x::int) + y)^2 = x^2 + y^2 + 2*x*y" chaieb@17378: by comm_ring chaieb@17378: chaieb@17378: lemma "((x::int) + y)^3 = x^3 + y^3 + 3*x^2*y + 3*y^2*x" chaieb@17378: by comm_ring chaieb@17378: chaieb@17378: lemma "((x::int) - y)^3 = x^3 + 3*x*y^2 + (-3)*y*x^2 - y^3" chaieb@17378: by comm_ring chaieb@17378: chaieb@17378: lemma "((x::int) - y)^2 = x^2 + y^2 - 2*x*y" chaieb@17378: by comm_ring chaieb@17378: chaieb@17378: lemma " ((a::int) + b + c)^2 = a^2 + b^2 + c^2 + 2*a*b + 2*b*c + 2*a*c" chaieb@17378: by comm_ring chaieb@17378: chaieb@17378: lemma "((a::int) - b - c)^2 = a^2 + b^2 + c^2 - 2*a*b + 2*b*c - 2*a*c" chaieb@17378: by comm_ring chaieb@17378: chaieb@17378: lemma "(a::int)*b + a*c = a*(b+c)" chaieb@17378: by comm_ring chaieb@17378: chaieb@17378: lemma "(a::int)^2 - b^2 = (a - b) * (a + b)" chaieb@17378: by comm_ring chaieb@17378: chaieb@17378: lemma "(a::int)^3 - b^3 = (a - b) * (a^2 + a*b + b^2)" chaieb@17378: by comm_ring chaieb@17378: chaieb@17378: lemma "(a::int)^3 + b^3 = (a + b) * (a^2 - a*b + b^2)" chaieb@17378: by comm_ring chaieb@17378: chaieb@17378: lemma "(a::int)^4 - b^4 = (a - b) * (a + b)*(a^2 + b^2)" chaieb@17378: by comm_ring chaieb@17378: chaieb@17378: lemma "(a::int)^10 - b^10 = (a - b) * (a^9 + a^8*b + a^7*b^2 + a^6*b^3 + a^5*b^4 + a^4*b^5 + a^3*b^6 + a^2*b^7 + a*b^8 + b^9 )" chaieb@17378: by comm_ring chaieb@17378: wenzelm@17388: end