Up to index of Isabelle/HOL/HOL-Algebra
theory RingHomo(* Ring homomorphism $Id: RingHomo.thy,v 1.3 2005/09/17 18:49:15 wenzelm Exp $ Author: Clemens Ballarin, started 15 April 1997 *) theory RingHomo imports Ring begin constdefs homo :: "('a::ring => 'b::ring) => bool" "homo f == (ALL a b. f (a + b) = f a + f b & f (a * b) = f a * f b) & f 1 = 1" end
theorem homoI:
[| !!a b. f (a + b) = f a + f b; !!a b. f (a * b) = f a * f b; f (1::'a) = (1::'b) |] ==> homo f
theorem homo_add:
homo f ==> f (a + b) = f a + f b
theorem homo_mult:
homo f ==> f (a * b) = f a * f b
theorem homo_one:
homo f ==> f (1::'a) = (1::'b)
theorem homo_zero:
homo f ==> f (0::'a) = (0::'b)
theorem homo_uminus:
homo f ==> f (- a) = - f a
theorem homo_power:
homo f ==> f (a ^ n) = f a ^ n
theorem homo_SUM:
homo f ==> f (setsum g {..n}) = setsum (f o g) {..n}
theorem id_homo:
homo (%x. x)