NPAへ戻る

Module

Mathlib.Algebra.Group.Kernel.Quotient.Mul

npa-mathlib

Packages

2

Module

63

Theorem

750

Declarations

1016

信頼境界外の sidecar

Source text や表示 overlay は提示用メタデータです。信頼する証拠は署名済み証明書と checker の結果です。

Theorem

1

Definition

1

Inductive type

0

Axiom

1

Declarations

Hashes

source
sha256:7e1390ce57d6eca8898e3230d8512a880333c9b25226762ef448c5c5baca6db6
certificateFile
sha256:f7c968a7e085262f3d27858308d5234956abc5ac1ad824a89ae1d323eaefa1c1
export
sha256:149df869acd227ea5d7476160595d2338e9c00b1fb2f72d5e4ee6fca5e663c55
axiomReport
sha256:5bd7339ac208646efb0ed11ff2499737a45b42195bb28180b5685aed4560bbe3
certificate
sha256:603136356e732b815a7040c25aa21a055ac9dfa448cfd1f2ae0f8675292d76d8

Source

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))))