Back to NPA
Declaration
RingFirstIso
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 (ringR_args : @RingLawArgs.{succ u} R zeroR oneR addR negR subR mulR), forall (ringS_args : @RingLawArgs.{succ v} S zeroS oneS addS negS subS mulS), forall (hom_args : @RingHomLawArgs.{succ u,succ v} R zeroR oneR addR negR subR mulR S zeroS oneS addS negS subS mulS f), Prop
Proof term
def RingFirstIso.{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 (ringR_args : @RingLawArgs.{succ u} R zeroR oneR addR negR subR mulR), forall (ringS_args : @RingLawArgs.{succ v} S zeroS oneS addS negS subS mulS), forall (hom_args : @RingHomLawArgs.{succ u,succ v} R zeroR oneR addR negR subR mulR S zeroS oneS addS negS subS mulS f), Prop :=
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 ringR_args => fun ringS_args => fun hom_args => forall (P : Prop), forall (mk : forall (image_zero : @RingImagePred.{succ u,succ v} R S f zeroS), forall (image_one : @RingImagePred.{succ u,succ v} R S f oneS), forall (image_add_closed : forall (x : S), forall (y : S), forall (hx : @RingImagePred.{succ u,succ v} R S f x), forall (hy : @RingImagePred.{succ u,succ v} R S f y), @RingImagePred.{succ u,succ v} R S f (addS x y)), forall (image_neg_closed : forall (y : S), forall (hy : @RingImagePred.{succ u,succ v} R S f y), @RingImagePred.{succ u,succ v} R S f (negS y)), forall (image_mul_closed : forall (x : S), forall (y : S), forall (hx : @RingImagePred.{succ u,succ v} R S f x), forall (hy : @RingImagePred.{succ u,succ v} R S f y), @RingImagePred.{succ u,succ v} R S f (mulS x y)), forall (zero_compat : @Eq.{succ v} S (@RingKerQuotToS.{u,v} R S f (@RingKerQuotZero.{u,v} R zeroR S f)) zeroS), forall (one_compat : @Eq.{succ v} S (@RingKerQuotToS.{u,v} R S f (@RingKerQuotOne.{u,v} R oneR S f)) oneS), forall (add_compat : 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 (@RingKerQuotAdd.{u,v} R zeroR oneR addR negR subR mulR S zeroS oneS addS negS subS mulS f hom_args q1 q2)) (addS (@RingKerQuotToS.{u,v} R S f q1) (@RingKerQuotToS.{u,v} R S f q2))), forall (mul_compat : 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))), forall (injective : forall (q1 : @RingKerQuot.{u,v} R S f), forall (q2 : @RingKerQuot.{u,v} R S f), forall (h : @Eq.{succ v} S (@RingKerQuotToS.{u,v} R S f q1) (@RingKerQuotToS.{u,v} R S f q2)), @Eq.{succ u} (@RingKerQuot.{u,v} R S f) q1 q2), forall (hits_image : forall (q : @RingKerQuot.{u,v} R S f), @RingImagePred.{succ u,succ v} R S f (@RingKerQuotToS.{u,v} R S f q)), forall (surj_image : forall (y : S), forall (hy : @RingImagePred.{succ u,succ v} R S f y), forall (Q : Prop), forall (mk_surj : forall (q : @RingKerQuot.{u,v} R S f), forall (h : @Eq.{succ v} S (@RingKerQuotToS.{u,v} R S f q) y), Q), Q), P), P