:: RINGCAT1 semantic presentation begin definition let G, H be non empty doubleLoopStr ; let IT be Function of G,H; attrIT is linear means :Def1: :: RINGCAT1:def 1 ( IT is additive & IT is multiplicative & IT is unity-preserving ); end; :: deftheorem Def1 defines linear RINGCAT1:def_1_:_ for G, H being non empty doubleLoopStr for IT being Function of G,H holds ( IT is linear iff ( IT is additive & IT is multiplicative & IT is unity-preserving ) ); registration let G, H be non empty doubleLoopStr ; clusterV6() V28( the carrier of G, the carrier of H) linear -> unity-preserving multiplicative additive for Element of bool [: the carrier of G, the carrier of H:]; coherence for b1 being Function of G,H st b1 is linear holds ( b1 is additive & b1 is multiplicative & b1 is unity-preserving ) by Def1; clusterV6() V28( the carrier of G, the carrier of H) unity-preserving multiplicative additive -> linear for Element of bool [: the carrier of G, the carrier of H:]; coherence for b1 being Function of G,H st b1 is additive & b1 is multiplicative & b1 is unity-preserving holds b1 is linear by Def1; end; theorem Th1: :: RINGCAT1:1 for G1, G2, G3 being non empty doubleLoopStr for f being Function of G1,G2 for g being Function of G2,G3 st f is linear & g is linear holds g * f is linear proof let G1, G2, G3 be non empty doubleLoopStr ; ::_thesis: for f being Function of G1,G2 for g being Function of G2,G3 st f is linear & g is linear holds g * f is linear let f be Function of G1,G2; ::_thesis: for g being Function of G2,G3 st f is linear & g is linear holds g * f is linear let g be Function of G2,G3; ::_thesis: ( f is linear & g is linear implies g * f is linear ) assume that A1: ( f is additive & f is multiplicative & f is unity-preserving ) and A2: ( g is additive & g is multiplicative & g is unity-preserving ) ; :: according to RINGCAT1:def_1 ::_thesis: g * f is linear set h = g * f; thus g * f is additive :: according to RINGCAT1:def_1 ::_thesis: ( g * f is multiplicative & g * f is unity-preserving ) proof let x, y be Scalar of G1; :: according to VECTSP_1:def_20 ::_thesis: (g * f) . (x + y) = ((g * f) . x) + ((g * f) . y) A3: ( g . (f . x) = (g * f) . x & g . (f . y) = (g * f) . y ) by FUNCT_2:15; thus (g * f) . (x + y) = g . (f . (x + y)) by FUNCT_2:15 .= g . ((f . x) + (f . y)) by A1, VECTSP_1:def_20 .= ((g * f) . x) + ((g * f) . y) by A2, A3, VECTSP_1:def_20 ; ::_thesis: verum end; thus g * f is multiplicative ::_thesis: g * f is unity-preserving proof let x, y be Scalar of G1; :: according to GROUP_6:def_6 ::_thesis: (g * f) . (x * y) = ((g * f) . x) * ((g * f) . y) A4: ( g . (f . x) = (g * f) . x & g . (f . y) = (g * f) . y ) by FUNCT_2:15; thus (g * f) . (x * y) = g . (f . (x * y)) by FUNCT_2:15 .= g . ((f . x) * (f . y)) by A1, GROUP_6:def_6 .= ((g * f) . x) * ((g * f) . y) by A2, A4, GROUP_6:def_6 ; ::_thesis: verum end; thus (g * f) . (1_ G1) = g . (f . (1_ G1)) by FUNCT_2:15 .= g . (1_ G2) by A1, GROUP_1:def_13 .= 1_ G3 by A2, GROUP_1:def_13 ; :: according to GROUP_1:def_13 ::_thesis: verum end; definition attrc1 is strict ; struct RingMorphismStr -> ; aggrRingMorphismStr(# Dom, Cod, Fun #) -> RingMorphismStr ; sel Dom c1 -> Ring; sel Cod c1 -> Ring; sel Fun c1 -> Function of the Dom of c1, the Cod of c1; end; definition let f be RingMorphismStr ; func dom f -> Ring equals :: RINGCAT1:def 2 the Dom of f; coherence the Dom of f is Ring ; func cod f -> Ring equals :: RINGCAT1:def 3 the Cod of f; coherence the Cod of f is Ring ; func fun f -> Function of the Dom of f, the Cod of f equals :: RINGCAT1:def 4 the Fun of f; coherence the Fun of f is Function of the Dom of f, the Cod of f ; end; :: deftheorem defines dom RINGCAT1:def_2_:_ for f being RingMorphismStr holds dom f = the Dom of f; :: deftheorem defines cod RINGCAT1:def_3_:_ for f being RingMorphismStr holds cod f = the Cod of f; :: deftheorem defines fun RINGCAT1:def_4_:_ for f being RingMorphismStr holds fun f = the Fun of f; Lm1: for G being non empty doubleLoopStr holds id G is linear proof let G be non empty doubleLoopStr ; ::_thesis: id G is linear set f = id G; thus id G is additive ; :: according to RINGCAT1:def_1 ::_thesis: ( id G is multiplicative & id G is unity-preserving ) thus id G is multiplicative ::_thesis: id G is unity-preserving proof let x, y be Scalar of G; :: according to GROUP_6:def_6 ::_thesis: (id G) . (x * y) = ((id G) . x) * ((id G) . y) ( (id G) . (x * y) = x * y & (id G) . x = x ) by FUNCT_1:18; hence (id G) . (x * y) = ((id G) . x) * ((id G) . y) by FUNCT_1:18; ::_thesis: verum end; thus (id G) . (1_ G) = 1_ G by FUNCT_1:18; :: according to GROUP_1:def_13 ::_thesis: verum end; registration let G be non empty doubleLoopStr ; cluster id G -> linear ; coherence id G is linear by Lm1; end; definition let IT be RingMorphismStr ; attrIT is RingMorphism-like means :Def5: :: RINGCAT1:def 5 fun IT is linear ; end; :: deftheorem Def5 defines RingMorphism-like RINGCAT1:def_5_:_ for IT being RingMorphismStr holds ( IT is RingMorphism-like iff fun IT is linear ); registration cluster strict RingMorphism-like for RingMorphismStr ; existence ex b1 being RingMorphismStr st ( b1 is strict & b1 is RingMorphism-like ) proof set G = the Ring; set i = RingMorphismStr(# the Ring, the Ring,(id the Ring) #); fun RingMorphismStr(# the Ring, the Ring,(id the Ring) #) = id the Ring ; hence ex b1 being RingMorphismStr st ( b1 is strict & b1 is RingMorphism-like ) by Def5; ::_thesis: verum end; end; definition mode RingMorphism is RingMorphism-like RingMorphismStr ; end; definition let G be Ring; func ID G -> RingMorphism equals :: RINGCAT1:def 6 RingMorphismStr(# G,G,(id G) #); coherence RingMorphismStr(# G,G,(id G) #) is RingMorphism proof set i = RingMorphismStr(# G,G,(id G) #); fun RingMorphismStr(# G,G,(id G) #) = id G ; hence RingMorphismStr(# G,G,(id G) #) is RingMorphism by Def5; ::_thesis: verum end; end; :: deftheorem defines ID RINGCAT1:def_6_:_ for G being Ring holds ID G = RingMorphismStr(# G,G,(id G) #); registration let G be Ring; cluster ID G -> strict ; coherence ID G is strict ; end; definition let G, H be Ring; predG <= H means :Def7: :: RINGCAT1:def 7 ex F being RingMorphism st ( dom F = G & cod F = H ); reflexivity for G being Ring ex F being RingMorphism st ( dom F = G & cod F = G ) proof let G be Ring; ::_thesis: ex F being RingMorphism st ( dom F = G & cod F = G ) set i = ID G; take ID G ; ::_thesis: ( dom (ID G) = G & cod (ID G) = G ) thus ( dom (ID G) = G & cod (ID G) = G ) ; ::_thesis: verum end; end; :: deftheorem Def7 defines <= RINGCAT1:def_7_:_ for G, H being Ring holds ( G <= H iff ex F being RingMorphism st ( dom F = G & cod F = H ) ); Lm2: for F being RingMorphism holds RingMorphismStr(# the Dom of F, the Cod of F, the Fun of F #) is RingMorphism-like proof let F be RingMorphism; ::_thesis: RingMorphismStr(# the Dom of F, the Cod of F, the Fun of F #) is RingMorphism-like set S = RingMorphismStr(# the Dom of F, the Cod of F, the Fun of F #); A1: fun F is linear by Def5; hence for x, y being Scalar of the Dom of RingMorphismStr(# the Dom of F, the Cod of F, the Fun of F #) holds (fun RingMorphismStr(# the Dom of F, the Cod of F, the Fun of F #)) . (x + y) = ((fun RingMorphismStr(# the Dom of F, the Cod of F, the Fun of F #)) . x) + ((fun RingMorphismStr(# the Dom of F, the Cod of F, the Fun of F #)) . y) by VECTSP_1:def_20; :: according to VECTSP_1:def_20,RINGCAT1:def_1,RINGCAT1:def_5 ::_thesis: ( fun RingMorphismStr(# the Dom of F, the Cod of F, the Fun of F #) is multiplicative & fun RingMorphismStr(# the Dom of F, the Cod of F, the Fun of F #) is unity-preserving ) thus for x, y being Scalar of the Dom of RingMorphismStr(# the Dom of F, the Cod of F, the Fun of F #) holds (fun RingMorphismStr(# the Dom of F, the Cod of F, the Fun of F #)) . (x * y) = ((fun RingMorphismStr(# the Dom of F, the Cod of F, the Fun of F #)) . x) * ((fun RingMorphismStr(# the Dom of F, the Cod of F, the Fun of F #)) . y) by A1, GROUP_6:def_6; :: according to GROUP_6:def_6 ::_thesis: fun RingMorphismStr(# the Dom of F, the Cod of F, the Fun of F #) is unity-preserving thus fun RingMorphismStr(# the Dom of F, the Cod of F, the Fun of F #) is unity-preserving by A1; ::_thesis: verum end; definition let G, H be Ring; assume A1: G <= H ; mode Morphism of G,H -> strict RingMorphism means :Def8: :: RINGCAT1:def 8 ( dom it = G & cod it = H ); existence ex b1 being strict RingMorphism st ( dom b1 = G & cod b1 = H ) proof consider F being RingMorphism such that A2: ( dom F = G & cod F = H ) by A1, Def7; set S = RingMorphismStr(# the Dom of F, the Cod of F, the Fun of F #); A3: ( dom RingMorphismStr(# the Dom of F, the Cod of F, the Fun of F #) = G & cod RingMorphismStr(# the Dom of F, the Cod of F, the Fun of F #) = H ) by A2; RingMorphismStr(# the Dom of F, the Cod of F, the Fun of F #) is RingMorphism by Lm2; hence ex b1 being strict RingMorphism st ( dom b1 = G & cod b1 = H ) by A3; ::_thesis: verum end; end; :: deftheorem Def8 defines Morphism RINGCAT1:def_8_:_ for G, H being Ring st G <= H holds for b3 being strict RingMorphism holds ( b3 is Morphism of G,H iff ( dom b3 = G & cod b3 = H ) ); registration let G, H be Ring; cluster strict RingMorphism-like for Morphism of G,H; existence ex b1 being Morphism of G,H st b1 is strict proof set m = the Morphism of G,H; the Morphism of G,H is RingMorphism ; hence ex b1 being Morphism of G,H st b1 is strict ; ::_thesis: verum end; end; definition let G be Ring; :: original: ID redefine func ID G -> strict Morphism of G,G; coherence ID G is strict Morphism of G,G proof set i = ID G; ( dom (ID G) = G & cod (ID G) = G ) ; hence ID G is strict Morphism of G,G by Def8; ::_thesis: verum end; end; Lm3: for F being RingMorphism holds the Fun of F is linear proof let F be RingMorphism; ::_thesis: the Fun of F is linear the Fun of F = fun F ; hence the Fun of F is linear by Def5; ::_thesis: verum end; Lm4: for G, H being Ring for f being strict RingMorphismStr st dom f = G & cod f = H & fun f is linear holds f is Morphism of G,H proof let G, H be Ring; ::_thesis: for f being strict RingMorphismStr st dom f = G & cod f = H & fun f is linear holds f is Morphism of G,H let f be strict RingMorphismStr ; ::_thesis: ( dom f = G & cod f = H & fun f is linear implies f is Morphism of G,H ) assume that A1: dom f = G and A2: cod f = H and A3: fun f is linear ; ::_thesis: f is Morphism of G,H reconsider f9 = f as RingMorphism by A3, Def5; dom f9 = G by A1; then G <= H by A2, Def7; then f9 is Morphism of G,H by A1, A2, Def8; hence f is Morphism of G,H ; ::_thesis: verum end; Lm5: for G, H being Ring for f being Function of G,H st f is linear holds RingMorphismStr(# G,H,f #) is Morphism of G,H proof let G, H be Ring; ::_thesis: for f being Function of G,H st f is linear holds RingMorphismStr(# G,H,f #) is Morphism of G,H let f be Function of G,H; ::_thesis: ( f is linear implies RingMorphismStr(# G,H,f #) is Morphism of G,H ) assume A1: f is linear ; ::_thesis: RingMorphismStr(# G,H,f #) is Morphism of G,H set F = RingMorphismStr(# G,H,f #); A2: fun RingMorphismStr(# G,H,f #) = f ; ( dom RingMorphismStr(# G,H,f #) = G & cod RingMorphismStr(# G,H,f #) = H ) ; hence RingMorphismStr(# G,H,f #) is Morphism of G,H by A1, A2, Lm4; ::_thesis: verum end; Lm6: for F being RingMorphism ex G, H being Ring st ( G <= H & dom F = G & cod F = H & RingMorphismStr(# the Dom of F, the Cod of F, the Fun of F #) is Morphism of G,H ) proof let F be RingMorphism; ::_thesis: ex G, H being Ring st ( G <= H & dom F = G & cod F = H & RingMorphismStr(# the Dom of F, the Cod of F, the Fun of F #) is Morphism of G,H ) reconsider S = RingMorphismStr(# the Dom of F, the Cod of F, the Fun of F #) as RingMorphism by Lm2; set G = the Dom of F; set H = the Cod of F; take the Dom of F ; ::_thesis: ex H being Ring st ( the Dom of F <= H & dom F = the Dom of F & cod F = H & RingMorphismStr(# the Dom of F, the Cod of F, the Fun of F #) is Morphism of the Dom of F,H ) take the Cod of F ; ::_thesis: ( the Dom of F <= the Cod of F & dom F = the Dom of F & cod F = the Cod of F & RingMorphismStr(# the Dom of F, the Cod of F, the Fun of F #) is Morphism of the Dom of F, the Cod of F ) ( dom F = the Dom of F & cod F = the Cod of F ) ; then A1: the Dom of F <= the Cod of F by Def7; ( dom S = the Dom of F & cod S = the Cod of F ) ; hence ( the Dom of F <= the Cod of F & dom F = the Dom of F & cod F = the Cod of F & RingMorphismStr(# the Dom of F, the Cod of F, the Fun of F #) is Morphism of the Dom of F, the Cod of F ) by A1, Def8; ::_thesis: verum end; theorem Th2: :: RINGCAT1:2 for g, f being RingMorphism st dom g = cod f holds ex G1, G2, G3 being Ring st ( G1 <= G2 & G2 <= G3 & RingMorphismStr(# the Dom of g, the Cod of g, the Fun of g #) is Morphism of G2,G3 & RingMorphismStr(# the Dom of f, the Cod of f, the Fun of f #) is Morphism of G1,G2 ) proof defpred S1[ RingMorphism, RingMorphism] means dom $1 = cod $2; let g, f be RingMorphism; ::_thesis: ( dom g = cod f implies ex G1, G2, G3 being Ring st ( G1 <= G2 & G2 <= G3 & RingMorphismStr(# the Dom of g, the Cod of g, the Fun of g #) is Morphism of G2,G3 & RingMorphismStr(# the Dom of f, the Cod of f, the Fun of f #) is Morphism of G1,G2 ) ) assume A1: S1[g,f] ; ::_thesis: ex G1, G2, G3 being Ring st ( G1 <= G2 & G2 <= G3 & RingMorphismStr(# the Dom of g, the Cod of g, the Fun of g #) is Morphism of G2,G3 & RingMorphismStr(# the Dom of f, the Cod of f, the Fun of f #) is Morphism of G1,G2 ) ( ex G2, G3 being Ring st ( G2 <= G3 & dom g = G2 & cod g = G3 & RingMorphismStr(# the Dom of g, the Cod of g, the Fun of g #) is Morphism of G2,G3 ) & ex G1, G29 being Ring st ( G1 <= G29 & dom f = G1 & cod f = G29 & RingMorphismStr(# the Dom of f, the Cod of f, the Fun of f #) is Morphism of G1,G29 ) ) by Lm6; hence ex G1, G2, G3 being Ring st ( G1 <= G2 & G2 <= G3 & RingMorphismStr(# the Dom of g, the Cod of g, the Fun of g #) is Morphism of G2,G3 & RingMorphismStr(# the Dom of f, the Cod of f, the Fun of f #) is Morphism of G1,G2 ) by A1; ::_thesis: verum end; theorem Th3: :: RINGCAT1:3 for F being strict RingMorphism holds ( F is Morphism of dom F, cod F & dom F <= cod F ) proof let F be strict RingMorphism; ::_thesis: ( F is Morphism of dom F, cod F & dom F <= cod F ) ex G, H being Ring st ( G <= H & dom F = G & cod F = H & F is Morphism of G,H ) by Lm6; hence ( F is Morphism of dom F, cod F & dom F <= cod F ) ; ::_thesis: verum end; Lm7: for G, H being Ring for F being Morphism of G,H st G <= H holds ex f being Function of G,H st ( F = RingMorphismStr(# G,H,f #) & f is linear ) proof let G, H be Ring; ::_thesis: for F being Morphism of G,H st G <= H holds ex f being Function of G,H st ( F = RingMorphismStr(# G,H,f #) & f is linear ) let F be Morphism of G,H; ::_thesis: ( G <= H implies ex f being Function of G,H st ( F = RingMorphismStr(# G,H,f #) & f is linear ) ) assume A1: G <= H ; ::_thesis: ex f being Function of G,H st ( F = RingMorphismStr(# G,H,f #) & f is linear ) A2: the Cod of F = cod F .= H by A1, Def8 ; A3: the Dom of F = dom F .= G by A1, Def8 ; then reconsider f = the Fun of F as Function of G,H by A2; take f ; ::_thesis: ( F = RingMorphismStr(# G,H,f #) & f is linear ) thus ( F = RingMorphismStr(# G,H,f #) & f is linear ) by A3, A2, Lm3; ::_thesis: verum end; Lm8: for G, H being Ring for F being Morphism of G,H st G <= H holds ex f being Function of G,H st F = RingMorphismStr(# G,H,f #) proof let G, H be Ring; ::_thesis: for F being Morphism of G,H st G <= H holds ex f being Function of G,H st F = RingMorphismStr(# G,H,f #) let F be Morphism of G,H; ::_thesis: ( G <= H implies ex f being Function of G,H st F = RingMorphismStr(# G,H,f #) ) assume G <= H ; ::_thesis: ex f being Function of G,H st F = RingMorphismStr(# G,H,f #) then consider f being Function of G,H such that A1: F = RingMorphismStr(# G,H,f #) and f is linear by Lm7; take f ; ::_thesis: F = RingMorphismStr(# G,H,f #) thus F = RingMorphismStr(# G,H,f #) by A1; ::_thesis: verum end; theorem :: RINGCAT1:4 for F being strict RingMorphism ex G, H being Ring ex f being Function of G,H st ( F is Morphism of G,H & F = RingMorphismStr(# G,H,f #) & f is linear ) proof let F be strict RingMorphism; ::_thesis: ex G, H being Ring ex f being Function of G,H st ( F is Morphism of G,H & F = RingMorphismStr(# G,H,f #) & f is linear ) consider G, H being Ring such that A1: G <= H and dom F = G and cod F = H and A2: F is Morphism of G,H by Lm6; reconsider F9 = F as Morphism of G,H by A2; consider f being Function of G,H such that A3: ( F9 = RingMorphismStr(# G,H,f #) & f is linear ) by A1, Lm7; take G ; ::_thesis: ex H being Ring ex f being Function of G,H st ( F is Morphism of G,H & F = RingMorphismStr(# G,H,f #) & f is linear ) take H ; ::_thesis: ex f being Function of G,H st ( F is Morphism of G,H & F = RingMorphismStr(# G,H,f #) & f is linear ) take f ; ::_thesis: ( F is Morphism of G,H & F = RingMorphismStr(# G,H,f #) & f is linear ) thus ( F is Morphism of G,H & F = RingMorphismStr(# G,H,f #) & f is linear ) by A3; ::_thesis: verum end; definition let G, F be RingMorphism; assume A1: dom G = cod F ; funcG * F -> strict RingMorphism means :Def9: :: RINGCAT1:def 9 for G1, G2, G3 being Ring for g being Function of G2,G3 for f being Function of G1,G2 st RingMorphismStr(# the Dom of G, the Cod of G, the Fun of G #) = RingMorphismStr(# G2,G3,g #) & RingMorphismStr(# the Dom of F, the Cod of F, the Fun of F #) = RingMorphismStr(# G1,G2,f #) holds it = RingMorphismStr(# G1,G3,(g * f) #); existence ex b1 being strict RingMorphism st for G1, G2, G3 being Ring for g being Function of G2,G3 for f being Function of G1,G2 st RingMorphismStr(# the Dom of G, the Cod of G, the Fun of G #) = RingMorphismStr(# G2,G3,g #) & RingMorphismStr(# the Dom of F, the Cod of F, the Fun of F #) = RingMorphismStr(# G1,G2,f #) holds b1 = RingMorphismStr(# G1,G3,(g * f) #) proof consider G19, G29, G39 being Ring such that A2: G19 <= G29 and A3: ( G29 <= G39 & RingMorphismStr(# the Dom of G, the Cod of G, the Fun of G #) is Morphism of G29,G39 ) and A4: RingMorphismStr(# the Dom of F, the Cod of F, the Fun of F #) is Morphism of G19,G29 by A1, Th2; consider g9 being Function of G29,G39 such that A5: RingMorphismStr(# the Dom of G, the Cod of G, the Fun of G #) = RingMorphismStr(# G29,G39,g9 #) and A6: g9 is linear by A3, Lm7; consider f9 being Function of G19,G29 such that A7: RingMorphismStr(# the Dom of F, the Cod of F, the Fun of F #) = RingMorphismStr(# G19,G29,f9 #) and A8: f9 is linear by A2, A4, Lm7; g9 * f9 is linear by A6, A8, Th1; then reconsider T9 = RingMorphismStr(# G19,G39,(g9 * f9) #) as strict RingMorphism by Lm5; take T9 ; ::_thesis: for G1, G2, G3 being Ring for g being Function of G2,G3 for f being Function of G1,G2 st RingMorphismStr(# the Dom of G, the Cod of G, the Fun of G #) = RingMorphismStr(# G2,G3,g #) & RingMorphismStr(# the Dom of F, the Cod of F, the Fun of F #) = RingMorphismStr(# G1,G2,f #) holds T9 = RingMorphismStr(# G1,G3,(g * f) #) thus for G1, G2, G3 being Ring for g being Function of G2,G3 for f being Function of G1,G2 st RingMorphismStr(# the Dom of G, the Cod of G, the Fun of G #) = RingMorphismStr(# G2,G3,g #) & RingMorphismStr(# the Dom of F, the Cod of F, the Fun of F #) = RingMorphismStr(# G1,G2,f #) holds T9 = RingMorphismStr(# G1,G3,(g * f) #) by A5, A7; ::_thesis: verum end; uniqueness for b1, b2 being strict RingMorphism st ( for G1, G2, G3 being Ring for g being Function of G2,G3 for f being Function of G1,G2 st RingMorphismStr(# the Dom of G, the Cod of G, the Fun of G #) = RingMorphismStr(# G2,G3,g #) & RingMorphismStr(# the Dom of F, the Cod of F, the Fun of F #) = RingMorphismStr(# G1,G2,f #) holds b1 = RingMorphismStr(# G1,G3,(g * f) #) ) & ( for G1, G2, G3 being Ring for g being Function of G2,G3 for f being Function of G1,G2 st RingMorphismStr(# the Dom of G, the Cod of G, the Fun of G #) = RingMorphismStr(# G2,G3,g #) & RingMorphismStr(# the Dom of F, the Cod of F, the Fun of F #) = RingMorphismStr(# G1,G2,f #) holds b2 = RingMorphismStr(# G1,G3,(g * f) #) ) holds b1 = b2 proof consider G19, G299 being Ring such that G19 <= G299 and A9: dom F = G19 and A10: cod F = G299 and A11: RingMorphismStr(# the Dom of F, the Cod of F, the Fun of F #) is Morphism of G19,G299 by Lm6; reconsider F9 = RingMorphismStr(# the Dom of F, the Cod of F, the Fun of F #) as Morphism of G19,G299 by A11; let S1, S2 be strict RingMorphism; ::_thesis: ( ( for G1, G2, G3 being Ring for g being Function of G2,G3 for f being Function of G1,G2 st RingMorphismStr(# the Dom of G, the Cod of G, the Fun of G #) = RingMorphismStr(# G2,G3,g #) & RingMorphismStr(# the Dom of F, the Cod of F, the Fun of F #) = RingMorphismStr(# G1,G2,f #) holds S1 = RingMorphismStr(# G1,G3,(g * f) #) ) & ( for G1, G2, G3 being Ring for g being Function of G2,G3 for f being Function of G1,G2 st RingMorphismStr(# the Dom of G, the Cod of G, the Fun of G #) = RingMorphismStr(# G2,G3,g #) & RingMorphismStr(# the Dom of F, the Cod of F, the Fun of F #) = RingMorphismStr(# G1,G2,f #) holds S2 = RingMorphismStr(# G1,G3,(g * f) #) ) implies S1 = S2 ) assume that A12: for G1, G2, G3 being Ring for g being Function of G2,G3 for f being Function of G1,G2 st RingMorphismStr(# the Dom of G, the Cod of G, the Fun of G #) = RingMorphismStr(# G2,G3,g #) & RingMorphismStr(# the Dom of F, the Cod of F, the Fun of F #) = RingMorphismStr(# G1,G2,f #) holds S1 = RingMorphismStr(# G1,G3,(g * f) #) and A13: for G1, G2, G3 being Ring for g being Function of G2,G3 for f being Function of G1,G2 st RingMorphismStr(# the Dom of G, the Cod of G, the Fun of G #) = RingMorphismStr(# G2,G3,g #) & RingMorphismStr(# the Dom of F, the Cod of F, the Fun of F #) = RingMorphismStr(# G1,G2,f #) holds S2 = RingMorphismStr(# G1,G3,(g * f) #) ; ::_thesis: S1 = S2 consider G29, G39 being Ring such that A14: G29 <= G39 and A15: dom G = G29 and cod G = G39 and A16: RingMorphismStr(# the Dom of G, the Cod of G, the Fun of G #) is Morphism of G29,G39 by Lm6; reconsider F9 = F9 as Morphism of G19,G29 by A1, A15, A10; consider f9 being Function of G19,G29 such that A17: F9 = RingMorphismStr(# G19,G29,f9 #) by A1, A15, A9; reconsider G9 = RingMorphismStr(# the Dom of G, the Cod of G, the Fun of G #) as Morphism of G29,G39 by A16; consider g9 being Function of G29,G39 such that A18: G9 = RingMorphismStr(# G29,G39,g9 #) by A14, Lm8; thus S1 = RingMorphismStr(# G19,G39,(g9 * f9) #) by A12, A18, A17 .= S2 by A13, A18, A17 ; ::_thesis: verum end; end; :: deftheorem Def9 defines * RINGCAT1:def_9_:_ for G, F being RingMorphism st dom G = cod F holds for b3 being strict RingMorphism holds ( b3 = G * F iff for G1, G2, G3 being Ring for g being Function of G2,G3 for f being Function of G1,G2 st RingMorphismStr(# the Dom of G, the Cod of G, the Fun of G #) = RingMorphismStr(# G2,G3,g #) & RingMorphismStr(# the Dom of F, the Cod of F, the Fun of F #) = RingMorphismStr(# G1,G2,f #) holds b3 = RingMorphismStr(# G1,G3,(g * f) #) ); theorem Th5: :: RINGCAT1:5 for G1, G2, G3 being Ring st G1 <= G2 & G2 <= G3 holds G1 <= G3 proof let G1, G2, G3 be Ring; ::_thesis: ( G1 <= G2 & G2 <= G3 implies G1 <= G3 ) assume that A1: G1 <= G2 and A2: G2 <= G3 ; ::_thesis: G1 <= G3 consider F0 being RingMorphism such that A3: dom F0 = G1 and A4: cod F0 = G2 by A1, Def7; reconsider F = RingMorphismStr(# the Dom of F0, the Cod of F0, the Fun of F0 #) as RingMorphism by Lm2; ( dom F = G1 & cod F = G2 ) by A3, A4; then reconsider F9 = F as Morphism of G1,G2 by A1, Def8; consider f being Function of G1,G2 such that A5: F9 = RingMorphismStr(# G1,G2,f #) by A1, Lm8; consider G0 being RingMorphism such that A6: dom G0 = G2 and A7: cod G0 = G3 by A2, Def7; reconsider G = RingMorphismStr(# the Dom of G0, the Cod of G0, the Fun of G0 #) as RingMorphism by Lm2; ( dom G = G2 & cod G = G3 ) by A6, A7; then reconsider G9 = G as Morphism of G2,G3 by A2, Def8; consider g being Function of G2,G3 such that A8: G9 = RingMorphismStr(# G2,G3,g #) by A2, Lm8; dom G = cod F by A4, A6; then G * F = RingMorphismStr(# G1,G3,(g * f) #) by A8, A5, Def9; then ( dom (G * F) = G1 & cod (G * F) = G3 ) ; hence G1 <= G3 by Def7; ::_thesis: verum end; theorem Th6: :: RINGCAT1:6 for G2, G3, G1 being Ring for G being Morphism of G2,G3 for F being Morphism of G1,G2 st G1 <= G2 & G2 <= G3 holds G * F is Morphism of G1,G3 proof let G2, G3, G1 be Ring; ::_thesis: for G being Morphism of G2,G3 for F being Morphism of G1,G2 st G1 <= G2 & G2 <= G3 holds G * F is Morphism of G1,G3 let G be Morphism of G2,G3; ::_thesis: for F being Morphism of G1,G2 st G1 <= G2 & G2 <= G3 holds G * F is Morphism of G1,G3 let F be Morphism of G1,G2; ::_thesis: ( G1 <= G2 & G2 <= G3 implies G * F is Morphism of G1,G3 ) assume that A1: G1 <= G2 and A2: G2 <= G3 ; ::_thesis: G * F is Morphism of G1,G3 consider g being Function of G2,G3 such that A3: G = RingMorphismStr(# G2,G3,g #) by A2, Lm8; consider f being Function of G1,G2 such that A4: F = RingMorphismStr(# G1,G2,f #) by A1, Lm8; dom G = G2 by A2, Def8 .= cod F by A1, Def8 ; then G * F = RingMorphismStr(# G1,G3,(g * f) #) by A3, A4, Def9; then A5: ( dom (G * F) = G1 & cod (G * F) = G3 ) ; G1 <= G3 by A1, A2, Th5; hence G * F is Morphism of G1,G3 by A5, Def8; ::_thesis: verum end; definition let G1, G2, G3 be Ring; let G be Morphism of G2,G3; let F be Morphism of G1,G2; assume A1: ( G1 <= G2 & G2 <= G3 ) ; funcG *' F -> strict Morphism of G1,G3 equals :Def10: :: RINGCAT1:def 10 G * F; coherence G * F is strict Morphism of G1,G3 by A1, Th6; end; :: deftheorem Def10 defines *' RINGCAT1:def_10_:_ for G1, G2, G3 being Ring for G being Morphism of G2,G3 for F being Morphism of G1,G2 st G1 <= G2 & G2 <= G3 holds G *' F = G * F; theorem Th7: :: RINGCAT1:7 for f, g being strict RingMorphism st dom g = cod f holds ex G1, G2, G3 being Ring ex f0 being Function of G1,G2 ex g0 being Function of G2,G3 st ( f = RingMorphismStr(# G1,G2,f0 #) & g = RingMorphismStr(# G2,G3,g0 #) & g * f = RingMorphismStr(# G1,G3,(g0 * f0) #) ) proof let f, g be strict RingMorphism; ::_thesis: ( dom g = cod f implies ex G1, G2, G3 being Ring ex f0 being Function of G1,G2 ex g0 being Function of G2,G3 st ( f = RingMorphismStr(# G1,G2,f0 #) & g = RingMorphismStr(# G2,G3,g0 #) & g * f = RingMorphismStr(# G1,G3,(g0 * f0) #) ) ) assume A1: dom g = cod f ; ::_thesis: ex G1, G2, G3 being Ring ex f0 being Function of G1,G2 ex g0 being Function of G2,G3 st ( f = RingMorphismStr(# G1,G2,f0 #) & g = RingMorphismStr(# G2,G3,g0 #) & g * f = RingMorphismStr(# G1,G3,(g0 * f0) #) ) set G1 = dom f; set G2 = cod f; set G3 = cod g; reconsider g9 = g as Morphism of cod f, cod g by A1, Th3; consider g0 being Function of (cod f),(cod g) such that A2: g9 = RingMorphismStr(# (cod f),(cod g),g0 #) by A1; reconsider f9 = f as Morphism of dom f, cod f by Th3; consider f0 being Function of (dom f),(cod f) such that A3: f9 = RingMorphismStr(# (dom f),(cod f),f0 #) ; take dom f ; ::_thesis: ex G2, G3 being Ring ex f0 being Function of (dom f),G2 ex g0 being Function of G2,G3 st ( f = RingMorphismStr(# (dom f),G2,f0 #) & g = RingMorphismStr(# G2,G3,g0 #) & g * f = RingMorphismStr(# (dom f),G3,(g0 * f0) #) ) take cod f ; ::_thesis: ex G3 being Ring ex f0 being Function of (dom f),(cod f) ex g0 being Function of (cod f),G3 st ( f = RingMorphismStr(# (dom f),(cod f),f0 #) & g = RingMorphismStr(# (cod f),G3,g0 #) & g * f = RingMorphismStr(# (dom f),G3,(g0 * f0) #) ) take cod g ; ::_thesis: ex f0 being Function of (dom f),(cod f) ex g0 being Function of (cod f),(cod g) st ( f = RingMorphismStr(# (dom f),(cod f),f0 #) & g = RingMorphismStr(# (cod f),(cod g),g0 #) & g * f = RingMorphismStr(# (dom f),(cod g),(g0 * f0) #) ) take f0 ; ::_thesis: ex g0 being Function of (cod f),(cod g) st ( f = RingMorphismStr(# (dom f),(cod f),f0 #) & g = RingMorphismStr(# (cod f),(cod g),g0 #) & g * f = RingMorphismStr(# (dom f),(cod g),(g0 * f0) #) ) take g0 ; ::_thesis: ( f = RingMorphismStr(# (dom f),(cod f),f0 #) & g = RingMorphismStr(# (cod f),(cod g),g0 #) & g * f = RingMorphismStr(# (dom f),(cod g),(g0 * f0) #) ) thus ( f = RingMorphismStr(# (dom f),(cod f),f0 #) & g = RingMorphismStr(# (cod f),(cod g),g0 #) & g * f = RingMorphismStr(# (dom f),(cod g),(g0 * f0) #) ) by A1, A3, A2, Def9; ::_thesis: verum end; theorem Th8: :: RINGCAT1:8 for f, g being strict RingMorphism st dom g = cod f holds ( dom (g * f) = dom f & cod (g * f) = cod g ) proof let f, g be strict RingMorphism; ::_thesis: ( dom g = cod f implies ( dom (g * f) = dom f & cod (g * f) = cod g ) ) assume dom g = cod f ; ::_thesis: ( dom (g * f) = dom f & cod (g * f) = cod g ) then A1: ex G1, G2, G3 being Ring ex f0 being Function of G1,G2 ex g0 being Function of G2,G3 st ( f = RingMorphismStr(# G1,G2,f0 #) & g = RingMorphismStr(# G2,G3,g0 #) & g * f = RingMorphismStr(# G1,G3,(g0 * f0) #) ) by Th7; hence dom (g * f) = dom f ; ::_thesis: cod (g * f) = cod g thus cod (g * f) = cod g by A1; ::_thesis: verum end; theorem Th9: :: RINGCAT1:9 for G1, G2, G3, G4 being Ring for f being Morphism of G1,G2 for g being Morphism of G2,G3 for h being Morphism of G3,G4 st G1 <= G2 & G2 <= G3 & G3 <= G4 holds h * (g * f) = (h * g) * f proof let G1, G2, G3, G4 be Ring; ::_thesis: for f being Morphism of G1,G2 for g being Morphism of G2,G3 for h being Morphism of G3,G4 st G1 <= G2 & G2 <= G3 & G3 <= G4 holds h * (g * f) = (h * g) * f let f be Morphism of G1,G2; ::_thesis: for g being Morphism of G2,G3 for h being Morphism of G3,G4 st G1 <= G2 & G2 <= G3 & G3 <= G4 holds h * (g * f) = (h * g) * f let g be Morphism of G2,G3; ::_thesis: for h being Morphism of G3,G4 st G1 <= G2 & G2 <= G3 & G3 <= G4 holds h * (g * f) = (h * g) * f let h be Morphism of G3,G4; ::_thesis: ( G1 <= G2 & G2 <= G3 & G3 <= G4 implies h * (g * f) = (h * g) * f ) assume that A1: G1 <= G2 and A2: G2 <= G3 and A3: G3 <= G4 ; ::_thesis: h * (g * f) = (h * g) * f consider f0 being Function of G1,G2 such that A4: f = RingMorphismStr(# G1,G2,f0 #) by A1, Lm8; consider h0 being Function of G3,G4 such that A5: h = RingMorphismStr(# G3,G4,h0 #) by A3, Lm8; consider g0 being Function of G2,G3 such that A6: g = RingMorphismStr(# G2,G3,g0 #) by A2, Lm8; A7: cod g = G3 by A6; A8: dom h = G3 by A5; then A9: h * g = RingMorphismStr(# G2,G4,(h0 * g0) #) by A6, A5, A7, Def9; A10: dom g = G2 by A6; then A11: dom (h * g) = G2 by A7, A8, Th8; A12: cod f = G2 by A4; then A13: cod (g * f) = G3 by A10, A7, Th8; g * f = RingMorphismStr(# G1,G3,(g0 * f0) #) by A4, A6, A12, A10, Def9; then h * (g * f) = RingMorphismStr(# G1,G4,(h0 * (g0 * f0)) #) by A5, A8, A13, Def9 .= RingMorphismStr(# G1,G4,((h0 * g0) * f0) #) by RELAT_1:36 .= (h * g) * f by A4, A12, A9, A11, Def9 ; hence h * (g * f) = (h * g) * f ; ::_thesis: verum end; theorem Th10: :: RINGCAT1:10 for f, g, h being strict RingMorphism st dom h = cod g & dom g = cod f holds h * (g * f) = (h * g) * f proof let f, g, h be strict RingMorphism; ::_thesis: ( dom h = cod g & dom g = cod f implies h * (g * f) = (h * g) * f ) assume that A1: dom h = cod g and A2: dom g = cod f ; ::_thesis: h * (g * f) = (h * g) * f set G1 = dom f; set G2 = cod f; set G3 = cod g; set G4 = cod h; reconsider h9 = h as Morphism of cod g, cod h by A1, Th3; reconsider f9 = f as Morphism of dom f, cod f by Th3; reconsider g9 = g as Morphism of cod f, cod g by A2, Th3; A3: dom f <= cod f by Th3; ( cod f <= cod g & cod g <= cod h ) by A1, A2, Th3; then h9 * (g9 * f9) = (h9 * g9) * f9 by A3, Th9; hence h * (g * f) = (h * g) * f ; ::_thesis: verum end; theorem :: RINGCAT1:11 for G being Ring holds ( dom (ID G) = G & cod (ID G) = G & ( for f being strict RingMorphism st cod f = G holds (ID G) * f = f ) & ( for g being strict RingMorphism st dom g = G holds g * (ID G) = g ) ) proof let G be Ring; ::_thesis: ( dom (ID G) = G & cod (ID G) = G & ( for f being strict RingMorphism st cod f = G holds (ID G) * f = f ) & ( for g being strict RingMorphism st dom g = G holds g * (ID G) = g ) ) set i = ID G; thus A1: ( dom (ID G) = G & cod (ID G) = G ) ; ::_thesis: ( ( for f being strict RingMorphism st cod f = G holds (ID G) * f = f ) & ( for g being strict RingMorphism st dom g = G holds g * (ID G) = g ) ) thus for f being strict RingMorphism st cod f = G holds (ID G) * f = f ::_thesis: for g being strict RingMorphism st dom g = G holds g * (ID G) = g proof let f be strict RingMorphism; ::_thesis: ( cod f = G implies (ID G) * f = f ) assume A2: cod f = G ; ::_thesis: (ID G) * f = f set H = dom f; reconsider f9 = f as Morphism of dom f,G by A2, Th3; consider m being Function of (dom f),G such that A3: f9 = RingMorphismStr(# (dom f),G,m #) by A2; (id G) * m = m by FUNCT_2:17; hence (ID G) * f = f by A1, A2, A3, Def9; ::_thesis: verum end; thus for g being strict RingMorphism st dom g = G holds g * (ID G) = g ::_thesis: verum proof let f be strict RingMorphism; ::_thesis: ( dom f = G implies f * (ID G) = f ) assume A4: dom f = G ; ::_thesis: f * (ID G) = f set H = cod f; reconsider f9 = f as Morphism of G, cod f by A4, Th3; consider m being Function of G,(cod f) such that A5: f9 = RingMorphismStr(# G,(cod f),m #) by A4; m * (id G) = m by FUNCT_2:17; hence f * (ID G) = f by A1, A4, A5, Def9; ::_thesis: verum end; end; definition let IT be set ; attrIT is Ring_DOMAIN-like means :Def11: :: RINGCAT1:def 11 for x being Element of IT holds x is strict Ring; end; :: deftheorem Def11 defines Ring_DOMAIN-like RINGCAT1:def_11_:_ for IT being set holds ( IT is Ring_DOMAIN-like iff for x being Element of IT holds x is strict Ring ); registration cluster non empty Ring_DOMAIN-like for set ; existence ex b1 being set st ( b1 is Ring_DOMAIN-like & not b1 is empty ) proof set X = the strict Ring; set D = { the strict Ring}; take { the strict Ring} ; ::_thesis: ( { the strict Ring} is Ring_DOMAIN-like & not { the strict Ring} is empty ) for x being Element of { the strict Ring} holds x is strict Ring by TARSKI:def_1; hence ( { the strict Ring} is Ring_DOMAIN-like & not { the strict Ring} is empty ) by Def11; ::_thesis: verum end; end; definition mode Ring_DOMAIN is non empty Ring_DOMAIN-like set ; end; definition let V be Ring_DOMAIN; :: original: Element redefine mode Element of V -> Ring; coherence for b1 being Element of V holds b1 is Ring by Def11; end; registration let V be Ring_DOMAIN; cluster non empty right_complementable strict V96() V97() V98() unital associative right-distributive left-distributive right_unital well-unital V148() left_unital for Element of V; existence ex b1 being Element of V st b1 is strict proof set e = the Element of V; the Element of V is strict Ring by Def11; hence ex b1 being Element of V st b1 is strict ; ::_thesis: verum end; end; definition let IT be set ; attrIT is RingMorphism_DOMAIN-like means :Def12: :: RINGCAT1:def 12 for x being set st x in IT holds x is strict RingMorphism; end; :: deftheorem Def12 defines RingMorphism_DOMAIN-like RINGCAT1:def_12_:_ for IT being set holds ( IT is RingMorphism_DOMAIN-like iff for x being set st x in IT holds x is strict RingMorphism ); registration cluster non empty RingMorphism_DOMAIN-like for set ; existence ex b1 being non empty set st b1 is RingMorphism_DOMAIN-like proof set G = the Ring; take {(ID the Ring)} ; ::_thesis: {(ID the Ring)} is RingMorphism_DOMAIN-like for x being set st x in {(ID the Ring)} holds x is strict RingMorphism by TARSKI:def_1; hence {(ID the Ring)} is RingMorphism_DOMAIN-like by Def12; ::_thesis: verum end; end; definition mode RingMorphism_DOMAIN is non empty RingMorphism_DOMAIN-like set ; end; definition let M be RingMorphism_DOMAIN; :: original: Element redefine mode Element of M -> RingMorphism; coherence for b1 being Element of M holds b1 is RingMorphism by Def12; end; registration let M be RingMorphism_DOMAIN; cluster strict RingMorphism-like for Element of M; existence ex b1 being Element of M st b1 is strict proof set m = the Element of M; the Element of M is strict RingMorphism by Def12; hence ex b1 being Element of M st b1 is strict ; ::_thesis: verum end; end; theorem Th12: :: RINGCAT1:12 for f being strict RingMorphism holds {f} is RingMorphism_DOMAIN proof let f be strict RingMorphism; ::_thesis: {f} is RingMorphism_DOMAIN for x being set st x in {f} holds x is strict RingMorphism by TARSKI:def_1; hence {f} is RingMorphism_DOMAIN by Def12; ::_thesis: verum end; definition let G, H be Ring; mode RingMorphism_DOMAIN of G,H -> RingMorphism_DOMAIN means :Def13: :: RINGCAT1:def 13 for x being Element of it holds x is Morphism of G,H; existence ex b1 being RingMorphism_DOMAIN st for x being Element of b1 holds x is Morphism of G,H proof set F = the Morphism of G,H; reconsider D = { the Morphism of G,H} as RingMorphism_DOMAIN by Th12; take D ; ::_thesis: for x being Element of D holds x is Morphism of G,H thus for x being Element of D holds x is Morphism of G,H by TARSKI:def_1; ::_thesis: verum end; end; :: deftheorem Def13 defines RingMorphism_DOMAIN RINGCAT1:def_13_:_ for G, H being Ring for b3 being RingMorphism_DOMAIN holds ( b3 is RingMorphism_DOMAIN of G,H iff for x being Element of b3 holds x is Morphism of G,H ); theorem Th13: :: RINGCAT1:13 for D being non empty set for G, H being Ring holds ( D is RingMorphism_DOMAIN of G,H iff for x being Element of D holds x is Morphism of G,H ) proof let D be non empty set ; ::_thesis: for G, H being Ring holds ( D is RingMorphism_DOMAIN of G,H iff for x being Element of D holds x is Morphism of G,H ) let G, H be Ring; ::_thesis: ( D is RingMorphism_DOMAIN of G,H iff for x being Element of D holds x is Morphism of G,H ) thus ( D is RingMorphism_DOMAIN of G,H implies for x being Element of D holds x is Morphism of G,H ) by Def13; ::_thesis: ( ( for x being Element of D holds x is Morphism of G,H ) implies D is RingMorphism_DOMAIN of G,H ) thus ( ( for x being Element of D holds x is Morphism of G,H ) implies D is RingMorphism_DOMAIN of G,H ) ::_thesis: verum proof assume A1: for x being Element of D holds x is Morphism of G,H ; ::_thesis: D is RingMorphism_DOMAIN of G,H then for x being set st x in D holds x is strict RingMorphism ; then reconsider D9 = D as RingMorphism_DOMAIN by Def12; for x being Element of D9 holds x is Morphism of G,H by A1; hence D is RingMorphism_DOMAIN of G,H by Def13; ::_thesis: verum end; end; theorem :: RINGCAT1:14 for G, H being Ring for f being Morphism of G,H holds {f} is RingMorphism_DOMAIN of G,H proof let G, H be Ring; ::_thesis: for f being Morphism of G,H holds {f} is RingMorphism_DOMAIN of G,H let f be Morphism of G,H; ::_thesis: {f} is RingMorphism_DOMAIN of G,H for x being Element of {f} holds x is Morphism of G,H by TARSKI:def_1; hence {f} is RingMorphism_DOMAIN of G,H by Th13; ::_thesis: verum end; definition let G, H be Ring; assume A1: G <= H ; func Morphs (G,H) -> RingMorphism_DOMAIN of G,H means :Def14: :: RINGCAT1:def 14 for x being set holds ( x in it iff x is Morphism of G,H ); existence ex b1 being RingMorphism_DOMAIN of G,H st for x being set holds ( x in b1 iff x is Morphism of G,H ) proof set F = the Morphism of G,H; set D = { RingMorphismStr(# G,H,f #) where f is Element of Maps (G,H) : f is linear } ; consider f being Function of G,H such that the Morphism of G,H = RingMorphismStr(# G,H,f #) and A2: f is linear by A1, Lm7; reconsider f0 = f as Element of Maps (G,H) by FUNCT_2:8; RingMorphismStr(# G,H,f0 #) in { RingMorphismStr(# G,H,f #) where f is Element of Maps (G,H) : f is linear } by A2; then reconsider D = { RingMorphismStr(# G,H,f #) where f is Element of Maps (G,H) : f is linear } as non empty set ; A3: for x being set st x in D holds x is Morphism of G,H proof let x be set ; ::_thesis: ( x in D implies x is Morphism of G,H ) assume x in D ; ::_thesis: x is Morphism of G,H then ex f being Element of Maps (G,H) st ( x = RingMorphismStr(# G,H,f #) & f is linear ) ; hence x is Morphism of G,H by Lm5; ::_thesis: verum end; then A4: for x being Element of D holds x is Morphism of G,H ; A5: for x being set st x is Morphism of G,H holds x in D proof let x be set ; ::_thesis: ( x is Morphism of G,H implies x in D ) assume x is Morphism of G,H ; ::_thesis: x in D then reconsider x = x as Morphism of G,H ; A6: ( dom x = G & cod x = H ) by A1, Def8; then reconsider f = the Fun of x as Function of G,H ; reconsider g = f as Element of Maps (G,H) by FUNCT_2:8; A7: x = RingMorphismStr(# G,H,g #) by A6; the Fun of x is linear by Lm3; hence x in D by A7; ::_thesis: verum end; reconsider D = D as RingMorphism_DOMAIN of G,H by A4, Th13; take D ; ::_thesis: for x being set holds ( x in D iff x is Morphism of G,H ) thus for x being set holds ( x in D iff x is Morphism of G,H ) by A3, A5; ::_thesis: verum end; uniqueness for b1, b2 being RingMorphism_DOMAIN of G,H st ( for x being set holds ( x in b1 iff x is Morphism of G,H ) ) & ( for x being set holds ( x in b2 iff x is Morphism of G,H ) ) holds b1 = b2 proof let D1, D2 be RingMorphism_DOMAIN of G,H; ::_thesis: ( ( for x being set holds ( x in D1 iff x is Morphism of G,H ) ) & ( for x being set holds ( x in D2 iff x is Morphism of G,H ) ) implies D1 = D2 ) assume that A8: for x being set holds ( x in D1 iff x is Morphism of G,H ) and A9: for x being set holds ( x in D2 iff x is Morphism of G,H ) ; ::_thesis: D1 = D2 for x being set holds ( x in D1 iff x in D2 ) proof let x be set ; ::_thesis: ( x in D1 iff x in D2 ) hereby ::_thesis: ( x in D2 implies x in D1 ) assume x in D1 ; ::_thesis: x in D2 then x is Morphism of G,H by A8; hence x in D2 by A9; ::_thesis: verum end; assume x in D2 ; ::_thesis: x in D1 then x is Morphism of G,H by A9; hence x in D1 by A8; ::_thesis: verum end; hence D1 = D2 by TARSKI:1; ::_thesis: verum end; end; :: deftheorem Def14 defines Morphs RINGCAT1:def_14_:_ for G, H being Ring st G <= H holds for b3 being RingMorphism_DOMAIN of G,H holds ( b3 = Morphs (G,H) iff for x being set holds ( x in b3 iff x is Morphism of G,H ) ); definition let G, H be Ring; let M be RingMorphism_DOMAIN of G,H; :: original: Element redefine mode Element of M -> Morphism of G,H; coherence for b1 being Element of M holds b1 is Morphism of G,H by Def13; end; registration let G, H be Ring; let M be RingMorphism_DOMAIN of G,H; cluster strict RingMorphism-like for Element of M; existence ex b1 being Element of M st b1 is strict proof set e = the Element of M; the Element of M is Morphism of G,H ; hence ex b1 being Element of M st b1 is strict ; ::_thesis: verum end; end; definition let x, y be set ; pred GO x,y means :Def15: :: RINGCAT1:def 15 ex x1, x2, x3, x4, x5, x6 being set st ( x = [[x1,x2,x3,x4],x5,x6] & ex G being strict Ring st ( y = G & x1 = the carrier of G & x2 = the addF of G & x3 = comp G & x4 = 0. G & x5 = the multF of G & x6 = 1. G ) ); end; :: deftheorem Def15 defines GO RINGCAT1:def_15_:_ for x, y being set holds ( GO x,y iff ex x1, x2, x3, x4, x5, x6 being set st ( x = [[x1,x2,x3,x4],x5,x6] & ex G being strict Ring st ( y = G & x1 = the carrier of G & x2 = the addF of G & x3 = comp G & x4 = 0. G & x5 = the multF of G & x6 = 1. G ) ) ); theorem Th15: :: RINGCAT1:15 for x, y1, y2 being set st GO x,y1 & GO x,y2 holds y1 = y2 proof let x, y1, y2 be set ; ::_thesis: ( GO x,y1 & GO x,y2 implies y1 = y2 ) assume that A1: GO x,y1 and A2: GO x,y2 ; ::_thesis: y1 = y2 consider a1, a2, a3, a4, a5, a6 being set such that A3: x = [[a1,a2,a3,a4],a5,a6] and A4: ex G being strict Ring st ( y1 = G & a1 = the carrier of G & a2 = the addF of G & a3 = comp G & a4 = 0. G & a5 = the multF of G & a6 = 1. G ) by A1, Def15; consider b1, b2, b3, b4, b5, b6 being set such that A5: x = [[b1,b2,b3,b4],b5,b6] and A6: ex G being strict Ring st ( y2 = G & b1 = the carrier of G & b2 = the addF of G & b3 = comp G & b4 = 0. G & b5 = the multF of G & b6 = 1. G ) by A2, Def15; consider G2 being strict Ring such that A7: y2 = G2 and A8: ( b1 = the carrier of G2 & b2 = the addF of G2 ) and b3 = comp G2 and A9: b4 = 0. G2 and A10: ( b5 = the multF of G2 & b6 = 1. G2 ) by A6; consider G1 being strict Ring such that A11: y1 = G1 and A12: ( a1 = the carrier of G1 & a2 = the addF of G1 ) and a3 = comp G1 and A13: a4 = 0. G1 and A14: ( a5 = the multF of G1 & a6 = 1. G1 ) by A4; A15: ( the multF of G1 = the multF of G2 & 1. G1 = 1. G2 ) by A3, A5, A14, A10, XTUPLE_0:3; A16: [a1,a2,a3,a4] = [b1,b2,b3,b4] by A3, A5, XTUPLE_0:3; then ( the carrier of G1 = the carrier of G2 & the addF of G1 = the addF of G2 ) by A12, A8, XTUPLE_0:5; hence y1 = y2 by A11, A13, A7, A9, A16, A15, XTUPLE_0:5; ::_thesis: verum end; theorem Th16: :: RINGCAT1:16 for UN being Universe ex x being set st ( x in UN & GO x, Z_3 ) proof let UN be Universe; ::_thesis: ex x being set st ( x in UN & GO x, Z_3 ) set G = Z_3 ; reconsider x1 = the carrier of Z_3, x2 = the addF of Z_3, x3 = comp Z_3, x4 = 0. Z_3, x5 = the multF of Z_3, x6 = 1. Z_3 as Element of UN by MOD_2:29; set x9 = [x1,x2,x3,x4]; set x = [[x1,x2,x3,x4],x5,x6]; A1: GO [[x1,x2,x3,x4],x5,x6], Z_3 proof take x1 ; :: according to RINGCAT1:def_15 ::_thesis: ex x2, x3, x4, x5, x6 being set st ( [[x1,x2,x3,x4],x5,x6] = [[x1,x2,x3,x4],x5,x6] & ex G being strict Ring st ( Z_3 = G & x1 = the carrier of G & x2 = the addF of G & x3 = comp G & x4 = 0. G & x5 = the multF of G & x6 = 1. G ) ) take x2 ; ::_thesis: ex x3, x4, x5, x6 being set st ( [[x1,x2,x3,x4],x5,x6] = [[x1,x2,x3,x4],x5,x6] & ex G being strict Ring st ( Z_3 = G & x1 = the carrier of G & x2 = the addF of G & x3 = comp G & x4 = 0. G & x5 = the multF of G & x6 = 1. G ) ) take x3 ; ::_thesis: ex x4, x5, x6 being set st ( [[x1,x2,x3,x4],x5,x6] = [[x1,x2,x3,x4],x5,x6] & ex G being strict Ring st ( Z_3 = G & x1 = the carrier of G & x2 = the addF of G & x3 = comp G & x4 = 0. G & x5 = the multF of G & x6 = 1. G ) ) take x4 ; ::_thesis: ex x5, x6 being set st ( [[x1,x2,x3,x4],x5,x6] = [[x1,x2,x3,x4],x5,x6] & ex G being strict Ring st ( Z_3 = G & x1 = the carrier of G & x2 = the addF of G & x3 = comp G & x4 = 0. G & x5 = the multF of G & x6 = 1. G ) ) take x5 ; ::_thesis: ex x6 being set st ( [[x1,x2,x3,x4],x5,x6] = [[x1,x2,x3,x4],x5,x6] & ex G being strict Ring st ( Z_3 = G & x1 = the carrier of G & x2 = the addF of G & x3 = comp G & x4 = 0. G & x5 = the multF of G & x6 = 1. G ) ) take x6 ; ::_thesis: ( [[x1,x2,x3,x4],x5,x6] = [[x1,x2,x3,x4],x5,x6] & ex G being strict Ring st ( Z_3 = G & x1 = the carrier of G & x2 = the addF of G & x3 = comp G & x4 = 0. G & x5 = the multF of G & x6 = 1. G ) ) thus ( [[x1,x2,x3,x4],x5,x6] = [[x1,x2,x3,x4],x5,x6] & ex G being strict Ring st ( Z_3 = G & x1 = the carrier of G & x2 = the addF of G & x3 = comp G & x4 = 0. G & x5 = the multF of G & x6 = 1. G ) ) ; ::_thesis: verum end; take [[x1,x2,x3,x4],x5,x6] ; ::_thesis: ( [[x1,x2,x3,x4],x5,x6] in UN & GO [[x1,x2,x3,x4],x5,x6], Z_3 ) [x1,x2,x3,x4] is Element of UN by GRCAT_1:1; hence ( [[x1,x2,x3,x4],x5,x6] in UN & GO [[x1,x2,x3,x4],x5,x6], Z_3 ) by A1, GRCAT_1:1; ::_thesis: verum end; definition let UN be Universe; func RingObjects UN -> set means :Def16: :: RINGCAT1:def 16 for y being set holds ( y in it iff ex x being set st ( x in UN & GO x,y ) ); existence ex b1 being set st for y being set holds ( y in b1 iff ex x being set st ( x in UN & GO x,y ) ) proof defpred S1[ set , set ] means GO $1,$2; A1: for x, y1, y2 being set st S1[x,y1] & S1[x,y2] holds y1 = y2 by Th15; consider Y being set such that A2: for y being set holds ( y in Y iff ex x being set st ( x in UN & S1[x,y] ) ) from TARSKI:sch_1(A1); take Y ; ::_thesis: for y being set holds ( y in Y iff ex x being set st ( x in UN & GO x,y ) ) thus for y being set holds ( y in Y iff ex x being set st ( x in UN & GO x,y ) ) by A2; ::_thesis: verum end; uniqueness for b1, b2 being set st ( for y being set holds ( y in b1 iff ex x being set st ( x in UN & GO x,y ) ) ) & ( for y being set holds ( y in b2 iff ex x being set st ( x in UN & GO x,y ) ) ) holds b1 = b2 proof let Y1, Y2 be set ; ::_thesis: ( ( for y being set holds ( y in Y1 iff ex x being set st ( x in UN & GO x,y ) ) ) & ( for y being set holds ( y in Y2 iff ex x being set st ( x in UN & GO x,y ) ) ) implies Y1 = Y2 ) assume that A3: for y being set holds ( y in Y1 iff ex x being set st ( x in UN & GO x,y ) ) and A4: for y being set holds ( y in Y2 iff ex x being set st ( x in UN & GO x,y ) ) ; ::_thesis: Y1 = Y2 now__::_thesis:_for_y_being_set_holds_ (_y_in_Y1_iff_y_in_Y2_) let y be set ; ::_thesis: ( y in Y1 iff y in Y2 ) ( y in Y1 iff ex x being set st ( x in UN & GO x,y ) ) by A3; hence ( y in Y1 iff y in Y2 ) by A4; ::_thesis: verum end; hence Y1 = Y2 by TARSKI:1; ::_thesis: verum end; end; :: deftheorem Def16 defines RingObjects RINGCAT1:def_16_:_ for UN being Universe for b2 being set holds ( b2 = RingObjects UN iff for y being set holds ( y in b2 iff ex x being set st ( x in UN & GO x,y ) ) ); theorem Th17: :: RINGCAT1:17 for UN being Universe holds Z_3 in RingObjects UN proof let UN be Universe; ::_thesis: Z_3 in RingObjects UN ex x being set st ( x in UN & GO x, Z_3 ) by Th16; hence Z_3 in RingObjects UN by Def16; ::_thesis: verum end; registration let UN be Universe; cluster RingObjects UN -> non empty ; coherence not RingObjects UN is empty by Th17; end; theorem Th18: :: RINGCAT1:18 for UN being Universe for x being Element of RingObjects UN holds x is strict Ring proof let UN be Universe; ::_thesis: for x being Element of RingObjects UN holds x is strict Ring let x be Element of RingObjects UN; ::_thesis: x is strict Ring consider u being set such that u in UN and A1: GO u,x by Def16; ex x1, x2, x3, x4, x5, x6 being set st ( u = [[x1,x2,x3,x4],x5,x6] & ex G being strict Ring st ( x = G & x1 = the carrier of G & x2 = the addF of G & x3 = comp G & x4 = 0. G & x5 = the multF of G & x6 = 1. G ) ) by A1, Def15; hence x is strict Ring ; ::_thesis: verum end; registration let UN be Universe; cluster RingObjects UN -> Ring_DOMAIN-like ; coherence RingObjects UN is Ring_DOMAIN-like proof for x being Element of RingObjects UN holds x is strict Ring by Th18; hence RingObjects UN is Ring_DOMAIN-like by Def11; ::_thesis: verum end; end; definition let V be Ring_DOMAIN; func Morphs V -> RingMorphism_DOMAIN means :Def17: :: RINGCAT1:def 17 for x being set holds ( x in it iff ex G, H being Element of V st ( G <= H & x is Morphism of G,H ) ); existence ex b1 being RingMorphism_DOMAIN st for x being set holds ( x in b1 iff ex G, H being Element of V st ( G <= H & x is Morphism of G,H ) ) proof set G0 = the Element of V; set M = Morphs ( the Element of V, the Element of V); set S = { (Morphs (G,H)) where G, H is Element of V : G <= H } ; ( ID the Element of V is Element of Morphs ( the Element of V, the Element of V) & Morphs ( the Element of V, the Element of V) in { (Morphs (G,H)) where G, H is Element of V : G <= H } ) by Def14; then reconsider T = union { (Morphs (G,H)) where G, H is Element of V : G <= H } as non empty set by TARSKI:def_4; A1: for x being set holds ( x in T iff ex G, H being Element of V st ( G <= H & x is Morphism of G,H ) ) proof let x be set ; ::_thesis: ( x in T iff ex G, H being Element of V st ( G <= H & x is Morphism of G,H ) ) thus ( x in T implies ex G, H being Element of V st ( G <= H & x is Morphism of G,H ) ) ::_thesis: ( ex G, H being Element of V st ( G <= H & x is Morphism of G,H ) implies x in T ) proof assume x in T ; ::_thesis: ex G, H being Element of V st ( G <= H & x is Morphism of G,H ) then consider Y being set such that A2: x in Y and A3: Y in { (Morphs (G,H)) where G, H is Element of V : G <= H } by TARSKI:def_4; consider G, H being Element of V such that A4: Y = Morphs (G,H) and A5: G <= H by A3; take G ; ::_thesis: ex H being Element of V st ( G <= H & x is Morphism of G,H ) take H ; ::_thesis: ( G <= H & x is Morphism of G,H ) x is Element of Morphs (G,H) by A2, A4; hence ( G <= H & x is Morphism of G,H ) by A5; ::_thesis: verum end; thus ( ex G, H being Element of V st ( G <= H & x is Morphism of G,H ) implies x in T ) ::_thesis: verum proof given G, H being Element of V such that A6: ( G <= H & x is Morphism of G,H ) ; ::_thesis: x in T set M = Morphs (G,H); ( x in Morphs (G,H) & Morphs (G,H) in { (Morphs (G,H)) where G, H is Element of V : G <= H } ) by A6, Def14; hence x in T by TARSKI:def_4; ::_thesis: verum end; end; now__::_thesis:_for_x_being_set_st_x_in_T_holds_ x_is_strict_RingMorphism let x be set ; ::_thesis: ( x in T implies x is strict RingMorphism ) assume x in T ; ::_thesis: x is strict RingMorphism then ex G, H being Element of V st ( G <= H & x is Morphism of G,H ) by A1; hence x is strict RingMorphism ; ::_thesis: verum end; then reconsider T9 = T as RingMorphism_DOMAIN by Def12; take T9 ; ::_thesis: for x being set holds ( x in T9 iff ex G, H being Element of V st ( G <= H & x is Morphism of G,H ) ) thus for x being set holds ( x in T9 iff ex G, H being Element of V st ( G <= H & x is Morphism of G,H ) ) by A1; ::_thesis: verum end; uniqueness for b1, b2 being RingMorphism_DOMAIN st ( for x being set holds ( x in b1 iff ex G, H being Element of V st ( G <= H & x is Morphism of G,H ) ) ) & ( for x being set holds ( x in b2 iff ex G, H being Element of V st ( G <= H & x is Morphism of G,H ) ) ) holds b1 = b2 proof let D1, D2 be RingMorphism_DOMAIN; ::_thesis: ( ( for x being set holds ( x in D1 iff ex G, H being Element of V st ( G <= H & x is Morphism of G,H ) ) ) & ( for x being set holds ( x in D2 iff ex G, H being Element of V st ( G <= H & x is Morphism of G,H ) ) ) implies D1 = D2 ) assume that A7: for x being set holds ( x in D1 iff ex G, H being Element of V st ( G <= H & x is Morphism of G,H ) ) and A8: for x being set holds ( x in D2 iff ex G, H being Element of V st ( G <= H & x is Morphism of G,H ) ) ; ::_thesis: D1 = D2 now__::_thesis:_for_x_being_set_holds_ (_x_in_D1_iff_x_in_D2_) let x be set ; ::_thesis: ( x in D1 iff x in D2 ) ( x in D1 iff ex G, H being Element of V st ( G <= H & x is Morphism of G,H ) ) by A7; hence ( x in D1 iff x in D2 ) by A8; ::_thesis: verum end; hence D1 = D2 by TARSKI:1; ::_thesis: verum end; end; :: deftheorem Def17 defines Morphs RINGCAT1:def_17_:_ for V being Ring_DOMAIN for b2 being RingMorphism_DOMAIN holds ( b2 = Morphs V iff for x being set holds ( x in b2 iff ex G, H being Element of V st ( G <= H & x is Morphism of G,H ) ) ); definition let V be Ring_DOMAIN; let F be Element of Morphs V; :: original: dom redefine func dom F -> Element of V; coherence dom F is Element of V proof consider G, H being Element of V such that A1: G <= H and A2: F is Morphism of G,H by Def17; reconsider F9 = F as Morphism of G,H by A2; dom F9 = G by A1, Def8; hence dom F is Element of V ; ::_thesis: verum end; :: original: cod redefine func cod F -> Element of V; coherence cod F is Element of V proof consider G, H being Element of V such that A3: G <= H and A4: F is Morphism of G,H by Def17; reconsider F9 = F as Morphism of G,H by A4; cod F9 = H by A3, Def8; hence cod F is Element of V ; ::_thesis: verum end; end; definition let V be Ring_DOMAIN; let G be Element of V; func ID G -> strict Element of Morphs V equals :: RINGCAT1:def 18 ID G; coherence ID G is strict Element of Morphs V by Def17; canceled; end; :: deftheorem defines ID RINGCAT1:def_18_:_ for V being Ring_DOMAIN for G being Element of V holds ID G = ID G; :: deftheorem RINGCAT1:def_19_:_ canceled; definition let V be Ring_DOMAIN; func dom V -> Function of (Morphs V),V means :Def19: :: RINGCAT1:def 20 for f being Element of Morphs V holds it . f = dom f; existence ex b1 being Function of (Morphs V),V st for f being Element of Morphs V holds b1 . f = dom f proof deffunc H1( Element of Morphs V) -> Element of V = dom $1; consider F being Function of (Morphs V),V such that A1: for f being Element of Morphs V holds F . f = H1(f) from FUNCT_2:sch_4(); take F ; ::_thesis: for f being Element of Morphs V holds F . f = dom f thus for f being Element of Morphs V holds F . f = dom f by A1; ::_thesis: verum end; uniqueness for b1, b2 being Function of (Morphs V),V st ( for f being Element of Morphs V holds b1 . f = dom f ) & ( for f being Element of Morphs V holds b2 . f = dom f ) holds b1 = b2 proof let F1, F2 be Function of (Morphs V),V; ::_thesis: ( ( for f being Element of Morphs V holds F1 . f = dom f ) & ( for f being Element of Morphs V holds F2 . f = dom f ) implies F1 = F2 ) assume that A2: for f being Element of Morphs V holds F1 . f = dom f and A3: for f being Element of Morphs V holds F2 . f = dom f ; ::_thesis: F1 = F2 now__::_thesis:_for_f_being_Element_of_Morphs_V_holds_F1_._f_=_F2_._f let f be Element of Morphs V; ::_thesis: F1 . f = F2 . f F1 . f = dom f by A2; hence F1 . f = F2 . f by A3; ::_thesis: verum end; hence F1 = F2 by FUNCT_2:63; ::_thesis: verum end; func cod V -> Function of (Morphs V),V means :Def20: :: RINGCAT1:def 21 for f being Element of Morphs V holds it . f = cod f; existence ex b1 being Function of (Morphs V),V st for f being Element of Morphs V holds b1 . f = cod f proof deffunc H1( Element of Morphs V) -> Element of V = cod $1; consider F being Function of (Morphs V),V such that A4: for f being Element of Morphs V holds F . f = H1(f) from FUNCT_2:sch_4(); take F ; ::_thesis: for f being Element of Morphs V holds F . f = cod f thus for f being Element of Morphs V holds F . f = cod f by A4; ::_thesis: verum end; uniqueness for b1, b2 being Function of (Morphs V),V st ( for f being Element of Morphs V holds b1 . f = cod f ) & ( for f being Element of Morphs V holds b2 . f = cod f ) holds b1 = b2 proof let F1, F2 be Function of (Morphs V),V; ::_thesis: ( ( for f being Element of Morphs V holds F1 . f = cod f ) & ( for f being Element of Morphs V holds F2 . f = cod f ) implies F1 = F2 ) assume that A5: for f being Element of Morphs V holds F1 . f = cod f and A6: for f being Element of Morphs V holds F2 . f = cod f ; ::_thesis: F1 = F2 now__::_thesis:_for_f_being_Element_of_Morphs_V_holds_F1_._f_=_F2_._f let f be Element of Morphs V; ::_thesis: F1 . f = F2 . f F1 . f = cod f by A5; hence F1 . f = F2 . f by A6; ::_thesis: verum end; hence F1 = F2 by FUNCT_2:63; ::_thesis: verum end; canceled; end; :: deftheorem Def19 defines dom RINGCAT1:def_20_:_ for V being Ring_DOMAIN for b2 being Function of (Morphs V),V holds ( b2 = dom V iff for f being Element of Morphs V holds b2 . f = dom f ); :: deftheorem Def20 defines cod RINGCAT1:def_21_:_ for V being Ring_DOMAIN for b2 being Function of (Morphs V),V holds ( b2 = cod V iff for f being Element of Morphs V holds b2 . f = cod f ); :: deftheorem RINGCAT1:def_22_:_ canceled; theorem Th19: :: RINGCAT1:19 for V being Ring_DOMAIN for g, f being Element of Morphs V st dom g = cod f holds ex G1, G2, G3 being Element of V st ( G1 <= G2 & G2 <= G3 & g is Morphism of G2,G3 & f is Morphism of G1,G2 ) proof let V be Ring_DOMAIN; ::_thesis: for g, f being Element of Morphs V st dom g = cod f holds ex G1, G2, G3 being Element of V st ( G1 <= G2 & G2 <= G3 & g is Morphism of G2,G3 & f is Morphism of G1,G2 ) set X = Morphs V; defpred S1[ Element of Morphs V, Element of Morphs V] means dom $1 = cod $2; let g, f be Element of Morphs V; ::_thesis: ( dom g = cod f implies ex G1, G2, G3 being Element of V st ( G1 <= G2 & G2 <= G3 & g is Morphism of G2,G3 & f is Morphism of G1,G2 ) ) assume A1: S1[g,f] ; ::_thesis: ex G1, G2, G3 being Element of V st ( G1 <= G2 & G2 <= G3 & g is Morphism of G2,G3 & f is Morphism of G1,G2 ) consider G2, G3 being Element of V such that A2: ( G2 <= G3 & g is Morphism of G2,G3 ) by Def17; consider G1, G29 being Element of V such that A3: ( G1 <= G29 & f is Morphism of G1,G29 ) by Def17; A4: G29 = cod f by A3, Def8; G2 = dom g by A2, Def8; hence ex G1, G2, G3 being Element of V st ( G1 <= G2 & G2 <= G3 & g is Morphism of G2,G3 & f is Morphism of G1,G2 ) by A1, A2, A3, A4; ::_thesis: verum end; theorem Th20: :: RINGCAT1:20 for V being Ring_DOMAIN for g, f being Element of Morphs V st dom g = cod f holds g * f in Morphs V proof let V be Ring_DOMAIN; ::_thesis: for g, f being Element of Morphs V st dom g = cod f holds g * f in Morphs V set X = Morphs V; defpred S1[ Element of Morphs V, Element of Morphs V] means dom $1 = cod $2; let g, f be Element of Morphs V; ::_thesis: ( dom g = cod f implies g * f in Morphs V ) assume S1[g,f] ; ::_thesis: g * f in Morphs V then consider G1, G2, G3 being Element of V such that A1: ( G1 <= G2 & G2 <= G3 ) and A2: g is Morphism of G2,G3 and A3: f is Morphism of G1,G2 by Th19; reconsider f9 = f as Morphism of G1,G2 by A3; reconsider g9 = g as Morphism of G2,G3 by A2; ( G1 <= G3 & g9 *' f9 = g9 * f9 ) by A1, Def10, Th5; hence g * f in Morphs V by Def17; ::_thesis: verum end; definition let V be Ring_DOMAIN; func comp V -> PartFunc of [:(Morphs V),(Morphs V):],(Morphs V) means :Def22: :: RINGCAT1:def 23 ( ( for g, f being Element of Morphs V holds ( [g,f] in dom it iff dom g = cod f ) ) & ( for g, f being Element of Morphs V st [g,f] in dom it holds it . (g,f) = g * f ) ); existence ex b1 being PartFunc of [:(Morphs V),(Morphs V):],(Morphs V) st ( ( for g, f being Element of Morphs V holds ( [g,f] in dom b1 iff dom g = cod f ) ) & ( for g, f being Element of Morphs V st [g,f] in dom b1 holds b1 . (g,f) = g * f ) ) proof set X = Morphs V; defpred S1[ Element of Morphs V, Element of Morphs V] means dom $1 = cod $2; deffunc H1( Element of Morphs V, Element of Morphs V) -> strict RingMorphism = $1 * $2; A1: for g, f being Element of Morphs V st S1[g,f] holds H1(g,f) in Morphs V by Th20; consider c being PartFunc of [:(Morphs V),(Morphs V):],(Morphs V) such that A2: ( ( for g, f being Element of Morphs V holds ( [g,f] in dom c iff S1[g,f] ) ) & ( for g, f being Element of Morphs V st [g,f] in dom c holds c . (g,f) = H1(g,f) ) ) from BINOP_1:sch_8(A1); take c ; ::_thesis: ( ( for g, f being Element of Morphs V holds ( [g,f] in dom c iff dom g = cod f ) ) & ( for g, f being Element of Morphs V st [g,f] in dom c holds c . (g,f) = g * f ) ) thus ( ( for g, f being Element of Morphs V holds ( [g,f] in dom c iff dom g = cod f ) ) & ( for g, f being Element of Morphs V st [g,f] in dom c holds c . (g,f) = g * f ) ) by A2; ::_thesis: verum end; uniqueness for b1, b2 being PartFunc of [:(Morphs V),(Morphs V):],(Morphs V) st ( for g, f being Element of Morphs V holds ( [g,f] in dom b1 iff dom g = cod f ) ) & ( for g, f being Element of Morphs V st [g,f] in dom b1 holds b1 . (g,f) = g * f ) & ( for g, f being Element of Morphs V holds ( [g,f] in dom b2 iff dom g = cod f ) ) & ( for g, f being Element of Morphs V st [g,f] in dom b2 holds b2 . (g,f) = g * f ) holds b1 = b2 proof set X = Morphs V; defpred S1[ Element of Morphs V, Element of Morphs V] means dom $1 = cod $2; let c1, c2 be PartFunc of [:(Morphs V),(Morphs V):],(Morphs V); ::_thesis: ( ( for g, f being Element of Morphs V holds ( [g,f] in dom c1 iff dom g = cod f ) ) & ( for g, f being Element of Morphs V st [g,f] in dom c1 holds c1 . (g,f) = g * f ) & ( for g, f being Element of Morphs V holds ( [g,f] in dom c2 iff dom g = cod f ) ) & ( for g, f being Element of Morphs V st [g,f] in dom c2 holds c2 . (g,f) = g * f ) implies c1 = c2 ) assume that A3: for g, f being Element of Morphs V holds ( [g,f] in dom c1 iff S1[g,f] ) and A4: for g, f being Element of Morphs V st [g,f] in dom c1 holds c1 . (g,f) = g * f and A5: for g, f being Element of Morphs V holds ( [g,f] in dom c2 iff S1[g,f] ) and A6: for g, f being Element of Morphs V st [g,f] in dom c2 holds c2 . (g,f) = g * f ; ::_thesis: c1 = c2 set V0 = dom c1; B9: now__::_thesis:_for_x_being_set_st_x_in_dom_c1_holds_ x_in_dom_c2 let x be set ; ::_thesis: ( x in dom c1 implies x in dom c2 ) assume A7: x in dom c1 ; ::_thesis: x in dom c2 then consider g, f being Element of Morphs V such that A8: x = [g,f] by SUBSET_1:43; S1[g,f] by A3, A7, A8; hence x in dom c2 by A5, A8; ::_thesis: verum end; then A9: dom c1 c= dom c2 by TARSKI:def_3; A10: for x, y being set st [x,y] in dom c1 holds c1 . (x,y) = c2 . (x,y) proof let x, y be set ; ::_thesis: ( [x,y] in dom c1 implies c1 . (x,y) = c2 . (x,y) ) assume A11: [x,y] in dom c1 ; ::_thesis: c1 . (x,y) = c2 . (x,y) then reconsider x = x, y = y as Element of Morphs V by ZFMISC_1:87; c1 . (x,y) = x * y by A4, A11; hence c1 . (x,y) = c2 . (x,y) by A6, B9, A11; ::_thesis: verum end; now__::_thesis:_for_x_being_set_st_x_in_dom_c2_holds_ x_in_dom_c1 let x be set ; ::_thesis: ( x in dom c2 implies x in dom c1 ) assume A12: x in dom c2 ; ::_thesis: x in dom c1 then consider g, f being Element of Morphs V such that A13: x = [g,f] by SUBSET_1:43; S1[g,f] by A5, A12, A13; hence x in dom c1 by A3, A13; ::_thesis: verum end; then dom c2 c= dom c1 by TARSKI:def_3; hence c1 = c2 by A10, BINOP_1:20, A9, XBOOLE_0:def_10; ::_thesis: verum end; end; :: deftheorem Def22 defines comp RINGCAT1:def_23_:_ for V being Ring_DOMAIN for b2 being PartFunc of [:(Morphs V),(Morphs V):],(Morphs V) holds ( b2 = comp V iff ( ( for g, f being Element of Morphs V holds ( [g,f] in dom b2 iff dom g = cod f ) ) & ( for g, f being Element of Morphs V st [g,f] in dom b2 holds b2 . (g,f) = g * f ) ) ); definition let UN be Universe; func RingCat UN -> CatStr equals :: RINGCAT1:def 24 CatStr(# (RingObjects UN),(Morphs (RingObjects UN)),(dom (RingObjects UN)),(cod (RingObjects UN)),(comp (RingObjects UN)) #); coherence CatStr(# (RingObjects UN),(Morphs (RingObjects UN)),(dom (RingObjects UN)),(cod (RingObjects UN)),(comp (RingObjects UN)) #) is CatStr ; end; :: deftheorem defines RingCat RINGCAT1:def_24_:_ for UN being Universe holds RingCat UN = CatStr(# (RingObjects UN),(Morphs (RingObjects UN)),(dom (RingObjects UN)),(cod (RingObjects UN)),(comp (RingObjects UN)) #); registration let UN be Universe; cluster RingCat UN -> non empty non void strict ; coherence ( RingCat UN is strict & not RingCat UN is void & not RingCat UN is empty ) ; end; theorem Th21: :: RINGCAT1:21 for UN being Universe for f, g being Morphism of (RingCat UN) holds ( [g,f] in dom the Comp of (RingCat UN) iff dom g = cod f ) proof let UN be Universe; ::_thesis: for f, g being Morphism of (RingCat UN) holds ( [g,f] in dom the Comp of (RingCat UN) iff dom g = cod f ) set C = RingCat UN; set V = RingObjects UN; let f, g be Morphism of (RingCat UN); ::_thesis: ( [g,f] in dom the Comp of (RingCat UN) iff dom g = cod f ) reconsider f9 = f as Element of Morphs (RingObjects UN) ; reconsider g9 = g as Element of Morphs (RingObjects UN) ; ( dom g = dom g9 & cod f = cod f9 ) by Def19, Def20; hence ( [g,f] in dom the Comp of (RingCat UN) iff dom g = cod f ) by Def22; ::_thesis: verum end; theorem Th22: :: RINGCAT1:22 for UN being Universe for f being Morphism of (RingCat UN) for f9 being Element of Morphs (RingObjects UN) for b being Object of (RingCat UN) for b9 being Element of RingObjects UN holds ( f is strict Element of Morphs (RingObjects UN) & f9 is Morphism of (RingCat UN) & b is strict Element of RingObjects UN & b9 is Object of (RingCat UN) ) proof let UN be Universe; ::_thesis: for f being Morphism of (RingCat UN) for f9 being Element of Morphs (RingObjects UN) for b being Object of (RingCat UN) for b9 being Element of RingObjects UN holds ( f is strict Element of Morphs (RingObjects UN) & f9 is Morphism of (RingCat UN) & b is strict Element of RingObjects UN & b9 is Object of (RingCat UN) ) set C = RingCat UN; set V = RingObjects UN; set X = Morphs (RingObjects UN); let f be Morphism of (RingCat UN); ::_thesis: for f9 being Element of Morphs (RingObjects UN) for b being Object of (RingCat UN) for b9 being Element of RingObjects UN holds ( f is strict Element of Morphs (RingObjects UN) & f9 is Morphism of (RingCat UN) & b is strict Element of RingObjects UN & b9 is Object of (RingCat UN) ) let f9 be Element of Morphs (RingObjects UN); ::_thesis: for b being Object of (RingCat UN) for b9 being Element of RingObjects UN holds ( f is strict Element of Morphs (RingObjects UN) & f9 is Morphism of (RingCat UN) & b is strict Element of RingObjects UN & b9 is Object of (RingCat UN) ) let b be Object of (RingCat UN); ::_thesis: for b9 being Element of RingObjects UN holds ( f is strict Element of Morphs (RingObjects UN) & f9 is Morphism of (RingCat UN) & b is strict Element of RingObjects UN & b9 is Object of (RingCat UN) ) let b9 be Element of RingObjects UN; ::_thesis: ( f is strict Element of Morphs (RingObjects UN) & f9 is Morphism of (RingCat UN) & b is strict Element of RingObjects UN & b9 is Object of (RingCat UN) ) consider x being set such that x in UN and A1: GO x,b by Def16; ex G, H being Element of RingObjects UN st ( G <= H & f is Morphism of G,H ) by Def17; hence f is strict Element of Morphs (RingObjects UN) ; ::_thesis: ( f9 is Morphism of (RingCat UN) & b is strict Element of RingObjects UN & b9 is Object of (RingCat UN) ) thus f9 is Morphism of (RingCat UN) ; ::_thesis: ( b is strict Element of RingObjects UN & b9 is Object of (RingCat UN) ) ex x1, x2, x3, x4, x5, x6 being set st ( x = [[x1,x2,x3,x4],x5,x6] & ex G being strict Ring st ( b = G & x1 = the carrier of G & x2 = the addF of G & x3 = comp G & x4 = 0. G & x5 = the multF of G & x6 = 1. G ) ) by A1, Def15; hence b is strict Element of RingObjects UN ; ::_thesis: b9 is Object of (RingCat UN) thus b9 is Object of (RingCat UN) ; ::_thesis: verum end; theorem :: RINGCAT1:23 canceled; theorem Th24: :: RINGCAT1:24 for UN being Universe for f, g being Morphism of (RingCat UN) for f9, g9 being Element of Morphs (RingObjects UN) st f = f9 & g = g9 holds ( ( dom g = cod f implies dom g9 = cod f9 ) & ( dom g9 = cod f9 implies dom g = cod f ) & ( dom g = cod f implies [g9,f9] in dom (comp (RingObjects UN)) ) & ( [g9,f9] in dom (comp (RingObjects UN)) implies dom g = cod f ) & ( dom g = cod f implies g (*) f = g9 * f9 ) & ( dom f = dom g implies dom f9 = dom g9 ) & ( dom f9 = dom g9 implies dom f = dom g ) & ( cod f = cod g implies cod f9 = cod g9 ) & ( cod f9 = cod g9 implies cod f = cod g ) ) proof let UN be Universe; ::_thesis: for f, g being Morphism of (RingCat UN) for f9, g9 being Element of Morphs (RingObjects UN) st f = f9 & g = g9 holds ( ( dom g = cod f implies dom g9 = cod f9 ) & ( dom g9 = cod f9 implies dom g = cod f ) & ( dom g = cod f implies [g9,f9] in dom (comp (RingObjects UN)) ) & ( [g9,f9] in dom (comp (RingObjects UN)) implies dom g = cod f ) & ( dom g = cod f implies g (*) f = g9 * f9 ) & ( dom f = dom g implies dom f9 = dom g9 ) & ( dom f9 = dom g9 implies dom f = dom g ) & ( cod f = cod g implies cod f9 = cod g9 ) & ( cod f9 = cod g9 implies cod f = cod g ) ) set C = RingCat UN; set V = RingObjects UN; set X = Morphs (RingObjects UN); let f, g be Morphism of (RingCat UN); ::_thesis: for f9, g9 being Element of Morphs (RingObjects UN) st f = f9 & g = g9 holds ( ( dom g = cod f implies dom g9 = cod f9 ) & ( dom g9 = cod f9 implies dom g = cod f ) & ( dom g = cod f implies [g9,f9] in dom (comp (RingObjects UN)) ) & ( [g9,f9] in dom (comp (RingObjects UN)) implies dom g = cod f ) & ( dom g = cod f implies g (*) f = g9 * f9 ) & ( dom f = dom g implies dom f9 = dom g9 ) & ( dom f9 = dom g9 implies dom f = dom g ) & ( cod f = cod g implies cod f9 = cod g9 ) & ( cod f9 = cod g9 implies cod f = cod g ) ) let f9, g9 be Element of Morphs (RingObjects UN); ::_thesis: ( f = f9 & g = g9 implies ( ( dom g = cod f implies dom g9 = cod f9 ) & ( dom g9 = cod f9 implies dom g = cod f ) & ( dom g = cod f implies [g9,f9] in dom (comp (RingObjects UN)) ) & ( [g9,f9] in dom (comp (RingObjects UN)) implies dom g = cod f ) & ( dom g = cod f implies g (*) f = g9 * f9 ) & ( dom f = dom g implies dom f9 = dom g9 ) & ( dom f9 = dom g9 implies dom f = dom g ) & ( cod f = cod g implies cod f9 = cod g9 ) & ( cod f9 = cod g9 implies cod f = cod g ) ) ) assume that A1: f = f9 and A2: g = g9 ; ::_thesis: ( ( dom g = cod f implies dom g9 = cod f9 ) & ( dom g9 = cod f9 implies dom g = cod f ) & ( dom g = cod f implies [g9,f9] in dom (comp (RingObjects UN)) ) & ( [g9,f9] in dom (comp (RingObjects UN)) implies dom g = cod f ) & ( dom g = cod f implies g (*) f = g9 * f9 ) & ( dom f = dom g implies dom f9 = dom g9 ) & ( dom f9 = dom g9 implies dom f = dom g ) & ( cod f = cod g implies cod f9 = cod g9 ) & ( cod f9 = cod g9 implies cod f = cod g ) ) A3: cod f = cod f9 by A1, Def20; hence ( dom g = cod f iff dom g9 = cod f9 ) by A2, Def19; ::_thesis: ( ( dom g = cod f implies [g9,f9] in dom (comp (RingObjects UN)) ) & ( [g9,f9] in dom (comp (RingObjects UN)) implies dom g = cod f ) & ( dom g = cod f implies g (*) f = g9 * f9 ) & ( dom f = dom g implies dom f9 = dom g9 ) & ( dom f9 = dom g9 implies dom f = dom g ) & ( cod f = cod g implies cod f9 = cod g9 ) & ( cod f9 = cod g9 implies cod f = cod g ) ) dom g = dom g9 by A2, Def19; hence A4: ( dom g = cod f iff [g9,f9] in dom (comp (RingObjects UN)) ) by A3, Def22; ::_thesis: ( ( dom g = cod f implies g (*) f = g9 * f9 ) & ( dom f = dom g implies dom f9 = dom g9 ) & ( dom f9 = dom g9 implies dom f = dom g ) & ( cod f = cod g implies cod f9 = cod g9 ) & ( cod f9 = cod g9 implies cod f = cod g ) ) thus ( dom g = cod f implies g (*) f = g9 * f9 ) ::_thesis: ( ( dom f = dom g implies dom f9 = dom g9 ) & ( dom f9 = dom g9 implies dom f = dom g ) & ( cod f = cod g implies cod f9 = cod g9 ) & ( cod f9 = cod g9 implies cod f = cod g ) ) proof assume A5: dom g = cod f ; ::_thesis: g (*) f = g9 * f9 then [g,f] in dom the Comp of (RingCat UN) by Th21; hence g (*) f = (comp (RingObjects UN)) . (g9,f9) by A1, A2, CAT_1:def_1 .= g9 * f9 by A4, A5, Def22 ; ::_thesis: verum end; dom f = dom f9 by A1, Def19; hence ( dom f = dom g iff dom f9 = dom g9 ) by A2, Def19; ::_thesis: ( cod f = cod g iff cod f9 = cod g9 ) cod g = cod g9 by A2, Def20; hence ( cod f = cod g iff cod f9 = cod g9 ) by A1, Def20; ::_thesis: verum end; Lm9: for UN being Universe for f, g being Morphism of (RingCat UN) st dom g = cod f holds ( dom (g (*) f) = dom f & cod (g (*) f) = cod g ) proof let UN be Universe; ::_thesis: for f, g being Morphism of (RingCat UN) st dom g = cod f holds ( dom (g (*) f) = dom f & cod (g (*) f) = cod g ) set X = Morphs (RingObjects UN); let f, g be Morphism of (RingCat UN); ::_thesis: ( dom g = cod f implies ( dom (g (*) f) = dom f & cod (g (*) f) = cod g ) ) assume A1: dom g = cod f ; ::_thesis: ( dom (g (*) f) = dom f & cod (g (*) f) = cod g ) reconsider g9 = g as strict Element of Morphs (RingObjects UN) by Th22; reconsider f9 = f as strict Element of Morphs (RingObjects UN) by Th22; A2: dom g9 = cod f9 by A1, Th24; then reconsider gf = g9 * f9 as Element of Morphs (RingObjects UN) by Th20; A3: gf = g (*) f by A1, Th24; ( dom (g9 * f9) = dom f9 & cod (g9 * f9) = cod g9 ) by A2, Th8; hence ( dom (g (*) f) = dom f & cod (g (*) f) = cod g ) by A3, Th24; ::_thesis: verum end; Lm10: for UN being Universe for f, g, h being Morphism of (RingCat UN) st dom h = cod g & dom g = cod f holds h (*) (g (*) f) = (h (*) g) (*) f proof let UN be Universe; ::_thesis: for f, g, h being Morphism of (RingCat UN) st dom h = cod g & dom g = cod f holds h (*) (g (*) f) = (h (*) g) (*) f set X = Morphs (RingObjects UN); let f, g, h be Morphism of (RingCat UN); ::_thesis: ( dom h = cod g & dom g = cod f implies h (*) (g (*) f) = (h (*) g) (*) f ) assume A1: ( dom h = cod g & dom g = cod f ) ; ::_thesis: h (*) (g (*) f) = (h (*) g) (*) f reconsider f9 = f, g9 = g, h9 = h as strict Element of Morphs (RingObjects UN) by Th22; A2: ( h9 * g9 = h (*) g & dom (h (*) g) = cod f ) by A1, Lm9, Th24; A3: ( dom h9 = cod g9 & dom g9 = cod f9 ) by A1, Th24; then reconsider gf = g9 * f9, hg = h9 * g9 as strict Element of Morphs (RingObjects UN) by Th20; ( g9 * f9 = g (*) f & dom h = cod (g (*) f) ) by A1, Lm9, Th24; then h (*) (g (*) f) = h9 * gf by Th24 .= hg * f9 by A3, Th10 .= (h (*) g) (*) f by A2, Th24 ; hence h (*) (g (*) f) = (h (*) g) (*) f ; ::_thesis: verum end; registration let UN be Universe; cluster RingCat UN -> Category-like transitive associative reflexive ; coherence ( RingCat UN is Category-like & RingCat UN is transitive & RingCat UN is associative & RingCat UN is reflexive ) proof set C = RingCat UN; thus RingCat UN is Category-like ::_thesis: ( RingCat UN is transitive & RingCat UN is associative & RingCat UN is reflexive ) proof let f be Morphism of (RingCat UN); :: according to CAT_1:def_6 ::_thesis: for b1 being Element of the carrier' of (RingCat UN) holds ( ( not [b1,f] in proj1 the Comp of (RingCat UN) or dom b1 = cod f ) & ( not dom b1 = cod f or [b1,f] in proj1 the Comp of (RingCat UN) ) ) thus for b1 being Element of the carrier' of (RingCat UN) holds ( ( not [b1,f] in proj1 the Comp of (RingCat UN) or dom b1 = cod f ) & ( not dom b1 = cod f or [b1,f] in proj1 the Comp of (RingCat UN) ) ) by Th21; ::_thesis: verum end; thus RingCat UN is transitive ::_thesis: ( RingCat UN is associative & RingCat UN is reflexive ) proof let f be Morphism of (RingCat UN); :: according to CAT_1:def_7 ::_thesis: for b1 being Element of the carrier' of (RingCat UN) holds ( not dom b1 = cod f or ( dom (b1 (*) f) = dom f & cod (b1 (*) f) = cod b1 ) ) thus for b1 being Element of the carrier' of (RingCat UN) holds ( not dom b1 = cod f or ( dom (b1 (*) f) = dom f & cod (b1 (*) f) = cod b1 ) ) by Lm9; ::_thesis: verum end; thus RingCat UN is associative ::_thesis: RingCat UN is reflexive proof let f be Morphism of (RingCat UN); :: according to CAT_1:def_8 ::_thesis: for b1, b2 being Element of the carrier' of (RingCat UN) holds ( not dom b2 = cod b1 or not dom b1 = cod f or b2 (*) (b1 (*) f) = (b2 (*) b1) (*) f ) thus for b1, b2 being Element of the carrier' of (RingCat UN) holds ( not dom b2 = cod b1 or not dom b1 = cod f or b2 (*) (b1 (*) f) = (b2 (*) b1) (*) f ) by Lm10; ::_thesis: verum end; thus RingCat UN is reflexive ::_thesis: verum proof let a be Element of (RingCat UN); :: according to CAT_1:def_9 ::_thesis: not Hom (a,a) = {} reconsider G = a as Element of RingObjects UN ; consider x being set such that x in UN and W2: GO x,G by Def16; set ii = ID G; consider x1, x2, x3, x4, x5, x6 being set such that x = [[x1,x2,x3,x4],x5,x6] and W3: ex H being strict Ring st ( G = H & x1 = the carrier of H & x2 = the addF of H & x3 = comp H & x4 = 0. H & x5 = the multF of H & x6 = 1. H ) by W2, Def15; reconsider G = G as strict Element of RingObjects UN by W3; reconsider ii = ID G as Morphism of (RingCat UN) ; reconsider ia = ii as RingMorphismStr ; A: dom ii = dom ia by Def19 .= a ; cod ii = cod ia by Def20 .= a ; then ii in Hom (a,a) by A; hence Hom (a,a) <> {} ; ::_thesis: verum end; end; end; LmX: for UN being Universe for a being Element of (RingCat UN) for aa being Element of RingObjects UN st a = aa holds for i being Morphism of a,a st i = ID aa holds for b being Element of (RingCat UN) holds ( ( Hom (a,b) <> {} implies for g being Morphism of a,b holds g (*) i = g ) & ( Hom (b,a) <> {} implies for f being Morphism of b,a holds i (*) f = f ) ) proof let UN be Universe; ::_thesis: for a being Element of (RingCat UN) for aa being Element of RingObjects UN st a = aa holds for i being Morphism of a,a st i = ID aa holds for b being Element of (RingCat UN) holds ( ( Hom (a,b) <> {} implies for g being Morphism of a,b holds g (*) i = g ) & ( Hom (b,a) <> {} implies for f being Morphism of b,a holds i (*) f = f ) ) let a be Element of (RingCat UN); ::_thesis: for aa being Element of RingObjects UN st a = aa holds for i being Morphism of a,a st i = ID aa holds for b being Element of (RingCat UN) holds ( ( Hom (a,b) <> {} implies for g being Morphism of a,b holds g (*) i = g ) & ( Hom (b,a) <> {} implies for f being Morphism of b,a holds i (*) f = f ) ) let aa be Element of RingObjects UN; ::_thesis: ( a = aa implies for i being Morphism of a,a st i = ID aa holds for b being Element of (RingCat UN) holds ( ( Hom (a,b) <> {} implies for g being Morphism of a,b holds g (*) i = g ) & ( Hom (b,a) <> {} implies for f being Morphism of b,a holds i (*) f = f ) ) ) assume a = aa ; ::_thesis: for i being Morphism of a,a st i = ID aa holds for b being Element of (RingCat UN) holds ( ( Hom (a,b) <> {} implies for g being Morphism of a,b holds g (*) i = g ) & ( Hom (b,a) <> {} implies for f being Morphism of b,a holds i (*) f = f ) ) let i be Morphism of a,a; ::_thesis: ( i = ID aa implies for b being Element of (RingCat UN) holds ( ( Hom (a,b) <> {} implies for g being Morphism of a,b holds g (*) i = g ) & ( Hom (b,a) <> {} implies for f being Morphism of b,a holds i (*) f = f ) ) ) assume Z2: i = ID aa ; ::_thesis: for b being Element of (RingCat UN) holds ( ( Hom (a,b) <> {} implies for g being Morphism of a,b holds g (*) i = g ) & ( Hom (b,a) <> {} implies for f being Morphism of b,a holds i (*) f = f ) ) let b be Element of (RingCat UN); ::_thesis: ( ( Hom (a,b) <> {} implies for g being Morphism of a,b holds g (*) i = g ) & ( Hom (b,a) <> {} implies for f being Morphism of b,a holds i (*) f = f ) ) thus ( Hom (a,b) <> {} implies for g being Morphism of a,b holds g (*) i = g ) ::_thesis: ( Hom (b,a) <> {} implies for f being Morphism of b,a holds i (*) f = f ) proof assume Z3: Hom (a,b) <> {} ; ::_thesis: for g being Morphism of a,b holds g (*) i = g let g be Morphism of a,b; ::_thesis: g (*) i = g reconsider gg = g, ii = i as Element of Morphs (RingObjects UN) ; consider G1, H1 being Element of RingObjects UN such that W0: G1 <= H1 and W1: gg is Morphism of G1,H1 by Def17; consider f being Function of G1,H1 such that W2: gg = RingMorphismStr(# G1,H1,f #) by W0, W1, Lm8; E: Hom (a,a) <> {} by CAT_1:def_9; CC1: dom g = a by Z3, CAT_1:5 .= cod i by E, CAT_1:5 ; then C1: dom gg = cod ii by Th24; then reconsider f = f as Function of aa,H1 by W2, Z2; A: [gg,ii] in dom (comp (RingObjects UN)) by Th24, CC1; hence g (*) i = (comp (RingObjects UN)) . (g,i) by CAT_1:def_1 .= gg * ii by A, Def22 .= RingMorphismStr(# aa,H1,(f * (id aa)) #) by Z2, Def9, W2, C1 .= g by Z2, W2, C1, FUNCT_2:17 ; ::_thesis: verum end; thus ( Hom (b,a) <> {} implies for f being Morphism of b,a holds i (*) f = f ) ::_thesis: verum proof assume Z3: Hom (b,a) <> {} ; ::_thesis: for f being Morphism of b,a holds i (*) f = f let g be Morphism of b,a; ::_thesis: i (*) g = g reconsider gg = g, ii = i as Element of Morphs (RingObjects UN) ; consider G1, H1 being Element of RingObjects UN such that W0: G1 <= H1 and W1: gg is Morphism of G1,H1 by Def17; consider f being Function of G1,H1 such that W2: gg = RingMorphismStr(# G1,H1,f #) by W0, W1, Lm8; E: Hom (a,a) <> {} by CAT_1:def_9; CC1: cod g = a by Z3, CAT_1:5 .= dom i by E, CAT_1:5 ; then C1: cod gg = dom ii by Th24; reconsider f = f as Function of G1,aa by W2, Z2, C1; A: [ii,gg] in dom (comp (RingObjects UN)) by CC1, Th24; hence i (*) g = (comp (RingObjects UN)) . (i,g) by CAT_1:def_1 .= ii * gg by A, Def22 .= RingMorphismStr(# G1,aa,((id aa) * f) #) by Z2, Def9, W2, C1 .= g by Z2, C1, W2, FUNCT_2:17 ; ::_thesis: verum end; end; registration let UN be Universe; cluster RingCat UN -> with_identities ; coherence RingCat UN is with_identities proof set C = RingCat UN; let a be Element of (RingCat UN); :: according to CAT_1:def_10 ::_thesis: ex b1 being Morphism of a,a st for b2 being Element of the carrier of (RingCat UN) holds ( ( Hom (a,b2) = {} or for b3 being Morphism of a,b2 holds b3 (*) b1 = b3 ) & ( Hom (b2,a) = {} or for b3 being Morphism of b2,a holds b1 (*) b3 = b3 ) ) reconsider aa = a as Element of RingObjects UN ; reconsider ii = ID aa as Morphism of (RingCat UN) ; reconsider ia = ii as RingMorphismStr ; A: dom ii = dom ia by Def19 .= a ; cod ii = cod ia by Def20 .= a ; then reconsider ii = ii as Morphism of a,a by A, CAT_1:4; take ii ; ::_thesis: for b1 being Element of the carrier of (RingCat UN) holds ( ( Hom (a,b1) = {} or for b2 being Morphism of a,b1 holds b2 (*) ii = b2 ) & ( Hom (b1,a) = {} or for b2 being Morphism of b1,a holds ii (*) b2 = b2 ) ) thus for b1 being Element of the carrier of (RingCat UN) holds ( ( Hom (a,b1) = {} or for b2 being Morphism of a,b1 holds b2 (*) ii = b2 ) & ( Hom (b1,a) = {} or for b2 being Morphism of b1,a holds ii (*) b2 = b2 ) ) by LmX; ::_thesis: verum end; end; theorem :: RINGCAT1:25 for UN being Universe for a being Object of (RingCat UN) for aa being Element of RingObjects UN st a = aa holds id a = ID aa proof let UN be Universe; ::_thesis: for a being Object of (RingCat UN) for aa being Element of RingObjects UN st a = aa holds id a = ID aa let a be Object of (RingCat UN); ::_thesis: for aa being Element of RingObjects UN st a = aa holds id a = ID aa let aa be Element of RingObjects UN; ::_thesis: ( a = aa implies id a = ID aa ) set C = RingCat UN; assume Z: a = aa ; ::_thesis: id a = ID aa reconsider ii = ID aa as Morphism of (RingCat UN) ; reconsider ia = ii as RingMorphismStr ; A: dom ii = dom ia by Def19 .= a by Z ; cod ii = cod ia by Def20 .= a by Z ; then reconsider ii = ii as Morphism of a,a by A, CAT_1:4; for b being Object of (RingCat UN) holds ( ( Hom (a,b) <> {} implies for f being Morphism of a,b holds f (*) ii = f ) & ( Hom (b,a) <> {} implies for f being Morphism of b,a holds ii (*) f = f ) ) by Z, LmX; hence id a = ID aa by CAT_1:def_12; ::_thesis: verum end;