:: MONOID_0 semantic presentation
deffunc H1( 1-sorted ) -> set = the carrier of a1;
deffunc H2( HGrStr ) -> Relation of [:the carrier of a1,the carrier of a1:],the carrier of a1 = the mult of a1;
:: deftheorem Def1 defines constituted-Functions MONOID_0:def 1 :
:: deftheorem Def2 defines constituted-FinSeqs MONOID_0:def 2 :
Lemma3:
( ( for b1 being set
for b2, b3 being Function of b1,b1 holds b2 * b3 is Function of b1,b1 ) & ( for b1 being set
for b2, b3 being Permutation of b1 holds b2 * b3 is Permutation of b1 ) & ( for b1, b2, b3 being set
for b4 being PartFunc of b1,b2
for b5 being PartFunc of b2,b3 holds b5 * b4 is PartFunc of b1,b3 ) & ( for b1 being set
for b2, b3 being non empty set
for b4 being Function of b1,b2
for b5 being Function of b2,b3 holds b5 * b4 is Function of b1,b3 ) )
;
definition
let c1 be non
empty set ;
let c2 be
BinOp of
c1;
attr a2 is
left-invertible means :: MONOID_0:def 3
for
b1,
b2 being
Element of
a1 ex
b3 being
Element of
a1 st
a2 . b3,
b1 = b2;
attr a2 is
right-invertible means :: MONOID_0:def 4
for
b1,
b2 being
Element of
a1 ex
b3 being
Element of
a1 st
a2 . b1,
b3 = b2;
attr a2 is
invertible means :
Def5:
:: MONOID_0:def 5
for
b1,
b2 being
Element of
a1 ex
b3,
b4 being
Element of
a1 st
(
a2 . b1,
b3 = b2 &
a2 . b4,
b1 = b2 );
attr a2 is
left-cancelable means :: MONOID_0:def 6
for
b1,
b2,
b3 being
Element of
a1 st
a2 . b1,
b2 = a2 . b1,
b3 holds
b2 = b3;
attr a2 is
right-cancelable means :: MONOID_0:def 7
for
b1,
b2,
b3 being
Element of
a1 st
a2 . b2,
b1 = a2 . b3,
b1 holds
b2 = b3;
attr a2 is
cancelable means :: MONOID_0:def 8
for
b1,
b2,
b3 being
Element of
a1 st (
a2 . b1,
b2 = a2 . b1,
b3 or
a2 . b2,
b1 = a2 . b3,
b1 ) holds
b2 = b3;
attr a2 is
uniquely-decomposable means :: MONOID_0:def 9
(
a2 has_a_unity & ( for
b1,
b2 being
Element of
a1 st
a2 . b1,
b2 = the_unity_wrt a2 holds
(
b1 = b2 &
b2 = the_unity_wrt a2 ) ) );
end;
:: deftheorem Def3 defines left-invertible MONOID_0:def 3 :
:: deftheorem Def4 defines right-invertible MONOID_0:def 4 :
:: deftheorem Def5 defines invertible MONOID_0:def 5 :
:: deftheorem Def6 defines left-cancelable MONOID_0:def 6 :
:: deftheorem Def7 defines right-cancelable MONOID_0:def 7 :
:: deftheorem Def8 defines cancelable MONOID_0:def 8 :
for
b1 being non
empty set for
b2 being
BinOp of
b1 holds
(
b2 is
cancelable iff for
b3,
b4,
b5 being
Element of
b1 st (
b2 . b3,
b4 = b2 . b3,
b5 or
b2 . b4,
b3 = b2 . b5,
b3 ) holds
b4 = b5 );
:: deftheorem Def9 defines uniquely-decomposable MONOID_0:def 9 :
theorem Th1: :: MONOID_0:1
theorem Th2: :: MONOID_0:2
theorem Th3: :: MONOID_0:3
:: deftheorem Def10 defines unital MONOID_0:def 10 :
:: deftheorem Def11 defines commutative MONOID_0:def 11 :
:: deftheorem Def12 defines associative MONOID_0:def 12 :
:: deftheorem Def13 defines idempotent MONOID_0:def 13 :
:: deftheorem Def14 defines left-invertible MONOID_0:def 14 :
:: deftheorem Def15 defines right-invertible MONOID_0:def 15 :
:: deftheorem Def16 defines invertible MONOID_0:def 16 :
:: deftheorem Def17 defines left-cancelable MONOID_0:def 17 :
:: deftheorem Def18 defines right-cancelable MONOID_0:def 18 :
:: deftheorem Def19 defines cancelable MONOID_0:def 19 :
:: deftheorem Def20 defines uniquely-decomposable MONOID_0:def 20 :
theorem Th4: :: MONOID_0:4
theorem Th5: :: MONOID_0:5
theorem Th6: :: MONOID_0:6
Lemma14:
for b1 being non empty HGrStr holds
( b1 is commutative iff for b2, b3 being Element of b1 holds b2 * b3 = b3 * b2 )
Lemma15:
for b1 being non empty HGrStr holds
( b1 is associative iff for b2, b3, b4 being Element of b1 holds (b2 * b3) * b4 = b2 * (b3 * b4) )
theorem Th7: :: MONOID_0:7
canceled;
theorem Th8: :: MONOID_0:8
canceled;
theorem Th9: :: MONOID_0:9
theorem Th10: :: MONOID_0:10
theorem Th11: :: MONOID_0:11
theorem Th12: :: MONOID_0:12
theorem Th13: :: MONOID_0:13
theorem Th14: :: MONOID_0:14
theorem Th15: :: MONOID_0:15
theorem Th16: :: MONOID_0:16
theorem Th17: :: MONOID_0:17
Lemma21:
for b1 being non empty HGrStr holds
( b1 is invertible iff ( b1 is left-invertible & b1 is right-invertible ) )
Lemma22:
for b1 being non empty HGrStr holds
( b1 is cancelable iff ( b1 is left-cancelable & b1 is right-cancelable ) )
Lemma23:
for b1 being non empty HGrStr st b1 is associative & b1 is invertible holds
b1 is Group-like
deffunc H3( multLoopStr ) -> Element of the carrier of a1 = the unity of a1;
:: deftheorem Def21 defines well-unital MONOID_0:def 21 :
theorem Th18: :: MONOID_0:18
Lemma26:
for b1 being non empty multLoopStr st b1 is well-unital holds
b1 is unital
theorem Th19: :: MONOID_0:19
:: deftheorem Def22 defines MonoidalExtension MONOID_0:def 22 :
theorem Th20: :: MONOID_0:20
theorem Th21: :: MONOID_0:21
theorem Th22: :: MONOID_0:22
:: deftheorem Def23 defines SubStr MONOID_0:def 23 :
:: deftheorem Def24 defines MonoidalSubStr MONOID_0:def 24 :
:: deftheorem Def25 defines MonoidalSubStr MONOID_0:def 25 :
theorem Th23: :: MONOID_0:23
theorem Th24: :: MONOID_0:24
theorem Th25: :: MONOID_0:25
theorem Th26: :: MONOID_0:26
theorem Th27: :: MONOID_0:27
theorem Th28: :: MONOID_0:28
theorem Th29: :: MONOID_0:29
theorem Th30: :: MONOID_0:30
theorem Th31: :: MONOID_0:31
theorem Th32: :: MONOID_0:32
theorem Th33: :: MONOID_0:33
theorem Th34: :: MONOID_0:34
theorem Th35: :: MONOID_0:35
theorem Th36: :: MONOID_0:36
theorem Th37: :: MONOID_0:37
theorem Th38: :: MONOID_0:38
theorem Th39: :: MONOID_0:39
:: deftheorem Def26 defines <REAL,+> MONOID_0:def 26 :
theorem Th40: :: MONOID_0:40
theorem Th41: :: MONOID_0:41
theorem Th42: :: MONOID_0:42
theorem Th43: :: MONOID_0:43
theorem Th44: :: MONOID_0:44
theorem Th45: :: MONOID_0:45
canceled;
theorem Th46: :: MONOID_0:46
theorem Th47: :: MONOID_0:47
:: deftheorem Def27 defines <NAT,+> MONOID_0:def 27 :
:: deftheorem Def28 defines <NAT,+,0> MONOID_0:def 28 :
:: deftheorem Def29 defines addnat MONOID_0:def 29 :
theorem Th48: :: MONOID_0:48
canceled;
theorem Th49: :: MONOID_0:49
theorem Th50: :: MONOID_0:50
theorem Th51: :: MONOID_0:51
theorem Th52: :: MONOID_0:52
theorem Th53: :: MONOID_0:53
theorem Th54: :: MONOID_0:54
:: deftheorem Def30 defines <REAL,*> MONOID_0:def 30 :
theorem Th55: :: MONOID_0:55
theorem Th56: :: MONOID_0:56
theorem Th57: :: MONOID_0:57
theorem Th58: :: MONOID_0:58
theorem Th59: :: MONOID_0:59
canceled;
theorem Th60: :: MONOID_0:60
:: deftheorem Def31 defines <NAT,*> MONOID_0:def 31 :
:: deftheorem Def32 defines <NAT,*,1> MONOID_0:def 32 :
:: deftheorem Def33 defines multnat MONOID_0:def 33 :
theorem Th61: :: MONOID_0:61
theorem Th62: :: MONOID_0:62
theorem Th63: :: MONOID_0:63
theorem Th64: :: MONOID_0:64
theorem Th65: :: MONOID_0:65
theorem Th66: :: MONOID_0:66
theorem Th67: :: MONOID_0:67
:: deftheorem Def34 defines *+^ MONOID_0:def 34 :
:: deftheorem Def35 defines *+^+<0> MONOID_0:def 35 :
:: deftheorem Def36 defines -concatenation MONOID_0:def 36 :
theorem Th68: :: MONOID_0:68
theorem Th69: :: MONOID_0:69
theorem Th70: :: MONOID_0:70
theorem Th71: :: MONOID_0:71
theorem Th72: :: MONOID_0:72
theorem Th73: :: MONOID_0:73
theorem Th74: :: MONOID_0:74
theorem Th75: :: MONOID_0:75
theorem Th76: :: MONOID_0:76
:: deftheorem Def37 defines GPFuncs MONOID_0:def 37 :
:: deftheorem Def38 defines MPFuncs MONOID_0:def 38 :
:: deftheorem Def39 defines -composition MONOID_0:def 39 :
theorem Th77: :: MONOID_0:77
theorem Th78: :: MONOID_0:78
theorem Th79: :: MONOID_0:79
theorem Th80: :: MONOID_0:80
theorem Th81: :: MONOID_0:81
Lemma69:
for b1, b2 being set st b1 in Funcs b2,b2 holds
b1 is Function of b2,b2
:: deftheorem Def40 defines GFuncs MONOID_0:def 40 :
:: deftheorem Def41 defines MFuncs MONOID_0:def 41 :
theorem Th82: :: MONOID_0:82
theorem Th83: :: MONOID_0:83
theorem Th84: :: MONOID_0:84
theorem Th85: :: MONOID_0:85
:: deftheorem Def42 defines GPerms MONOID_0:def 42 :
theorem Th86: :: MONOID_0:86
theorem Th87: :: MONOID_0:87
theorem Th88: :: MONOID_0:88
theorem Th89: :: MONOID_0:89