返回 NPA
模块
Mathlib.Algebra.Group.Kernel.Quotient.Mul
npa-mathlib
包
2
模块
63
定理
750
声明
1016
非可信 sidecar
源文本和展示 overlay 属于展示元数据。可信证据是签名证书和 checker 结果。
定理
1
定义
1
归纳类型
0
公理
1
声明
KerQuotMulRep
forall (G : Sort succ u), forall (mulG : forall (a : G), forall (b : G), G), forall (H : Sort succ v), forall (f : forall (x : G), H), forall (a : G), forall (b...
ker_quot_mul_rep_compat
forall (G : Sort succ u), forall (oneG : G), forall (mulG : forall (a : G), forall (b : G), G), forall (invG : forall (a : G), G), forall (H : Sort succ v), for...
Eq.rec
哈希
- source
- sha256:7e1390ce57d6eca8898e3230d8512a880333c9b25226762ef448c5c5baca6db6
- certificateFile
- sha256:f7c968a7e085262f3d27858308d5234956abc5ac1ad824a89ae1d323eaefa1c1
- export
- sha256:149df869acd227ea5d7476160595d2338e9c00b1fb2f72d5e4ee6fca5e663c55
- axiomReport
- sha256:5bd7339ac208646efb0ed11ff2499737a45b42195bb28180b5685aed4560bbe3
- certificate
- sha256:603136356e732b815a7040c25aa21a055ac9dfa448cfd1f2ae0f8675292d76d8
源文本
import Std.Logic.Eq
import Mathlib.Logic.EqReasoning
import Mathlib.Algebra.Group.Basic
import Mathlib.Algebra.Group.Kernel.Quotient
def KerQuotMulRep.{u,v} :
forall (G : Sort succ u), forall (mulG : forall (a : G), forall (b : G), G), forall (H : Sort succ v), forall (f : forall (x : G), H), forall (a : G), forall (b : G), @KerQuot.{u,v} G H f :=
fun G => fun mulG => fun H => fun f => fun a => fun b => @KerQuotMk.{u,v} G H f (mulG a b)
theorem ker_quot_mul_rep_compat.{u,v} :
forall (G : Sort succ u), forall (oneG : G), forall (mulG : forall (a : G), forall (b : G), G), forall (invG : forall (a : G), G), forall (H : Sort succ 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 (hom_args : @GroupHomLawArgs.{succ u,succ v} G oneG mulG invG H oneH mulH invH f), forall (a : G), forall (a2 : G), forall (b : G), forall (b2 : G), forall (ha : @KerRel.{succ u,succ v} G H f a a2), forall (hb : @KerRel.{succ u,succ v} G H f b b2), @Eq.{succ u} (@KerQuot.{u,v} G H f) (@KerQuotMulRep.{u,v} G mulG H f a b) (@KerQuotMulRep.{u,v} G mulG H f a2 b2) :=
fun G => fun oneG => fun mulG => fun invG => fun H => fun oneH => fun mulH => fun invH => fun f => fun hom_args => fun a => fun a2 => fun b => fun b2 => fun ha => fun hb => @ker_quot_sound.{u,v} G H f (mulG a b) (mulG a2 b2) (@eq_trans.{succ v} H (f (mulG a b)) (mulH (f a) (f b)) (f (mulG a2 b2)) (@hom_mul.{succ u,succ v} G oneG mulG invG H oneH mulH invH f hom_args a b) (@eq_trans.{succ v} H (mulH (f a) (f b)) (mulH (f a2) (f b2)) (f (mulG a2 b2)) (@eq_congr2.{succ v,succ v,succ v} H H H mulH (f a) (f a2) (f b) (f b2) ha hb) (@eq_symm.{succ v} H (f (mulG a2 b2)) (mulH (f a2) (f b2)) (@hom_mul.{succ u,succ v} G oneG mulG invG H oneH mulH invH f hom_args a2 b2))))