返回 NPA
模块
Mathlib.Algebra.Group.Kernel
npa-mathlib
包
2
模块
63
定理
750
声明
1016
非可信 sidecar
源文本和展示 overlay 属于展示元数据。可信证据是签名证书和 checker 结果。
定理
3
定义
0
归纳类型
0
公理
1
声明
kernel_mul_closed
forall (G : Sort u), forall (oneG : G), forall (mulG : forall (a : G), forall (b : G), G), forall (invG : forall (a : G), G), forall (H : Sort v), forall (oneH...
kernel_inv_closed
forall (G : Sort u), forall (oneG : G), forall (mulG : forall (a : G), forall (b : G), G), forall (invG : forall (a : G), G), forall (H : Sort v), forall (oneH...
kernel_conj_closed
forall (G : Sort u), forall (oneG : G), forall (mulG : forall (a : G), forall (b : G), G), forall (invG : forall (a : G), G), forall (H : Sort v), forall (oneH...
Eq.rec
哈希
- source
- sha256:962c2db5be02218d92e681a9d92035d12cd06f23515aafad793dd5612ae14736
- certificateFile
- sha256:66724ebc31b2a845aa5e91dc9468f5470ee1b6ecb22b7b5632dfc912b3f96d0c
- export
- sha256:5c1a39b0e9f82dc1014e3e63549c71eab3db6383024a87408e4e95e06bc33fbb
- axiomReport
- sha256:39f92e3a74edf201d900d93abeebb9c404ea8c141bfc46761f7e889c9f8cf9f7
- certificate
- sha256:8d1c72935c2c22edd3911a907df17b3e84b95ebae56fb27f4f514dcd6dbef14d
源文本
import Std.Logic.Eq
import Mathlib.Logic.EqReasoning
import Mathlib.Algebra.Group.Basic
theorem kernel_mul_closed.{u,v} :
forall (G : Sort u), forall (oneG : G), forall (mulG : forall (a : G), forall (b : G), G), forall (invG : forall (a : G), G), forall (H : Sort v), forall (oneH : H), forall (mulH : forall (a : H), forall (b : H), H), forall (invH : forall (a : H), H), forall (f : forall (x : G), H), forall (groupH_args : @GroupLawArgs.{v} H oneH mulH invH), forall (hom_args : @GroupHomLawArgs.{u,v} G oneG mulG invG H oneH mulH invH f), forall (a : G), forall (b : G), forall (ha : @KernelPred.{u,v} G H oneH f a), forall (hb : @KernelPred.{u,v} G H oneH f b), @KernelPred.{u,v} G H oneH f (mulG a b) :=
fun G => fun oneG => fun mulG => fun invG => fun H => fun oneH => fun mulH => fun invH => fun f => fun groupH_args => fun hom_args => fun a => fun b => fun ha => fun hb => @eq_trans.{v} H (f (mulG a b)) (mulH (f a) (f b)) oneH (@hom_mul.{u,v} G oneG mulG invG H oneH mulH invH f hom_args a b) (@eq_trans.{v} H (mulH (f a) (f b)) (mulH oneH oneH) oneH (@eq_congr2.{v,v,v} H H H mulH (f a) oneH (f b) oneH ha hb) (@group_one_mul.{v} H oneH mulH invH groupH_args oneH))
theorem kernel_inv_closed.{u,v} :
forall (G : Sort u), forall (oneG : G), forall (mulG : forall (a : G), forall (b : G), G), forall (invG : forall (a : G), G), forall (H : Sort v), forall (oneH : H), forall (mulH : forall (a : H), forall (b : H), H), forall (invH : forall (a : H), H), forall (f : forall (x : G), H), forall (groupH_args : @GroupLawArgs.{v} H oneH mulH invH), forall (hom_args : @GroupHomLawArgs.{u,v} G oneG mulG invG H oneH mulH invH f), forall (a : G), forall (ha : @KernelPred.{u,v} G H oneH f a), @KernelPred.{u,v} G H oneH f (invG a) :=
fun G => fun oneG => fun mulG => fun invG => fun H => fun oneH => fun mulH => fun invH => fun f => fun groupH_args => fun hom_args => fun a => fun ha => @eq_trans.{v} H (f (invG a)) (invH (f a)) oneH (@hom_inv.{u,v} G oneG mulG invG H oneH mulH invH f hom_args a) (@eq_trans.{v} H (invH (f a)) (invH oneH) oneH (@eq_congr_arg.{v,v} H H invH (f a) oneH ha) (@eq_trans.{v} H (invH oneH) (mulH (invH oneH) oneH) oneH (@eq_symm.{v} H (mulH (invH oneH) oneH) (invH oneH) (@group_mul_one.{v} H oneH mulH invH groupH_args (invH oneH))) (@group_inv_mul.{v} H oneH mulH invH groupH_args oneH)))
theorem kernel_conj_closed.{u,v} :
forall (G : Sort u), forall (oneG : G), forall (mulG : forall (a : G), forall (b : G), G), forall (invG : forall (a : G), G), forall (H : Sort v), forall (oneH : H), forall (mulH : forall (a : H), forall (b : H), H), forall (invH : forall (a : H), H), forall (f : forall (x : G), H), forall (groupH_args : @GroupLawArgs.{v} H oneH mulH invH), forall (hom_args : @GroupHomLawArgs.{u,v} G oneG mulG invG H oneH mulH invH f), forall (g : G), forall (a : G), forall (ha : @KernelPred.{u,v} G H oneH f a), @KernelPred.{u,v} G H oneH f (mulG (mulG g a) (invG g)) :=
fun G => fun oneG => fun mulG => fun invG => fun H => fun oneH => fun mulH => fun invH => fun f => fun groupH_args => fun hom_args => fun g => fun a => fun ha => @eq_trans.{v} H (f (mulG (mulG g a) (invG g))) (mulH (f (mulG g a)) (f (invG g))) oneH (@hom_mul.{u,v} G oneG mulG invG H oneH mulH invH f hom_args (mulG g a) (invG g)) (@eq_trans.{v} H (mulH (f (mulG g a)) (f (invG g))) (mulH (mulH (f g) (f a)) (invH (f g))) oneH (@eq_congr2.{v,v,v} H H H mulH (f (mulG g a)) (mulH (f g) (f a)) (f (invG g)) (invH (f g)) (@hom_mul.{u,v} G oneG mulG invG H oneH mulH invH f hom_args g a) (@hom_inv.{u,v} G oneG mulG invG H oneH mulH invH f hom_args g)) (@eq_trans.{v} H (mulH (mulH (f g) (f a)) (invH (f g))) (mulH (mulH (f g) oneH) (invH (f g))) oneH (@eq_congr_arg.{v,v} H H (fun (z : H) => mulH (mulH (f g) z) (invH (f g))) (f a) oneH ha) (@eq_trans.{v} H (mulH (mulH (f g) oneH) (invH (f g))) (mulH (f g) (mulH oneH (invH (f g)))) oneH (@group_mul_assoc.{v} H oneH mulH invH groupH_args (f g) oneH (invH (f g))) (@eq_trans.{v} H (mulH (f g) (mulH oneH (invH (f g)))) (mulH (f g) (invH (f g))) oneH (@eq_congr_arg.{v,v} H H (fun (z : H) => mulH (f g) z) (mulH oneH (invH (f g))) (invH (f g)) (@group_one_mul.{v} H oneH mulH invH groupH_args (invH (f g)))) (@group_mul_inv.{v} H oneH mulH invH groupH_args (f g))))))