Declaration
ring_first_iso_phi_mul
Mathlib.Algebra.Ring.FirstIsomorphism
Packages
2
Module
63
Theorems
750
Declarations
1016
Untrusted sidecar
Source text and display overlays are presentation metadata. The signed certificate and checker result are the trusted evidence.
Statement
forall (R : Sort succ u), forall (zeroR : R), forall (oneR : R), forall (addR : forall (a : R), forall (b : R), R), forall (negR : forall (a : R), R), forall (subR : forall (a : R), forall (b : R), R), forall (mulR : forall (a : R), forall (b : R), R), forall (S : Sort succ v), forall (zeroS : S), forall (oneS : S), forall (addS : forall (a : S), forall (b : S), S), forall (negS : forall (a : S), S), forall (subS : forall (a : S), forall (b : S), S), forall (mulS : forall (a : S), forall (b : S), S), forall (f : forall (x : R), S), forall (hom_args : @RingHomLawArgs.{succ u,succ v} R zeroR oneR addR negR subR mulR S zeroS oneS addS negS subS mulS f), forall (q1 : @RingKerQuot.{u,v} R S f), forall (q2 : @RingKerQuot.{u,v} R S f), @Eq.{succ v} S (@RingKerQuotToS.{u,v} R S f (@RingKerQuotMul.{u,v} R zeroR oneR addR negR subR mulR S zeroS oneS addS negS subS mulS f hom_args q1 q2)) (mulS (@RingKerQuotToS.{u,v} R S f q1) (@RingKerQuotToS.{u,v} R S f q2))
Proof term
theorem ring_first_iso_phi_mul.{u,v} :
forall (R : Sort succ u), forall (zeroR : R), forall (oneR : R), forall (addR : forall (a : R), forall (b : R), R), forall (negR : forall (a : R), R), forall (subR : forall (a : R), forall (b : R), R), forall (mulR : forall (a : R), forall (b : R), R), forall (S : Sort succ v), forall (zeroS : S), forall (oneS : S), forall (addS : forall (a : S), forall (b : S), S), forall (negS : forall (a : S), S), forall (subS : forall (a : S), forall (b : S), S), forall (mulS : forall (a : S), forall (b : S), S), forall (f : forall (x : R), S), forall (hom_args : @RingHomLawArgs.{succ u,succ v} R zeroR oneR addR negR subR mulR S zeroS oneS addS negS subS mulS f), forall (q1 : @RingKerQuot.{u,v} R S f), forall (q2 : @RingKerQuot.{u,v} R S f), @Eq.{succ v} S (@RingKerQuotToS.{u,v} R S f (@RingKerQuotMul.{u,v} R zeroR oneR addR negR subR mulR S zeroS oneS addS negS subS mulS f hom_args q1 q2)) (mulS (@RingKerQuotToS.{u,v} R S f q1) (@RingKerQuotToS.{u,v} R S f q2)) :=
fun R => fun zeroR => fun oneR => fun addR => fun negR => fun subR => fun mulR => fun S => fun zeroS => fun oneS => fun addS => fun negS => fun subS => fun mulS => fun f => fun hom_args => @Quotient.indProp.{u} R (@KerSetoid.{u,v} R S f) (fun (q1 : @RingKerQuot.{u,v} R S f) => forall (q2 : @RingKerQuot.{u,v} R S f), @Eq.{succ v} S (@RingKerQuotToS.{u,v} R S f (@RingKerQuotMul.{u,v} R zeroR oneR addR negR subR mulR S zeroS oneS addS negS subS mulS f hom_args q1 q2)) (mulS (@RingKerQuotToS.{u,v} R S f q1) (@RingKerQuotToS.{u,v} R S f q2))) (fun (a : R) => @Quotient.indProp.{u} R (@KerSetoid.{u,v} R S f) (fun (q2 : @RingKerQuot.{u,v} R S f) => @Eq.{succ v} S (@RingKerQuotToS.{u,v} R S f (@RingKerQuotMul.{u,v} R zeroR oneR addR negR subR mulR S zeroS oneS addS negS subS mulS f hom_args (@RingKerQuotMk.{u,v} R S f a) q2)) (mulS (@RingKerQuotToS.{u,v} R S f (@RingKerQuotMk.{u,v} R S f a)) (@RingKerQuotToS.{u,v} R S f q2))) (fun (b : R) => @ring_hom_mul.{succ u,succ v} R zeroR oneR addR negR subR mulR S zeroS oneS addS negS subS mulS f hom_args a b))
Constants
Mathlib.Algebra.Ring.FirstIsomorphism.RingKerQuotMul
Interface hash: sha256:9a4da2f14941e470d1cef23d04c8076f6230d2efc84ed25449ba320cdffc7ea4
Mathlib.Algebra.Ring.FirstIsomorphism.Basic.RingHomLawArgs
Interface hash: sha256:1ea902935b1870a094b12c5286b6a871db45344a40991e610b316ec2ad0e95c5
Mathlib.Algebra.Ring.FirstIsomorphism.Basic.RingKerQuot
Interface hash: sha256:aca2a22cfa356002de43459a02a4d82f3d11d7a363cd03723dcc16c4c933dbac
Mathlib.Algebra.Ring.FirstIsomorphism.Basic.RingKerQuotToS
Interface hash: sha256:7c31b5ce56066fb117a86bc8f8ccaf2979ea2afd628668a518635b7ce8fa61ad
Std.Logic.Eq.Eq
Interface hash: sha256:ca4f8520fd678a809c3ebf0bc7fa38d3063ca4d231e79d567de888685449a015