let D1, D2 be non empty set ; for f1 being BinOp of D1
for f2 being BinOp of D2 holds
( ( f1 is associative & f2 is associative ) iff |:f1,f2:| is associative )
let f1 be BinOp of D1; for f2 being BinOp of D2 holds
( ( f1 is associative & f2 is associative ) iff |:f1,f2:| is associative )
let f2 be BinOp of D2; ( ( f1 is associative & f2 is associative ) iff |:f1,f2:| is associative )
thus
( f1 is associative & f2 is associative implies |:f1,f2:| is associative )
( |:f1,f2:| is associative implies ( f1 is associative & f2 is associative ) )proof
defpred S1[
set ,
set ,
set ]
means |:f1,f2:| . ($1,
(|:f1,f2:| . ($2,$3)))
= |:f1,f2:| . (
(|:f1,f2:| . ($1,$2)),$3);
assume A1:
for
a,
b,
c being
Element of
D1 holds
f1 . (
a,
(f1 . (b,c)))
= f1 . (
(f1 . (a,b)),
c)
;
BINOP_1:def 3 ( not f2 is associative or |:f1,f2:| is associative )
assume A2:
for
a,
b,
c being
Element of
D2 holds
f2 . (
a,
(f2 . (b,c)))
= f2 . (
(f2 . (a,b)),
c)
;
BINOP_1:def 3 |:f1,f2:| is associative
A3:
now for a1, b1, c1 being Element of D1
for a2, b2, c2 being Element of D2 holds S1[[a1,a2],[b1,b2],[c1,c2]]let a1,
b1,
c1 be
Element of
D1;
for a2, b2, c2 being Element of D2 holds S1[[a1,a2],[b1,b2],[c1,c2]]let a2,
b2,
c2 be
Element of
D2;
S1[[a1,a2],[b1,b2],[c1,c2]]|:f1,f2:| . (
[a1,a2],
(|:f1,f2:| . ([b1,b2],[c1,c2]))) =
|:f1,f2:| . (
[a1,a2],
[(f1 . (b1,c1)),(f2 . (b2,c2))])
by Th21
.=
[(f1 . (a1,(f1 . (b1,c1)))),(f2 . (a2,(f2 . (b2,c2))))]
by Th21
.=
[(f1 . ((f1 . (a1,b1)),c1)),(f2 . (a2,(f2 . (b2,c2))))]
by A1
.=
[(f1 . ((f1 . (a1,b1)),c1)),(f2 . ((f2 . (a2,b2)),c2))]
by A2
.=
|:f1,f2:| . (
[(f1 . (a1,b1)),(f2 . (a2,b2))],
[c1,c2])
by Th21
.=
|:f1,f2:| . (
(|:f1,f2:| . ([a1,a2],[b1,b2])),
[c1,c2])
by Th21
;
hence
S1[
[a1,a2],
[b1,b2],
[c1,c2]]
;
verum end;
thus
for
a,
b,
c being
Element of
[:D1,D2:] holds
S1[
a,
b,
c]
from FILTER_1:sch 6(A3); BINOP_1:def 3 verum
end;
assume A4:
for a, b, c being Element of [:D1,D2:] holds |:f1,f2:| . (a,(|:f1,f2:| . (b,c))) = |:f1,f2:| . ((|:f1,f2:| . (a,b)),c)
; BINOP_1:def 3 ( f1 is associative & f2 is associative )
thus
for a, b, c being Element of D1 holds f1 . (a,(f1 . (b,c))) = f1 . ((f1 . (a,b)),c)
BINOP_1:def 3 f2 is associative proof
set a2 = the
Element of
D2;
let a1,
b1,
c1 be
Element of
D1;
f1 . (a1,(f1 . (b1,c1))) = f1 . ((f1 . (a1,b1)),c1)
[(f1 . (a1,(f1 . (b1,c1)))),(f2 . ( the Element of D2,(f2 . ( the Element of D2, the Element of D2))))] =
|:f1,f2:| . (
[a1, the Element of D2],
[(f1 . (b1,c1)),(f2 . ( the Element of D2, the Element of D2))])
by Th21
.=
|:f1,f2:| . (
[a1, the Element of D2],
(|:f1,f2:| . ([b1, the Element of D2],[c1, the Element of D2])))
by Th21
.=
|:f1,f2:| . (
(|:f1,f2:| . ([a1, the Element of D2],[b1, the Element of D2])),
[c1, the Element of D2])
by A4
.=
|:f1,f2:| . (
[(f1 . (a1,b1)),(f2 . ( the Element of D2, the Element of D2))],
[c1, the Element of D2])
by Th21
.=
[(f1 . ((f1 . (a1,b1)),c1)),(f2 . ((f2 . ( the Element of D2, the Element of D2)), the Element of D2))]
by Th21
;
hence
f1 . (
a1,
(f1 . (b1,c1)))
= f1 . (
(f1 . (a1,b1)),
c1)
by XTUPLE_0:1;
verum
end;
set a1 = the Element of D1;
let a2 be Element of D2; BINOP_1:def 3 for b1, b2 being Element of D2 holds f2 . (a2,(f2 . (b1,b2))) = f2 . ((f2 . (a2,b1)),b2)
let b2, c2 be Element of D2; f2 . (a2,(f2 . (b2,c2))) = f2 . ((f2 . (a2,b2)),c2)
[(f1 . ( the Element of D1,(f1 . ( the Element of D1, the Element of D1)))),(f2 . (a2,(f2 . (b2,c2))))] =
|:f1,f2:| . ([ the Element of D1,a2],[(f1 . ( the Element of D1, the Element of D1)),(f2 . (b2,c2))])
by Th21
.=
|:f1,f2:| . ([ the Element of D1,a2],(|:f1,f2:| . ([ the Element of D1,b2],[ the Element of D1,c2])))
by Th21
.=
|:f1,f2:| . ((|:f1,f2:| . ([ the Element of D1,a2],[ the Element of D1,b2])),[ the Element of D1,c2])
by A4
.=
|:f1,f2:| . ([(f1 . ( the Element of D1, the Element of D1)),(f2 . (a2,b2))],[ the Element of D1,c2])
by Th21
.=
[(f1 . ((f1 . ( the Element of D1, the Element of D1)), the Element of D1)),(f2 . ((f2 . (a2,b2)),c2))]
by Th21
;
hence
f2 . (a2,(f2 . (b2,c2))) = f2 . ((f2 . (a2,b2)),c2)
by XTUPLE_0:1; verum