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)