NPAへ戻る

Module

Mathlib.Algebra.Group.SecondIsomorphism.Map

npa-mathlib

Packages

2

Module

63

Theorem

750

Declarations

1016

信頼境界外の sidecar

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

Theorem

4

Definition

1

Inductive type

0

Axiom

1

Declarations

Hashes

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

Source

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