Back to NPA

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