返回 NPA
声明
ring_hom_add
Mathlib.Algebra.Ring.FirstIsomorphism.Basic
包
2
模块
63
定理
750
声明
1016
非可信 sidecar
源文本和展示 overlay 属于展示元数据。可信证据是签名证书和 checker 结果。
陈述
forall (R : Sort u), forall (zeroR : R), forall (oneR : R), forall (addR : forall (a : R), forall (b : R), R), forall (negR : forall (a : R), R), forall (subR : forall (a : R), forall (b : R), R), forall (mulR : forall (a : R), forall (b : R), R), forall (S : Sort v), forall (zeroS : S), forall (oneS : S), forall (addS : forall (a : S), forall (b : S), S), forall (negS : forall (a : S), S), forall (subS : forall (a : S), forall (b : S), S), forall (mulS : forall (a : S), forall (b : S), S), forall (f : forall (x : R), S), forall (hom_args : @RingHomLawArgs.{u,v} R zeroR oneR addR negR subR mulR S zeroS oneS addS negS subS mulS f), forall (a : R), forall (b : R), @Eq.{v} S (f (addR a b)) (addS (f a) (f b))
证明项
theorem ring_hom_add.{u,v} :
forall (R : Sort u), forall (zeroR : R), forall (oneR : R), forall (addR : forall (a : R), forall (b : R), R), forall (negR : forall (a : R), R), forall (subR : forall (a : R), forall (b : R), R), forall (mulR : forall (a : R), forall (b : R), R), forall (S : Sort v), forall (zeroS : S), forall (oneS : S), forall (addS : forall (a : S), forall (b : S), S), forall (negS : forall (a : S), S), forall (subS : forall (a : S), forall (b : S), S), forall (mulS : forall (a : S), forall (b : S), S), forall (f : forall (x : R), S), forall (hom_args : @RingHomLawArgs.{u,v} R zeroR oneR addR negR subR mulR S zeroS oneS addS negS subS mulS f), forall (a : R), forall (b : R), @Eq.{v} S (f (addR a b)) (addS (f a) (f b)) :=
fun R => fun zeroR => fun oneR => fun addR => fun negR => fun subR => fun mulR => fun S => fun zeroS => fun oneS => fun addS => fun negS => fun subS => fun mulS => fun f => fun hom_args => fun a => fun b => hom_args (@Eq.{v} S (f (addR a b)) (addS (f a) (f b))) (fun (hom_zero_arg : @Eq.{v} S (f zeroR) zeroS) => fun (hom_one_arg : @Eq.{v} S (f oneR) oneS) => fun (hom_add_arg : forall (a : R), forall (b : R), @Eq.{v} S (f (addR a b)) (addS (f a) (f b))) => fun (hom_neg_arg : forall (a : R), @Eq.{v} S (f (negR a)) (negS (f a))) => fun (hom_mul_arg : forall (a : R), forall (b : R), @Eq.{v} S (f (mulR a b)) (mulS (f a) (f b))) => hom_add_arg a b)