:: BINOP_1 semantic presentation
:: deftheorem defines . BINOP_1:def 1 :
theorem :: BINOP_1:1
canceled;
theorem :: BINOP_1:2
scheme :: BINOP_1:sch 1
s1{ F
1()
-> non
empty set , P
1[
Element of F
1(),
Element of F
1(),
Element of F
1()] } :
ex b
1 being
BinOp of F
1() st
for b
2, b
3 being
Element of F
1() holds P
1[b
2,b
3,b
1 . b
2,b
3]
provided
E1:
for b
1, b
2 being
Element of F
1() holds
ex b
3 being
Element of F
1() st P
1[b
1,b
2,b
3]
proof
defpred S
1[
Element of F
1(),
Element of F
1(),
set ] means for b
1 being
Element of F
1() holds
( b
1 = a
3 implies P
1[a
1,a
2,b
1] );
E2:
for b
1, b
2 being
Element of F
1() holds
ex b
3 being
Element of F
1() st
S
1[b
1,b
2,b
3]
proof
let c
1, c
2 be
Element of F
1();
consider c
3 being
Element of F
1() such that
E3:
P
1[c
1,c
2,c
3]
by E1;
take
c
3
;
thus
S
1[c
1,c
2,c
3]
by E3;
end;
consider c
1 being
Function of
[:F1(),F1():],F
1() such that
E3:
for b
1, b
2 being
Element of F
1() holds
S
1[b
1,b
2,c
1 . [b1,b2]]
from FUNCT_2:sch 7(E2);
take c
2 = c
1;
let c
3, c
4 be
Element of F
1();
c
2 . c
3,c
4 = c
2 . [c3,c4]
;
hence
P
1[c
3,c
4,c
2 . c
3,c
4]
by E3;
end;
scheme :: BINOP_1:sch 2
s2{ F
1()
-> non
empty set , F
2(
Element of F
1(),
Element of F
1())
-> Element of F
1() } :
ex b
1 being
BinOp of F
1() st
for b
2, b
3 being
Element of F
1() holds b
1 . b
2,b
3 = F
2(b
2,b
3)
provided
proof
consider c
1 being
Function of
[:F1(),F1():],F
1() such that
E1:
for b
1, b
2 being
Element of F
1() holds c
1 . [b1,b2] = F
2(b
1,b
2)
from FUNCT_2:sch 8();
take
c
1
;
let c
2, c
3 be
Element of F
1();
c
1 . c
2,c
3 = c
1 . [c2,c3]
;
hence
c
1 . c
2,c
3 = F
2(c
2,c
3)
by E1;
end;
definition
let c
1 be
set ;
let c
2 be
BinOp of c
1;
attr a
2 is
commutative means :
E1:
:: BINOP_1:def 2
for b
1, b
2 being
Element of a
1 holds a
2 . b
1,b
2 = a
2 . b
2,b
1;
attr a
2 is
associative means :
E2:
:: BINOP_1:def 3
for b
1, b
2, b
3 being
Element of a
1 holds a
2 . b
1,
(a2 . b2,b3) = a
2 . (a2 . b1,b2),b
3;
attr a
2 is
idempotent means :
E3:
:: BINOP_1:def 4
for b
1 being
Element of a
1 holds a
2 . b
1,b
1 = b
1;
end;
:: deftheorem E1 defines commutative BINOP_1:def 2 :
:: deftheorem E2 defines associative BINOP_1:def 3 :
for b
1 being
set for b
2 being
BinOp of b
1 holds
( b
2 is
associative iff for b
3, b
4, b
5 being
Element of b
1 holds b
2 . b
3,
(b2 . b4,b5) = b
2 . (b2 . b3,b4),b
5 );
:: deftheorem E3 defines idempotent BINOP_1:def 4 :
registration
cluster -> empty commutative associative M4(
[:{} ,{} :],
{} );
coherence
for b1 being BinOp of {} holds
( b1 is empty & b1 is associative & b1 is commutative )
proof
let c
1 be
BinOp of
{} ;
E4:
[:{} ,{} :] = {}
by ZFMISC_1:113;
then E5:
( c
1 c= [:(dom c1),(rng c1):] &
dom c
1 = {} &
rng c
1 c= {} )
by FUNCT_2:def 1, RELAT_1:21, RELSET_1:12;
thus
c
1 is
empty
by E4, XBOOLE_1:3;
hereby :: uses BINOP_1:def 3
let c
2, c
3, c
4 be
Element of
{} ;
thus c
1 . c
2,
(c1 . c3,c4) =
c
1 . [c2,(c1 . c3,c4)]
.=
{}
by E5, FUNCT_1:def 4
.=
c
1 . [(c1 . c2,c3),c4]
by E5, FUNCT_1:def 4
.=
c
1 . (c1 . c2,c3),c
4
;
end;
let c
2, c
3 be
Element of
{} ;
:: uses BINOP_1:def 2
thus c
1 . c
2,c
3 =
c
1 . [c2,c3]
.=
{}
by E5, FUNCT_1:def 4
.=
c
1 . [c3,c2]
by E5, FUNCT_1:def 4
.=
c
1 . c
3,c
2
;
end;
end;
:: deftheorem E4 defines is_a_left_unity_wrt BINOP_1:def 5 :
:: deftheorem E5 defines is_a_right_unity_wrt BINOP_1:def 6 :
:: deftheorem defines is_a_unity_wrt BINOP_1:def 7 :
theorem :: BINOP_1:3
canceled;
theorem :: BINOP_1:4
canceled;
theorem :: BINOP_1:5
canceled;
theorem :: BINOP_1:6
canceled;
theorem :: BINOP_1:7
canceled;
theorem :: BINOP_1:8
canceled;
theorem :: BINOP_1:9
canceled;
theorem :: BINOP_1:10
canceled;
theorem E6: :: BINOP_1:11
theorem E7: :: BINOP_1:12
proof
let c
1 be
set ;
let c
2 be
BinOp of c
1;
let c
3 be
Element of c
1;
assume E8:
c
2 is
commutative
;
now
thus
( for b
1 being
Element of c
1 holds
( c
2 . c
3,b
1 = b
1 & c
2 . b
1,c
3 = b
1 ) implies for b
1 being
Element of c
1 holds c
2 . c
3,b
1 = b
1 )
;
assume E9:
for b
1 being
Element of c
1 holds c
2 . c
3,b
1 = b
1
;
let c
4 be
Element of c
1;
thus
c
2 . c
3,c
4 = c
4
by E9;
thus c
2 . c
4,c
3 =
c
2 . c
3,c
4
by E8, E1
.=
c
4
by E9
;
end;
hence
( c
3 is_a_unity_wrt c
2 iff for b
1 being
Element of c
1 holds c
2 . c
3,b
1 = b
1 )
by E6;
end;
theorem E8: :: BINOP_1:13
proof
let c
1 be
set ;
let c
2 be
BinOp of c
1;
let c
3 be
Element of c
1;
assume E9:
c
2 is
commutative
;
now
thus
( for b
1 being
Element of c
1 holds
( c
2 . c
3,b
1 = b
1 & c
2 . b
1,c
3 = b
1 ) implies for b
1 being
Element of c
1 holds c
2 . b
1,c
3 = b
1 )
;
assume E10:
for b
1 being
Element of c
1 holds c
2 . b
1,c
3 = b
1
;
let c
4 be
Element of c
1;
thus c
2 . c
3,c
4 =
c
2 . c
4,c
3
by E9, E1
.=
c
4
by E10
;
thus
c
2 . c
4,c
3 = c
4
by E10;
end;
hence
( c
3 is_a_unity_wrt c
2 iff for b
1 being
Element of c
1 holds c
2 . b
1,c
3 = b
1 )
by E6;
end;
theorem E9: :: BINOP_1:14
theorem E10: :: BINOP_1:15
theorem :: BINOP_1:16
theorem E11: :: BINOP_1:17
theorem E12: :: BINOP_1:18
:: deftheorem defines the_unity_wrt BINOP_1:def 8 :
definition
let c
1 be
set ;
let c
2, c
3 be
BinOp of c
1;
pred a
2 is_left_distributive_wrt a
3 means :
E13:
:: BINOP_1:def 9
for b
1, b
2, b
3 being
Element of a
1 holds a
2 . b
1,
(a3 . b2,b3) = a
3 . (a2 . b1,b2),
(a2 . b1,b3);
pred a
2 is_right_distributive_wrt a
3 means :
E14:
:: BINOP_1:def 10
for b
1, b
2, b
3 being
Element of a
1 holds a
2 . (a3 . b1,b2),b
3 = a
3 . (a2 . b1,b3),
(a2 . b2,b3);
end;
:: deftheorem E13 defines is_left_distributive_wrt BINOP_1:def 9 :
:: deftheorem E14 defines is_right_distributive_wrt BINOP_1:def 10 :
:: deftheorem defines is_distributive_wrt BINOP_1:def 11 :
theorem :: BINOP_1:19
canceled;
theorem :: BINOP_1:20
canceled;
theorem :: BINOP_1:21
canceled;
theorem :: BINOP_1:22
canceled;
theorem E15: :: BINOP_1:23
for b
1 being
set for b
2, b
3 being
BinOp of b
1 holds
( b
2 is_distributive_wrt b
3 iff for b
4, b
5, b
6 being
Element of b
1 holds
( b
2 . b
4,
(b3 . b5,b6) = b
3 . (b2 . b4,b5),
(b2 . b4,b6) & b
2 . (b3 . b4,b5),b
6 = b
3 . (b2 . b4,b6),
(b2 . b5,b6) ) )
proof
let c
1 be
set ;
let c
2, c
3 be
BinOp of c
1;
thus
( c
2 is_distributive_wrt c
3 implies for b
1, b
2, b
3 being
Element of c
1 holds
( c
2 . b
1,
(c3 . b2,b3) = c
3 . (c2 . b1,b2),
(c2 . b1,b3) & c
2 . (c3 . b1,b2),b
3 = c
3 . (c2 . b1,b3),
(c2 . b2,b3) ) )
proof
assume
( c
2 is_left_distributive_wrt c
3 & c
2 is_right_distributive_wrt c
3 )
;
:: uses BINOP_1:def 11
hence
for b
1, b
2, b
3 being
Element of c
1 holds
( c
2 . b
1,
(c3 . b2,b3) = c
3 . (c2 . b1,b2),
(c2 . b1,b3) & c
2 . (c3 . b1,b2),b
3 = c
3 . (c2 . b1,b3),
(c2 . b2,b3) )
by E13, E14;
end;
assume
for b
1, b
2, b
3 being
Element of c
1 holds
( c
2 . b
1,
(c3 . b2,b3) = c
3 . (c2 . b1,b2),
(c2 . b1,b3) & c
2 . (c3 . b1,b2),b
3 = c
3 . (c2 . b1,b3),
(c2 . b2,b3) )
;
hence
( for b
1, b
2, b
3 being
Element of c
1 holds c
2 . b
1,
(c3 . b2,b3) = c
3 . (c2 . b1,b2),
(c2 . b1,b3) & for b
1, b
2, b
3 being
Element of c
1 holds c
2 . (c3 . b1,b2),b
3 = c
3 . (c2 . b1,b3),
(c2 . b2,b3) )
;
:: uses BINOP_1:def 9,
BINOP_1:def 10,
BINOP_1:def 11
end;
theorem E16: :: BINOP_1:24
proof
let c
1 be non
empty set ;
let c
2, c
3 be
BinOp of c
1;
assume E17:
c
3 is
commutative
;
( for b
1, b
2, b
3 being
Element of c
1 holds
( c
3 . b
1,
(c2 . b2,b3) = c
2 . (c3 . b1,b2),
(c3 . b1,b3) & c
3 . (c2 . b1,b2),b
3 = c
2 . (c3 . b1,b3),
(c3 . b2,b3) ) iff for b
1, b
2, b
3 being
Element of c
1 holds c
3 . b
1,
(c2 . b2,b3) = c
2 . (c3 . b1,b2),
(c3 . b1,b3) )
proof
thus
( for b
1, b
2, b
3 being
Element of c
1 holds
( c
3 . b
1,
(c2 . b2,b3) = c
2 . (c3 . b1,b2),
(c3 . b1,b3) & c
3 . (c2 . b1,b2),b
3 = c
2 . (c3 . b1,b3),
(c3 . b2,b3) ) implies for b
1, b
2, b
3 being
Element of c
1 holds c
3 . b
1,
(c2 . b2,b3) = c
2 . (c3 . b1,b2),
(c3 . b1,b3) )
;
assume E18:
for b
1, b
2, b
3 being
Element of c
1 holds c
3 . b
1,
(c2 . b2,b3) = c
2 . (c3 . b1,b2),
(c3 . b1,b3)
;
let c
4, c
5, c
6 be
Element of c
1;
thus
c
3 . c
4,
(c2 . c5,c6) = c
2 . (c3 . c4,c5),
(c3 . c4,c6)
by E18;
thus c
3 . (c2 . c4,c5),c
6 =
c
3 . c
6,
(c2 . c4,c5)
by E17, E1
.=
c
2 . (c3 . c6,c4),
(c3 . c6,c5)
by E18
.=
c
2 . (c3 . c4,c6),
(c3 . c6,c5)
by E17, E1
.=
c
2 . (c3 . c4,c6),
(c3 . c5,c6)
by E17, E1
;
end;
hence
( c
3 is_distributive_wrt c
2 iff for b
1, b
2, b
3 being
Element of c
1 holds c
3 . b
1,
(c2 . b2,b3) = c
2 . (c3 . b1,b2),
(c3 . b1,b3) )
by E15;
end;
theorem E17: :: BINOP_1:25
proof
let c
1 be non
empty set ;
let c
2, c
3 be
BinOp of c
1;
assume E18:
c
3 is
commutative
;
( for b
1, b
2, b
3 being
Element of c
1 holds
( c
3 . b
1,
(c2 . b2,b3) = c
2 . (c3 . b1,b2),
(c3 . b1,b3) & c
3 . (c2 . b1,b2),b
3 = c
2 . (c3 . b1,b3),
(c3 . b2,b3) ) iff for b
1, b
2, b
3 being
Element of c
1 holds c
3 . (c2 . b1,b2),b
3 = c
2 . (c3 . b1,b3),
(c3 . b2,b3) )
proof
thus
( for b
1, b
2, b
3 being
Element of c
1 holds
( c
3 . b
1,
(c2 . b2,b3) = c
2 . (c3 . b1,b2),
(c3 . b1,b3) & c
3 . (c2 . b1,b2),b
3 = c
2 . (c3 . b1,b3),
(c3 . b2,b3) ) implies for b
1, b
2, b
3 being
Element of c
1 holds c
3 . (c2 . b1,b2),b
3 = c
2 . (c3 . b1,b3),
(c3 . b2,b3) )
;
assume E19:
for b
1, b
2, b
3 being
Element of c
1 holds c
3 . (c2 . b1,b2),b
3 = c
2 . (c3 . b1,b3),
(c3 . b2,b3)
;
let c
4, c
5, c
6 be
Element of c
1;
thus c
3 . c
4,
(c2 . c5,c6) =
c
3 . (c2 . c5,c6),c
4
by E18, E1
.=
c
2 . (c3 . c5,c4),
(c3 . c6,c4)
by E19
.=
c
2 . (c3 . c4,c5),
(c3 . c6,c4)
by E18, E1
.=
c
2 . (c3 . c4,c5),
(c3 . c4,c6)
by E18, E1
;
thus
c
3 . (c2 . c4,c5),c
6 = c
2 . (c3 . c4,c6),
(c3 . c5,c6)
by E19;
end;
hence
( c
3 is_distributive_wrt c
2 iff for b
1, b
2, b
3 being
Element of c
1 holds c
3 . (c2 . b1,b2),b
3 = c
2 . (c3 . b1,b3),
(c3 . b2,b3) )
by E15;
end;
theorem E18: :: BINOP_1:26
theorem E19: :: BINOP_1:27
theorem :: BINOP_1:28
:: deftheorem E20 defines is_distributive_wrt BINOP_1:def 12 :
definition
let c
1 be non
empty set ;
let c
2 be
BinOp of c
1;
means :: BINOP_1:def 13
for b
1, b
2 being
Element of a
1 holds a
2 . b
1,b
2 = a
2 . b
2,b
1;
correctness
compatibility
( c2 is commutative iff for b1, b2 being Element of c1 holds c2 . b1,b2 = c2 . b2,b1 );
by E1;
means :: BINOP_1:def 14
for b
1, b
2, b
3 being
Element of a
1 holds a
2 . b
1,
(a2 . b2,b3) = a
2 . (a2 . b1,b2),b
3;
correctness
compatibility
( c2 is associative iff for b1, b2, b3 being Element of c1 holds c2 . b1,(c2 . b2,b3) = c2 . (c2 . b1,b2),b3 );
by E2;
means :: BINOP_1:def 15
for b
1 being
Element of a
1 holds a
2 . b
1,b
1 = b
1;
correctness
compatibility
( c2 is idempotent iff for b1 being Element of c1 holds c2 . b1,b1 = b1 );
by E3;
end;
:: deftheorem defines commutative BINOP_1:def 13 :
:: deftheorem defines associative BINOP_1:def 14 :
:: deftheorem defines idempotent BINOP_1:def 15 :
:: deftheorem defines is_a_left_unity_wrt BINOP_1:def 16 :
:: deftheorem defines is_a_right_unity_wrt BINOP_1:def 17 :
definition
let c
1 be non
empty set ;
let c
2, c
3 be
BinOp of c
1;
means :: BINOP_1:def 18
for b
1, b
2, b
3 being
Element of a
1 holds a
2 . b
1,
(a3 . b2,b3) = a
3 . (a2 . b1,b2),
(a2 . b1,b3);
correctness
compatibility
( c2 is_left_distributive_wrt c3 iff for b1, b2, b3 being Element of c1 holds c2 . b1,(c3 . b2,b3) = c3 . (c2 . b1,b2),(c2 . b1,b3) );
by E13;
means :: BINOP_1:def 19
for b
1, b
2, b
3 being
Element of a
1 holds a
2 . (a3 . b1,b2),b
3 = a
3 . (a2 . b1,b3),
(a2 . b2,b3);
correctness
compatibility
( c2 is_right_distributive_wrt c3 iff for b1, b2, b3 being Element of c1 holds c2 . (c3 . b1,b2),b3 = c3 . (c2 . b1,b3),(c2 . b2,b3) );
by E14;
end;
:: deftheorem defines is_left_distributive_wrt BINOP_1:def 18 :
:: deftheorem defines is_right_distributive_wrt BINOP_1:def 19 :
:: deftheorem defines is_distributive_wrt BINOP_1:def 20 :