返回 NPA

模块

Mathlib.Algebra.Group.SecondIsomorphism.Map

npa-mathlib

2

模块

63

定理

750

声明

1016

非可信 sidecar

源文本和展示 overlay 属于展示元数据。可信证据是签名证书和 checker 结果。

定理

4

定义

1

归纳类型

0

公理

1

声明

哈希

source
sha256:bf167686c871620f655081c61a536a7538eb2f9d327e30de91d06e33bfde3ae4
certificateFile
sha256:2114f1a9368313eaefcb31079e9c02c44e4a1def10aa0a22c73027aa434dfc98
export
sha256:7ee14328dc55734480495e5b6bdc07124481d60ac50ea2cd2cfe0ae1af1ee6d7
axiomReport
sha256:be1a77ed10a39666141513d10276a53768c73a3c2f624e2abac75c22ae46554f
certificate
sha256:d9fca8faf318fd62e6ae8e45c9f1ebfa9a982364ea7d105d2be495382166be34

源文本

import Std.Logic.Eq
import Mathlib.Algebra.Group.Basic
import Mathlib.Algebra.Group.Subgroup
import Mathlib.Algebra.Group.Quotient
import Mathlib.Algebra.Group.Quotient.Mul
import Mathlib.Algebra.Group.Quotient.Group

def SecondIsoPhi.{u} :
  forall (G : Sort succ u), forall (one : G), forall (mul : forall (a : G), forall (b : G), G), forall (inv : forall (a : G), G), forall (N : forall (x : G), Prop), forall (group_args : @GroupLawArgs.{succ u} G one mul inv), forall (normal_args : @NormalSubgroupLawArgs.{succ u} G one mul inv N), forall (Hpred : forall (x : G), Prop), forall (h : G), forall (hh : Hpred h), @NormalQuot.{u} G one mul inv N group_args normal_args :=
  fun G => fun one => fun mul => fun inv => fun N => fun group_args => fun normal_args => fun Hpred => fun h => fun hh => @NormalQuotMk.{u} G one mul inv N group_args normal_args h

theorem second_iso_phi_mk.{u} :
  forall (G : Sort succ u), forall (one : G), forall (mul : forall (a : G), forall (b : G), G), forall (inv : forall (a : G), G), forall (N : forall (x : G), Prop), forall (group_args : @GroupLawArgs.{succ u} G one mul inv), forall (normal_args : @NormalSubgroupLawArgs.{succ u} G one mul inv N), forall (Hpred : forall (x : G), Prop), forall (h : G), forall (hh : Hpred h), @Eq.{succ u} (@NormalQuot.{u} G one mul inv N group_args normal_args) (@SecondIsoPhi.{u} G one mul inv N group_args normal_args Hpred h hh) (@NormalQuotMk.{u} G one mul inv N group_args normal_args h) :=
  fun G => fun one => fun mul => fun inv => fun N => fun group_args => fun normal_args => fun Hpred => fun h => fun hh => @Eq.refl.{succ u} (@NormalQuot.{u} G one mul inv N group_args normal_args) (@NormalQuotMk.{u} G one mul inv N group_args normal_args h)

theorem second_iso_phi_mul.{u} :
  forall (G : Sort succ u), forall (one : G), forall (mul : forall (a : G), forall (b : G), G), forall (inv : forall (a : G), G), forall (N : forall (x : G), Prop), forall (group_args : @GroupLawArgs.{succ u} G one mul inv), forall (normal_args : @NormalSubgroupLawArgs.{succ u} G one mul inv N), forall (Hpred : forall (x : G), Prop), forall (h_args : @SubgroupLawArgs.{succ u} G one mul inv Hpred), forall (a : G), forall (b : G), forall (ha : Hpred a), forall (hb : Hpred b), @Eq.{succ u} (@NormalQuot.{u} G one mul inv N group_args normal_args) (@NormalQuotMul.{u} G one mul inv N group_args normal_args (@SecondIsoPhi.{u} G one mul inv N group_args normal_args Hpred a ha) (@SecondIsoPhi.{u} G one mul inv N group_args normal_args Hpred b hb)) (@SecondIsoPhi.{u} G one mul inv N group_args normal_args Hpred (mul a b) (@subgroup_mul_closed.{succ u} G one mul inv Hpred h_args a b ha hb)) :=
  fun G => fun one => fun mul => fun inv => fun N => fun group_args => fun normal_args => fun Hpred => fun h_args => fun a => fun b => fun ha => fun hb => @Eq.refl.{succ u} (@NormalQuot.{u} G one mul inv N group_args normal_args) (@NormalQuotMk.{u} G one mul inv N group_args normal_args (mul a b))

theorem second_iso_phi_one.{u} :
  forall (G : Sort succ u), forall (one : G), forall (mul : forall (a : G), forall (b : G), G), forall (inv : forall (a : G), G), forall (N : forall (x : G), Prop), forall (group_args : @GroupLawArgs.{succ u} G one mul inv), forall (normal_args : @NormalSubgroupLawArgs.{succ u} G one mul inv N), forall (Hpred : forall (x : G), Prop), forall (h_args : @SubgroupLawArgs.{succ u} G one mul inv Hpred), @Eq.{succ u} (@NormalQuot.{u} G one mul inv N group_args normal_args) (@SecondIsoPhi.{u} G one mul inv N group_args normal_args Hpred one (@subgroup_one.{succ u} G one mul inv Hpred h_args)) (@NormalQuotOne.{u} G one mul inv N group_args normal_args) :=
  fun G => fun one => fun mul => fun inv => fun N => fun group_args => fun normal_args => fun Hpred => fun h_args => @Eq.refl.{succ u} (@NormalQuot.{u} G one mul inv N group_args normal_args) (@NormalQuotMk.{u} G one mul inv N group_args normal_args one)

theorem second_iso_phi_inv.{u} :
  forall (G : Sort succ u), forall (one : G), forall (mul : forall (a : G), forall (b : G), G), forall (inv : forall (a : G), G), forall (N : forall (x : G), Prop), forall (group_args : @GroupLawArgs.{succ u} G one mul inv), forall (normal_args : @NormalSubgroupLawArgs.{succ u} G one mul inv N), forall (Hpred : forall (x : G), Prop), forall (h_args : @SubgroupLawArgs.{succ u} G one mul inv Hpred), forall (h : G), forall (hh : Hpred h), @Eq.{succ u} (@NormalQuot.{u} G one mul inv N group_args normal_args) (@NormalQuotInv.{u} G one mul inv N group_args normal_args (@SecondIsoPhi.{u} G one mul inv N group_args normal_args Hpred h hh)) (@SecondIsoPhi.{u} G one mul inv N group_args normal_args Hpred (inv h) (@subgroup_inv_closed.{succ u} G one mul inv Hpred h_args h hh)) :=
  fun G => fun one => fun mul => fun inv => fun N => fun group_args => fun normal_args => fun Hpred => fun h_args => fun h => fun hh => @Eq.refl.{succ u} (@NormalQuot.{u} G one mul inv N group_args normal_args) (@NormalQuotMk.{u} G one mul inv N group_args normal_args (inv h))