:: MONOID_0 semantic presentation
:: Showing IDV graph ... (Click the Palm Trees again to close it)
deffunc H1( 1-sorted ) -> set = the carrier of $1;
deffunc H2( HGrStr ) -> Relation of [:the carrier of $1,the carrier of $1:],the carrier of $1 = the mult of $1;
:: deftheorem Def1 defines constituted-Functions MONOID_0:def 1 :
:: deftheorem Def2 defines constituted-FinSeqs MONOID_0:def 2 :
Lm1:
( ( for X being set
for f, g being Function of X,X holds f * g is Function of X,X ) & ( for X being set
for f, g being Permutation of X holds f * g is Permutation of X ) & ( for X, Y, Z being set
for f being PartFunc of X,Y
for g being PartFunc of Y,Z holds g * f is PartFunc of X,Z ) & ( for X being set
for A, B being non empty set
for f being Function of X,A
for g being Function of A,B holds g * f is Function of X,B ) )
;
definition
let D be non
empty set ;
let IT be
BinOp of
D;
attr IT is
left-invertible means :: MONOID_0:def 3
for
a,
b being
Element of
D ex
l being
Element of
D st
IT . l,
a = b;
attr IT is
right-invertible means :: MONOID_0:def 4
for
a,
b being
Element of
D ex
r being
Element of
D st
IT . a,
r = b;
attr IT is
invertible means :
Def5:
:: MONOID_0:def 5
for
a,
b being
Element of
D ex
r,
l being
Element of
D st
(
IT . a,
r = b &
IT . l,
a = b );
attr IT is
left-cancelable means :: MONOID_0:def 6
for
a,
b,
c being
Element of
D st
IT . a,
b = IT . a,
c holds
b = c;
attr IT is
right-cancelable means :: MONOID_0:def 7
for
a,
b,
c being
Element of
D st
IT . b,
a = IT . c,
a holds
b = c;
attr IT is
cancelable means :: MONOID_0:def 8
for
a,
b,
c being
Element of
D st (
IT . a,
b = IT . a,
c or
IT . b,
a = IT . c,
a ) holds
b = c;
attr IT is
uniquely-decomposable means :: MONOID_0:def 9
(
IT has_a_unity & ( for
a,
b being
Element of
D st
IT . a,
b = the_unity_wrt IT holds
(
a = b &
b = the_unity_wrt IT ) ) );
end;
:: deftheorem defines left-invertible MONOID_0:def 3 :
:: deftheorem defines right-invertible MONOID_0:def 4 :
:: deftheorem Def5 defines invertible MONOID_0:def 5 :
:: deftheorem defines left-cancelable MONOID_0:def 6 :
:: deftheorem defines right-cancelable MONOID_0:def 7 :
:: deftheorem defines cancelable MONOID_0:def 8 :
:: deftheorem defines uniquely-decomposable MONOID_0:def 9 :
theorem Th1: :: MONOID_0:1
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th2: :: MONOID_0:2
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th3: :: MONOID_0:3
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
:: deftheorem Def10 defines unital MONOID_0:def 10 :
:: deftheorem defines commutative MONOID_0:def 11 :
:: deftheorem Def12 defines associative MONOID_0:def 12 :
:: deftheorem defines idempotent MONOID_0:def 13 :
:: deftheorem defines left-invertible MONOID_0:def 14 :
:: deftheorem defines right-invertible MONOID_0:def 15 :
:: deftheorem Def16 defines invertible MONOID_0:def 16 :
:: deftheorem defines left-cancelable MONOID_0:def 17 :
:: deftheorem defines right-cancelable MONOID_0:def 18 :
:: deftheorem defines cancelable MONOID_0:def 19 :
:: deftheorem Def20 defines uniquely-decomposable MONOID_0:def 20 :
theorem Th4: :: MONOID_0:4
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: MONOID_0:5
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th6: :: MONOID_0:6
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
Lm2:
for G being non empty HGrStr holds
( G is commutative iff for a, b being Element of G holds a * b = b * a )
Lm3:
for G being non empty HGrStr holds
( G is associative iff for a, b, c being Element of G holds (a * b) * c = a * (b * c) )
theorem :: MONOID_0:7
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
canceled;
theorem :: MONOID_0:8
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
canceled;
theorem Th9: :: MONOID_0:9
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: MONOID_0:10
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: MONOID_0:11
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th12: :: MONOID_0:12
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: MONOID_0:13
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: MONOID_0:14
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th15: :: MONOID_0:15
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th16: :: MONOID_0:16
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th17: :: MONOID_0:17
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
Lm4:
for G being non empty HGrStr holds
( G is invertible iff ( G is left-invertible & G is right-invertible ) )
Lm5:
for G being non empty HGrStr holds
( G is cancelable iff ( G is left-cancelable & G is right-cancelable ) )
Lm6:
for G being non empty HGrStr st G is associative & G is invertible holds
G is Group-like
deffunc H3( multLoopStr ) -> Element of the carrier of $1 = the unity of $1;
:: deftheorem Def21 defines well-unital MONOID_0:def 21 :
theorem Th18: :: MONOID_0:18
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
Lm7:
for M being non empty multLoopStr st M is well-unital holds
M is unital
theorem Th19: :: MONOID_0:19
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
:: deftheorem Def22 defines MonoidalExtension MONOID_0:def 22 :
theorem Th20: :: MONOID_0:20
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th21: :: MONOID_0:21
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th22: :: MONOID_0:22
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
:: 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
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: MONOID_0:24
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th25: :: MONOID_0:25
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th26: :: MONOID_0:26
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th27: :: MONOID_0:27
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th28: :: MONOID_0:28
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: MONOID_0:29
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th30: :: MONOID_0:30
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: MONOID_0:31
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th32: :: MONOID_0:32
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th33: :: MONOID_0:33
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th34: :: MONOID_0:34
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th35: :: MONOID_0:35
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th36: :: MONOID_0:36
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th37: :: MONOID_0:37
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th38: :: MONOID_0:38
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th39: :: MONOID_0:39
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
:: deftheorem defines <REAL,+> MONOID_0:def 26 :
theorem Th40: :: MONOID_0:40
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: MONOID_0:41
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: MONOID_0:42
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th43: :: MONOID_0:43
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th44: :: MONOID_0:44
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: MONOID_0:45
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
canceled;
theorem :: MONOID_0:46
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: MONOID_0:47
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
:: deftheorem Def27 defines <NAT,+> MONOID_0:def 27 :
:: deftheorem defines <NAT,+,0> MONOID_0:def 28 :
:: deftheorem Def29 defines addnat MONOID_0:def 29 :
theorem :: MONOID_0:48
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
canceled;
theorem Th49: :: MONOID_0:49
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: MONOID_0:50
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: MONOID_0:51
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: MONOID_0:52
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: MONOID_0:53
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: MONOID_0:54
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
:: deftheorem defines <REAL,*> MONOID_0:def 30 :
theorem Th55: :: MONOID_0:55
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: MONOID_0:56
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: MONOID_0:57
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th58: :: MONOID_0:58
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: MONOID_0:59
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
canceled;
theorem :: MONOID_0:60
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
:: deftheorem Def31 defines <NAT,*> MONOID_0:def 31 :
:: deftheorem defines <NAT,*,1> MONOID_0:def 32 :
:: deftheorem Def33 defines multnat MONOID_0:def 33 :
theorem Th61: :: MONOID_0:61
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: MONOID_0:62
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th63: :: MONOID_0:63
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: MONOID_0:64
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: MONOID_0:65
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: MONOID_0:66
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: MONOID_0:67
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
:: deftheorem Def34 defines *+^ MONOID_0:def 34 :
:: deftheorem defines *+^+<0> MONOID_0:def 35 :
:: deftheorem defines -concatenation MONOID_0:def 36 :
theorem Th68: :: MONOID_0:68
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th69: :: MONOID_0:69
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: MONOID_0:70
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: MONOID_0:71
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th72: :: MONOID_0:72
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: MONOID_0:73
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: MONOID_0:74
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: MONOID_0:75
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: MONOID_0:76
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
:: deftheorem Def37 defines GPFuncs MONOID_0:def 37 :
:: deftheorem defines MPFuncs MONOID_0:def 38 :
:: deftheorem defines -composition MONOID_0:def 39 :
theorem :: MONOID_0:77
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th78: :: MONOID_0:78
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th79: :: MONOID_0:79
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th80: :: MONOID_0:80
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: MONOID_0:81
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
Lm8:
for x, X being set st x in Funcs X,X holds
x is Function of X,X
:: deftheorem Def40 defines GFuncs MONOID_0:def 40 :
:: deftheorem defines MFuncs MONOID_0:def 41 :
theorem :: MONOID_0:82
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th83: :: MONOID_0:83
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th84: :: MONOID_0:84
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: MONOID_0:85
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
:: deftheorem Def42 defines GPerms MONOID_0:def 42 :
theorem Th86: :: MONOID_0:86
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th87: :: MONOID_0:87
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: MONOID_0:88
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: MONOID_0:89
:: Showing IDV graph ... (Click the Palm Tree again to close it) 