definition
let Q be
multLoop;
attr Q is
satisfying_LR means
for
u,
x,
y,
z,
w being
Element of
Q holds
L_map (
(R_map (u,x,y)),
z,
w)
= R_map (
(L_map (u,z,w)),
x,
y);
attr Q is
satisfying_LL means
for
u,
x,
y,
z,
w being
Element of
Q holds
L_map (
(L_map (u,x,y)),
z,
w)
= L_map (
(L_map (u,z,w)),
x,
y);
attr Q is
satisfying_RR means
for
u,
x,
y,
z,
w being
Element of
Q holds
R_map (
(R_map (u,x,y)),
z,
w)
= R_map (
(R_map (u,z,w)),
x,
y);
end;
::
deftheorem defines
satisfying_LR AIMLOOP:def 10 :
for Q being multLoop holds
( Q is satisfying_LR iff for u, x, y, z, w being Element of Q holds L_map ((R_map (u,x,y)),z,w) = R_map ((L_map (u,z,w)),x,y) );
::
deftheorem defines
satisfying_LL AIMLOOP:def 11 :
for Q being multLoop holds
( Q is satisfying_LL iff for u, x, y, z, w being Element of Q holds L_map ((L_map (u,x,y)),z,w) = L_map ((L_map (u,z,w)),x,y) );
::
deftheorem defines
satisfying_RR AIMLOOP:def 12 :
for Q being multLoop holds
( Q is satisfying_RR iff for u, x, y, z, w being Element of Q holds R_map ((R_map (u,x,y)),z,w) = R_map ((R_map (u,z,w)),x,y) );
definition
let Q be
multLoop;
defpred S1[
Element of
Q]
means for
y,
z being
Element of
Q holds
($1 * y) * z = $1
* (y * z);
defpred S2[
Element of
Q]
means for
x,
z being
Element of
Q holds
(x * $1) * z = x * ($1 * z);
defpred S3[
Element of
Q]
means for
x,
y being
Element of
Q holds
(x * y) * $1
= x * (y * $1);
defpred S4[
Element of
Q]
means for
y being
Element of
Q holds $1
* y = y * $1;
existence
ex b1 being Subset of Q st
for x being Element of Q holds
( x in b1 iff for y, z being Element of Q holds (x * y) * z = x * (y * z) )
uniqueness
for b1, b2 being Subset of Q st ( for x being Element of Q holds
( x in b1 iff for y, z being Element of Q holds (x * y) * z = x * (y * z) ) ) & ( for x being Element of Q holds
( x in b2 iff for y, z being Element of Q holds (x * y) * z = x * (y * z) ) ) holds
b1 = b2
existence
ex b1 being Subset of Q st
for y being Element of Q holds
( y in b1 iff for x, z being Element of Q holds (x * y) * z = x * (y * z) )
uniqueness
for b1, b2 being Subset of Q st ( for y being Element of Q holds
( y in b1 iff for x, z being Element of Q holds (x * y) * z = x * (y * z) ) ) & ( for y being Element of Q holds
( y in b2 iff for x, z being Element of Q holds (x * y) * z = x * (y * z) ) ) holds
b1 = b2
existence
ex b1 being Subset of Q st
for z being Element of Q holds
( z in b1 iff for x, y being Element of Q holds (x * y) * z = x * (y * z) )
uniqueness
for b1, b2 being Subset of Q st ( for z being Element of Q holds
( z in b1 iff for x, y being Element of Q holds (x * y) * z = x * (y * z) ) ) & ( for z being Element of Q holds
( z in b2 iff for x, y being Element of Q holds (x * y) * z = x * (y * z) ) ) holds
b1 = b2
existence
ex b1 being Subset of Q st
for x being Element of Q holds
( x in b1 iff for y being Element of Q holds x * y = y * x )
uniqueness
for b1, b2 being Subset of Q st ( for x being Element of Q holds
( x in b1 iff for y being Element of Q holds x * y = y * x ) ) & ( for x being Element of Q holds
( x in b2 iff for y being Element of Q holds x * y = y * x ) ) holds
b1 = b2
end;
defpred S1[ multLoop, Subset of $1, object ] means ex y, z being Element of $1 st
( y in $2 & z in $2 & ( $3 = y * z or $3 = y \ z or $3 = y / z ) );
defpred S2[ multLoopStr , Subset of $1, Subset of (Funcs ($1,$1)), object ] means ( ex u being Element of $1 st
( u in $2 & $4 = (curry' the multF of $1) . u ) or ex u being Element of $1 st
( u in $2 & $4 = (curry the multF of $1) . u ) or ex g, h being Permutation of $1 st
( g in $3 & h in $3 & $4 = g * h ) or ex g being Permutation of $1 st
( g in $3 & $4 = g " ) );
scheme
MltInd{
F1()
-> multLoop,
F2()
-> Subset of
F1(),
P1[
Function of
F1(),
F1()] } :
provided
A1:
for
u being
Element of
F1() st
u in F2() holds
for
f being
Function of
F1(),
F1() st ( for
x being
Element of
F1() holds
f . x = x * u ) holds
P1[
f]
and A2:
for
u being
Element of
F1() st
u in F2() holds
for
f being
Function of
F1(),
F1() st ( for
x being
Element of
F1() holds
f . x = u * x ) holds
P1[
f]
and A3:
for
g,
h being
Permutation of
F1() st
P1[
g] &
P1[
h] holds
P1[
g * h]
and A4:
for
g being
Permutation of
F1() st
P1[
g] holds
P1[
g " ]
definition
let Q be
multLoop;
let x,
y be
Element of
Q;
deffunc H1(
Element of
Q)
-> Element of
Q =
L_map ($1,
x,
y);
existence
ex b1 being Function of Q,Q st
for u being Element of Q holds b1 . u = L_map (u,x,y)
uniqueness
for b1, b2 being Function of Q,Q st ( for u being Element of Q holds b1 . u = L_map (u,x,y) ) & ( for u being Element of Q holds b2 . u = L_map (u,x,y) ) holds
b1 = b2
end;
definition
let Q be
multLoop;
let x,
y be
Element of
Q;
deffunc H1(
Element of
Q)
-> Element of
Q =
R_map ($1,
x,
y);
existence
ex b1 being Function of Q,Q st
for u being Element of Q holds b1 . u = R_map (u,x,y)
uniqueness
for b1, b2 being Function of Q,Q st ( for u being Element of Q holds b1 . u = R_map (u,x,y) ) & ( for u being Element of Q holds b2 . u = R_map (u,x,y) ) holds
b1 = b2
end;