:: RINGCAT1 semantic presentation
:: deftheorem Def1 RINGCAT1:def 1 :
canceled;
:: deftheorem Def2 defines linear RINGCAT1:def 2 :
theorem Th1: :: RINGCAT1:1
canceled;
theorem Th2: :: RINGCAT1:2
canceled;
theorem Th3: :: RINGCAT1:3
:: deftheorem Def3 defines dom RINGCAT1:def 3 :
:: deftheorem Def4 defines cod RINGCAT1:def 4 :
:: deftheorem Def5 defines fun RINGCAT1:def 5 :
Lemma3:
for b1 being non empty doubleLoopStr holds id b1 is linear
:: deftheorem Def6 defines RingMorphism-like RINGCAT1:def 6 :
:: deftheorem Def7 defines ID RINGCAT1:def 7 :
:: deftheorem Def8 defines <= RINGCAT1:def 8 :
Lemma6:
for b1 being RingMorphism holds RingMorphismStr(# the Dom of b1,the Cod of b1,the Fun of b1 #) is RingMorphism-like
:: deftheorem Def9 defines Morphism RINGCAT1:def 9 :
Lemma8:
for b1 being RingMorphism holds the Fun of b1 is linear
Lemma9:
for b1, b2 being Ring
for b3 being strict RingMorphismStr st dom b3 = b1 & cod b3 = b2 & fun b3 is linear holds
b3 is Morphism of b1,b2
Lemma10:
for b1, b2 being Ring
for b3 being Function of b1,b2 st b3 is linear holds
RingMorphismStr(# b1,b2,b3 #) is Morphism of b1,b2
Lemma11:
for b1 being RingMorphism ex b2, b3 being Ring st
( b2 <= b3 & dom b1 = b2 & cod b1 = b3 & RingMorphismStr(# the Dom of b1,the Cod of b1,the Fun of b1 #) is Morphism of b2,b3 )
theorem Th4: :: RINGCAT1:4
canceled;
theorem Th5: :: RINGCAT1:5
theorem Th6: :: RINGCAT1:6
Lemma14:
for b1, b2 being Ring
for b3 being Morphism of b1,b2 st b1 <= b2 holds
ex b4 being Function of b1,b2 st
( b3 = RingMorphismStr(# b1,b2,b4 #) & b4 is linear )
Lemma15:
for b1, b2 being Ring
for b3 being Morphism of b1,b2 st b1 <= b2 holds
ex b4 being Function of b1,b2 st b3 = RingMorphismStr(# b1,b2,b4 #)
theorem Th7: :: RINGCAT1:7
definition
let c1,
c2 be
RingMorphism;
assume E16:
dom c1 = cod c2
;
func c1 * c2 -> strict RingMorphism means :
Def10:
:: RINGCAT1:def 10
for
b1,
b2,
b3 being
Ring for
b4 being
Function of
b2,
b3 for
b5 being
Function of
b1,
b2 st
RingMorphismStr(# the
Dom of
a1,the
Cod of
a1,the
Fun of
a1 #)
= RingMorphismStr(#
b2,
b3,
b4 #) &
RingMorphismStr(# the
Dom of
a2,the
Cod of
a2,the
Fun of
a2 #)
= RingMorphismStr(#
b1,
b2,
b5 #) holds
a3 = RingMorphismStr(#
b1,
b3,
(b4 * b5) #);
existence
ex b1 being strict RingMorphism st
for b2, b3, b4 being Ring
for b5 being Function of b3,b4
for b6 being Function of b2,b3 st RingMorphismStr(# the Dom of c1,the Cod of c1,the Fun of c1 #) = RingMorphismStr(# b3,b4,b5 #) & RingMorphismStr(# the Dom of c2,the Cod of c2,the Fun of c2 #) = RingMorphismStr(# b2,b3,b6 #) holds
b1 = RingMorphismStr(# b2,b4,(b5 * b6) #)
uniqueness
for b1, b2 being strict RingMorphism st ( for b3, b4, b5 being Ring
for b6 being Function of b4,b5
for b7 being Function of b3,b4 st RingMorphismStr(# the Dom of c1,the Cod of c1,the Fun of c1 #) = RingMorphismStr(# b4,b5,b6 #) & RingMorphismStr(# the Dom of c2,the Cod of c2,the Fun of c2 #) = RingMorphismStr(# b3,b4,b7 #) holds
b1 = RingMorphismStr(# b3,b5,(b6 * b7) #) ) & ( for b3, b4, b5 being Ring
for b6 being Function of b4,b5
for b7 being Function of b3,b4 st RingMorphismStr(# the Dom of c1,the Cod of c1,the Fun of c1 #) = RingMorphismStr(# b4,b5,b6 #) & RingMorphismStr(# the Dom of c2,the Cod of c2,the Fun of c2 #) = RingMorphismStr(# b3,b4,b7 #) holds
b2 = RingMorphismStr(# b3,b5,(b6 * b7) #) ) holds
b1 = b2
end;
:: deftheorem Def10 defines * RINGCAT1:def 10 :
for
b1,
b2 being
RingMorphism st
dom b1 = cod b2 holds
for
b3 being
strict RingMorphism holds
(
b3 = b1 * b2 iff for
b4,
b5,
b6 being
Ring for
b7 being
Function of
b5,
b6 for
b8 being
Function of
b4,
b5 st
RingMorphismStr(# the
Dom of
b1,the
Cod of
b1,the
Fun of
b1 #)
= RingMorphismStr(#
b5,
b6,
b7 #) &
RingMorphismStr(# the
Dom of
b2,the
Cod of
b2,the
Fun of
b2 #)
= RingMorphismStr(#
b4,
b5,
b8 #) holds
b3 = RingMorphismStr(#
b4,
b6,
(b7 * b8) #) );
theorem Th8: :: RINGCAT1:8
for
b1,
b2,
b3 being
Ring st
b1 <= b2 &
b2 <= b3 holds
b1 <= b3
theorem Th9: :: RINGCAT1:9
:: deftheorem Def11 defines *' RINGCAT1:def 11 :
theorem Th10: :: RINGCAT1:10
for
b1,
b2 being
strict RingMorphism st
dom b2 = cod b1 holds
ex
b3,
b4,
b5 being
Ringex
b6 being
Function of
b3,
b4ex
b7 being
Function of
b4,
b5 st
(
b1 = RingMorphismStr(#
b3,
b4,
b6 #) &
b2 = RingMorphismStr(#
b4,
b5,
b7 #) &
b2 * b1 = RingMorphismStr(#
b3,
b5,
(b7 * b6) #) )
theorem Th11: :: RINGCAT1:11
theorem Th12: :: RINGCAT1:12
theorem Th13: :: RINGCAT1:13
theorem Th14: :: RINGCAT1:14
:: deftheorem Def12 defines Ring_DOMAIN-like RINGCAT1:def 12 :
:: deftheorem Def13 defines RingMorphism_DOMAIN-like RINGCAT1:def 13 :
theorem Th15: :: RINGCAT1:15
canceled;
theorem Th16: :: RINGCAT1:16
canceled;
theorem Th17: :: RINGCAT1:17
:: deftheorem Def14 defines RingMorphism_DOMAIN RINGCAT1:def 14 :
theorem Th18: :: RINGCAT1:18
theorem Th19: :: RINGCAT1:19
definition
let c1,
c2 be
Ring;
assume E30:
c1 <= c2
;
func Morphs c1,
c2 -> RingMorphism_DOMAIN of
a1,
a2 means :
Def15:
:: RINGCAT1:def 15
for
b1 being
set holds
(
b1 in a3 iff
b1 is
Morphism of
a1,
a2 );
existence
ex b1 being RingMorphism_DOMAIN of c1,c2 st
for b2 being set holds
( b2 in b1 iff b2 is Morphism of c1,c2 )
uniqueness
for b1, b2 being RingMorphism_DOMAIN of c1,c2 st ( for b3 being set holds
( b3 in b1 iff b3 is Morphism of c1,c2 ) ) & ( for b3 being set holds
( b3 in b2 iff b3 is Morphism of c1,c2 ) ) holds
b1 = b2
end;
:: deftheorem Def15 defines Morphs RINGCAT1:def 15 :
definition
let c1,
c2 be
set ;
pred GO c1,
c2 means :
Def16:
:: RINGCAT1:def 16
ex
b1,
b2,
b3,
b4,
b5,
b6 being
set st
(
a1 = [[b1,b2,b3,b4],b5,b6] & ex
b7 being
strict Ring st
(
a2 = b7 &
b1 = the
carrier of
b7 &
b2 = the
add of
b7 &
b3 = comp b7 &
b4 = the
Zero of
b7 &
b5 = the
mult of
b7 &
b6 = the
unity of
b7 ) );
end;
:: deftheorem Def16 defines GO RINGCAT1:def 16 :
for
b1,
b2 being
set holds
(
GO b1,
b2 iff ex
b3,
b4,
b5,
b6,
b7,
b8 being
set st
(
b1 = [[b3,b4,b5,b6],b7,b8] & ex
b9 being
strict Ring st
(
b2 = b9 &
b3 = the
carrier of
b9 &
b4 = the
add of
b9 &
b5 = comp b9 &
b6 = the
Zero of
b9 &
b7 = the
mult of
b9 &
b8 = the
unity of
b9 ) ) );
theorem Th20: :: RINGCAT1:20
for
b1,
b2,
b3 being
set st
GO b1,
b2 &
GO b1,
b3 holds
b2 = b3
theorem Th21: :: RINGCAT1:21
:: deftheorem Def17 defines RingObjects RINGCAT1:def 17 :
theorem Th22: :: RINGCAT1:22
theorem Th23: :: RINGCAT1:23
:: deftheorem Def18 defines Morphs RINGCAT1:def 18 :
:: deftheorem Def19 defines ID RINGCAT1:def 19 :
definition
let c1 be
Ring_DOMAIN;
func dom c1 -> Function of
Morphs a1,
a1 means :
Def20:
:: RINGCAT1:def 20
for
b1 being
Element of
Morphs a1 holds
a2 . b1 = dom b1;
existence
ex b1 being Function of Morphs c1,c1 st
for b2 being Element of Morphs c1 holds b1 . b2 = dom b2
uniqueness
for b1, b2 being Function of Morphs c1,c1 st ( for b3 being Element of Morphs c1 holds b1 . b3 = dom b3 ) & ( for b3 being Element of Morphs c1 holds b2 . b3 = dom b3 ) holds
b1 = b2
func cod c1 -> Function of
Morphs a1,
a1 means :
Def21:
:: RINGCAT1:def 21
for
b1 being
Element of
Morphs a1 holds
a2 . b1 = cod b1;
existence
ex b1 being Function of Morphs c1,c1 st
for b2 being Element of Morphs c1 holds b1 . b2 = cod b2
uniqueness
for b1, b2 being Function of Morphs c1,c1 st ( for b3 being Element of Morphs c1 holds b1 . b3 = cod b3 ) & ( for b3 being Element of Morphs c1 holds b2 . b3 = cod b3 ) holds
b1 = b2
func ID c1 -> Function of
a1,
Morphs a1 means :
Def22:
:: RINGCAT1:def 22
for
b1 being
Element of
a1 holds
a2 . b1 = ID b1;
existence
ex b1 being Function of c1, Morphs c1 st
for b2 being Element of c1 holds b1 . b2 = ID b2
uniqueness
for b1, b2 being Function of c1, Morphs c1 st ( for b3 being Element of c1 holds b1 . b3 = ID b3 ) & ( for b3 being Element of c1 holds b2 . b3 = ID b3 ) holds
b1 = b2
end;
:: deftheorem Def20 defines dom RINGCAT1:def 20 :
:: deftheorem Def21 defines cod RINGCAT1:def 21 :
:: deftheorem Def22 defines ID RINGCAT1:def 22 :
theorem Th24: :: RINGCAT1:24
theorem Th25: :: RINGCAT1:25
definition
let c1 be
Ring_DOMAIN;
func comp c1 -> PartFunc of
[:(Morphs a1),(Morphs a1):],
Morphs a1 means :
Def23:
:: RINGCAT1:def 23
( ( for
b1,
b2 being
Element of
Morphs a1 holds
(
[b1,b2] in dom a2 iff
dom b1 = cod b2 ) ) & ( for
b1,
b2 being
Element of
Morphs a1 st
[b1,b2] in dom a2 holds
a2 . [b1,b2] = b1 * b2 ) );
existence
ex b1 being PartFunc of [:(Morphs c1),(Morphs c1):], Morphs c1 st
( ( for b2, b3 being Element of Morphs c1 holds
( [b2,b3] in dom b1 iff dom b2 = cod b3 ) ) & ( for b2, b3 being Element of Morphs c1 st [b2,b3] in dom b1 holds
b1 . [b2,b3] = b2 * b3 ) )
uniqueness
for b1, b2 being PartFunc of [:(Morphs c1),(Morphs c1):], Morphs c1 st ( for b3, b4 being Element of Morphs c1 holds
( [b3,b4] in dom b1 iff dom b3 = cod b4 ) ) & ( for b3, b4 being Element of Morphs c1 st [b3,b4] in dom b1 holds
b1 . [b3,b4] = b3 * b4 ) & ( for b3, b4 being Element of Morphs c1 holds
( [b3,b4] in dom b2 iff dom b3 = cod b4 ) ) & ( for b3, b4 being Element of Morphs c1 st [b3,b4] in dom b2 holds
b2 . [b3,b4] = b3 * b4 ) holds
b1 = b2
end;
:: deftheorem Def23 defines comp RINGCAT1:def 23 :
definition
let c1 be
Universe;
func RingCat c1 -> CatStr equals :: RINGCAT1:def 24
CatStr(#
(RingObjects a1),
(Morphs (RingObjects a1)),
(dom (RingObjects a1)),
(cod (RingObjects a1)),
(comp (RingObjects a1)),
(ID (RingObjects a1)) #);
coherence
CatStr(# (RingObjects c1),(Morphs (RingObjects c1)),(dom (RingObjects c1)),(cod (RingObjects c1)),(comp (RingObjects c1)),(ID (RingObjects c1)) #) is CatStr
;
end;
:: deftheorem Def24 defines RingCat RINGCAT1:def 24 :
theorem Th26: :: RINGCAT1:26
theorem Th27: :: RINGCAT1:27
theorem Th28: :: RINGCAT1:28
theorem Th29: :: RINGCAT1:29
theorem Th30: :: RINGCAT1:30
Lemma49:
for b1 being Universe
for b2, b3 being Morphism of (RingCat b1) st dom b3 = cod b2 holds
( dom (b3 * b2) = dom b2 & cod (b3 * b2) = cod b3 )
Lemma50:
for b1 being Universe
for b2, b3, b4 being Morphism of (RingCat b1) st dom b4 = cod b3 & dom b3 = cod b2 holds
b4 * (b3 * b2) = (b4 * b3) * b2
Lemma51:
for b1 being Universe
for b2 being Object of (RingCat b1) holds
( dom (id b2) = b2 & cod (id b2) = b2 & ( for b3 being Morphism of (RingCat b1) st cod b3 = b2 holds
(id b2) * b3 = b3 ) & ( for b3 being Morphism of (RingCat b1) st dom b3 = b2 holds
b3 * (id b2) = b3 ) )