let D be non empty set ; for A being BinOp of D
for d1 being Element of D
for f being FinSequence of D st A is having_a_unity & A is associative & A is having_an_inverseOp holds
for F, Fb being finite set st Fb = UNION (F,(bool {((len f) + 1)})) & union F c= dom f holds
for E1 being Enumeration of Fb ex E2 being Enumeration of Fb st (SignGenOp ((f ^ <*d1*>),A,Fb)) * E1 = (SignGenOp ((f ^ <*((the_inverseOp_wrt A) . d1)*>),A,Fb)) * E2
let A be BinOp of D; for d1 being Element of D
for f being FinSequence of D st A is having_a_unity & A is associative & A is having_an_inverseOp holds
for F, Fb being finite set st Fb = UNION (F,(bool {((len f) + 1)})) & union F c= dom f holds
for E1 being Enumeration of Fb ex E2 being Enumeration of Fb st (SignGenOp ((f ^ <*d1*>),A,Fb)) * E1 = (SignGenOp ((f ^ <*((the_inverseOp_wrt A) . d1)*>),A,Fb)) * E2
let d1 be Element of D; for f being FinSequence of D st A is having_a_unity & A is associative & A is having_an_inverseOp holds
for F, Fb being finite set st Fb = UNION (F,(bool {((len f) + 1)})) & union F c= dom f holds
for E1 being Enumeration of Fb ex E2 being Enumeration of Fb st (SignGenOp ((f ^ <*d1*>),A,Fb)) * E1 = (SignGenOp ((f ^ <*((the_inverseOp_wrt A) . d1)*>),A,Fb)) * E2
let f be FinSequence of D; ( A is having_a_unity & A is associative & A is having_an_inverseOp implies for F, Fb being finite set st Fb = UNION (F,(bool {((len f) + 1)})) & union F c= dom f holds
for E1 being Enumeration of Fb ex E2 being Enumeration of Fb st (SignGenOp ((f ^ <*d1*>),A,Fb)) * E1 = (SignGenOp ((f ^ <*((the_inverseOp_wrt A) . d1)*>),A,Fb)) * E2 )
set I = the_inverseOp_wrt A;
assume A1:
( A is having_a_unity & A is associative & A is having_an_inverseOp )
; for F, Fb being finite set st Fb = UNION (F,(bool {((len f) + 1)})) & union F c= dom f holds
for E1 being Enumeration of Fb ex E2 being Enumeration of Fb st (SignGenOp ((f ^ <*d1*>),A,Fb)) * E1 = (SignGenOp ((f ^ <*((the_inverseOp_wrt A) . d1)*>),A,Fb)) * E2
let F, Fb be finite set ; ( Fb = UNION (F,(bool {((len f) + 1)})) & union F c= dom f implies for E1 being Enumeration of Fb ex E2 being Enumeration of Fb st (SignGenOp ((f ^ <*d1*>),A,Fb)) * E1 = (SignGenOp ((f ^ <*((the_inverseOp_wrt A) . d1)*>),A,Fb)) * E2 )
assume that
A2:
Fb = UNION (F,(bool {((len f) + 1)}))
and
A3:
union F c= dom f
; for E1 being Enumeration of Fb ex E2 being Enumeration of Fb st (SignGenOp ((f ^ <*d1*>),A,Fb)) * E1 = (SignGenOp ((f ^ <*((the_inverseOp_wrt A) . d1)*>),A,Fb)) * E2
let E1 be Enumeration of Fb; ex E2 being Enumeration of Fb st (SignGenOp ((f ^ <*d1*>),A,Fb)) * E1 = (SignGenOp ((f ^ <*((the_inverseOp_wrt A) . d1)*>),A,Fb)) * E2
defpred S1[ object , object ] means ( $2 in dom E1 & ( 1 + (len f) in E1 . $1 implies E1 . $2 = (E1 . $1) \ {(1 + (len f))} ) & ( not 1 + (len f) in E1 . $1 implies E1 . $2 = (E1 . $1) \/ {(1 + (len f))} ) );
A4:
rng E1 = Fb
by RLAFFIN3:def 1;
A5:
for x being object st x in dom E1 holds
ex y being object st S1[x,y]
proof
let x be
object ;
( x in dom E1 implies ex y being object st S1[x,y] )
assume
x in dom E1
;
ex y being object st S1[x,y]
then
E1 . x in Fb
by A4, FUNCT_1:def 3;
then consider X,
Y being
set such that A6:
(
X in F &
Y in bool {((len f) + 1)} &
E1 . x = X \/ Y )
by A2, SETFAM_1:def 4;
1
+ (len f) > len f
by NAT_1:13;
then A7:
not 1
+ (len f) in dom f
by FINSEQ_3:25;
A8:
X c= union F
by A6, ZFMISC_1:74;
then A9:
not 1
+ (len f) in X
by A7, A3;
per cases
( Y = {(1 + (len f))} or Y = {} )
by A6, ZFMISC_1:33;
suppose A10:
Y = {(1 + (len f))}
;
ex y being object st S1[x,y]
{} c= {((len f) + 1)}
;
then
(
(E1 . x) \ {(1 + (len f))} = X &
{} in bool {((len f) + 1)} )
by A6, A10, A9, ZFMISC_1:117;
then
((E1 . x) \ {(1 + (len f))}) \/ {} in Fb
by A2, A6, SETFAM_1:def 4;
then consider y being
object such that A11:
(
y in dom E1 &
E1 . y = (E1 . x) \ {(1 + (len f))} )
by A4, FUNCT_1:def 3;
take
y
;
S1[x,y]thus
S1[
x,
y]
by A11, A10, A6, ZFMISC_1:136;
verum end; suppose A12:
Y = {}
;
ex y being object st S1[x,y]
{((len f) + 1)} c= {((len f) + 1)}
;
then
(E1 . x) \/ {((len f) + 1)} in Fb
by A2, A6, A12, SETFAM_1:def 4;
then consider y being
object such that A13:
(
y in dom E1 &
E1 . y = (E1 . x) \/ {(1 + (len f))} )
by A4, FUNCT_1:def 3;
take
y
;
S1[x,y]thus
S1[
x,
y]
by A13, A12, A6, A8, A7, A3;
verum end; end;
end;
consider p being Function such that
A14:
dom p = dom E1
and
A15:
for x being object st x in dom E1 holds
S1[x,p . x]
from CLASSES1:sch 1(A5);
rng p c= dom E1
then reconsider p = p as Function of (dom E1),(dom E1) by A14, FUNCT_2:2;
dom E1 c= rng p
proof
let x be
object ;
TARSKI:def 3 ( not x in dom E1 or x in rng p )
assume A16:
x in dom E1
;
x in rng p
then
E1 . x in Fb
by A4, FUNCT_1:def 3;
then consider X,
Y being
set such that A17:
(
X in F &
Y in bool {((len f) + 1)} &
E1 . x = X \/ Y )
by A2, SETFAM_1:def 4;
1
+ (len f) > len f
by NAT_1:13;
then A18:
not 1
+ (len f) in dom f
by FINSEQ_3:25;
A19:
X c= union F
by A17, ZFMISC_1:74;
then A20:
not 1
+ (len f) in X
by A18, A3;
per cases
( Y = {(1 + (len f))} or Y = {} )
by A17, ZFMISC_1:33;
suppose A21:
Y = {(1 + (len f))}
;
x in rng pthen A22:
1
+ (len f) in E1 . x
by A17, ZFMISC_1:136;
{} c= {((len f) + 1)}
;
then
(
(E1 . x) \ {(1 + (len f))} = X &
{} in bool {((len f) + 1)} )
by A17, A21, A20, ZFMISC_1:117;
then
((E1 . x) \ {(1 + (len f))}) \/ {} in Fb
by A2, A17, SETFAM_1:def 4;
then consider z being
object such that A23:
(
z in dom E1 &
E1 . z = (E1 . x) \ {(1 + (len f))} )
by A4, FUNCT_1:def 3;
not 1
+ (len f) in E1 . z
by A23, ZFMISC_1:56;
then
(
E1 . (p . z) = (E1 . z) \/ {(1 + (len f))} &
p . z in dom E1 )
by A23, A15;
then
p . z = x
by A16, FUNCT_1:def 4, A23, A22, ZFMISC_1:116;
hence
x in rng p
by A14, A23, FUNCT_1:def 3;
verum end; suppose A24:
Y = {}
;
x in rng pthen A25:
not 1
+ (len f) in E1 . x
by A17, A19, A18, A3;
{((len f) + 1)} c= {((len f) + 1)}
;
then
(E1 . x) \/ {((len f) + 1)} in Fb
by A17, A24, A2, SETFAM_1:def 4;
then consider z being
object such that A26:
(
z in dom E1 &
E1 . z = (E1 . x) \/ {(1 + (len f))} )
by A4, FUNCT_1:def 3;
1
+ (len f) in E1 . z
by A26, ZFMISC_1:136;
then A27:
(
E1 . (p . z) = (E1 . z) \ {(1 + (len f))} &
p . z in dom E1 )
by A26, A15;
then
E1 . (p . z) = E1 . x
by A26, A25, ZFMISC_1:117;
then
p . z = x
by A27, A16, FUNCT_1:def 4;
hence
x in rng p
by A14, A26, FUNCT_1:def 3;
verum end; end;
end;
then
dom E1 = rng p
;
then A28:
( p is onto & card (dom E1) = card (dom E1) )
by FUNCT_2:def 3;
then
p is one-to-one
by FINSEQ_4:63;
then reconsider p = p as Permutation of (dom E1) by A28;
reconsider E1p = E1 * p as Enumeration of Fb by Th109;
take
E1p
; (SignGenOp ((f ^ <*d1*>),A,Fb)) * E1 = (SignGenOp ((f ^ <*((the_inverseOp_wrt A) . d1)*>),A,Fb)) * E1p
A29:
( len ((SignGenOp ((f ^ <*d1*>),A,Fb)) * E1) = len E1 & len E1 = card Fb & len ((SignGenOp ((f ^ <*((the_inverseOp_wrt A) . d1)*>),A,Fb)) * E1p) = len E1p & len E1p = card Fb )
by CARD_1:def 7;
for i being Nat st 1 <= i & i <= len ((SignGenOp ((f ^ <*d1*>),A,Fb)) * E1) holds
((SignGenOp ((f ^ <*d1*>),A,Fb)) * E1) . i = ((SignGenOp ((f ^ <*((the_inverseOp_wrt A) . d1)*>),A,Fb)) * E1p) . i
proof
let i be
Nat;
( 1 <= i & i <= len ((SignGenOp ((f ^ <*d1*>),A,Fb)) * E1) implies ((SignGenOp ((f ^ <*d1*>),A,Fb)) * E1) . i = ((SignGenOp ((f ^ <*((the_inverseOp_wrt A) . d1)*>),A,Fb)) * E1p) . i )
assume A30:
( 1
<= i &
i <= len ((SignGenOp ((f ^ <*d1*>),A,Fb)) * E1) )
;
((SignGenOp ((f ^ <*d1*>),A,Fb)) * E1) . i = ((SignGenOp ((f ^ <*((the_inverseOp_wrt A) . d1)*>),A,Fb)) * E1p) . i
(
i in dom ((SignGenOp ((f ^ <*d1*>),A,Fb)) * E1) &
i in dom ((SignGenOp ((f ^ <*((the_inverseOp_wrt A) . d1)*>),A,Fb)) * E1p) )
by A29, A30, FINSEQ_3:25;
then A31:
(
((SignGenOp ((f ^ <*d1*>),A,Fb)) * E1) . i = SignGen (
(f ^ <*d1*>),
A,
(E1 . i)) &
((SignGenOp ((f ^ <*((the_inverseOp_wrt A) . d1)*>),A,Fb)) * E1p) . i = SignGen (
(f ^ <*((the_inverseOp_wrt A) . d1)*>),
A,
(E1p . i)) )
by Th80;
i in dom E1p
by A30, A29, FINSEQ_3:25;
then A32:
(
i in dom p &
E1p . i = E1 . (p . i) )
by FUNCT_1:11, FUNCT_1:12;
A33:
(
len (f ^ <*d1*>) = 1
+ (len f) & 1
+ (len f) = len (f ^ <*((the_inverseOp_wrt A) . d1)*>) )
by FINSEQ_2:16;
A34:
(
(f ^ <*d1*>) | (len f) = f &
f = (f ^ <*((the_inverseOp_wrt A) . d1)*>) | (len f) )
;
A35:
(
(f ^ <*d1*>) . (1 + (len f)) = d1 &
(f ^ <*((the_inverseOp_wrt A) . d1)*>) . (1 + (len f)) = (the_inverseOp_wrt A) . d1 )
;
1
+ (len f) > len f
by NAT_1:13;
then
not 1
+ (len f) in dom f
by FINSEQ_3:25;
then A36:
{(1 + (len f))} misses dom f
by ZFMISC_1:50;
per cases
( 1 + (len f) in E1 . i or not 1 + (len f) in E1 . i )
;
suppose A37:
1
+ (len f) in E1 . i
;
((SignGenOp ((f ^ <*d1*>),A,Fb)) * E1) . i = ((SignGenOp ((f ^ <*((the_inverseOp_wrt A) . d1)*>),A,Fb)) * E1p) . i
E1 . (p . i) = (E1 . i) \ {(1 + (len f))}
by A37, A15, A32;
then
not 1
+ (len f) in E1p . i
by A32, ZFMISC_1:56;
then A38:
SignGen (
(f ^ <*((the_inverseOp_wrt A) . d1)*>),
A,
(E1p . i))
= (SignGen (f,A,(E1p . i))) ^ <*((the_inverseOp_wrt A) . d1)*>
by A33, A34, A35, Th74;
(E1p . i) /\ (dom f) =
((E1 . i) \ {(1 + (len f))}) /\ (dom f)
by A37, A15, A32
.=
((dom f) /\ (E1 . i)) \ ((dom f) /\ {(1 + (len f))})
by XBOOLE_1:50
.=
(dom f) /\ (E1 . i)
by A36
;
then SignGen (
f,
A,
(E1p . i)) =
SignGen (
f,
A,
((E1 . i) /\ (dom f)))
by Th89
.=
SignGen (
f,
A,
(E1 . i))
by Th89
;
hence
((SignGenOp ((f ^ <*d1*>),A,Fb)) * E1) . i = ((SignGenOp ((f ^ <*((the_inverseOp_wrt A) . d1)*>),A,Fb)) * E1p) . i
by A37, A33, A34, A35, Th73, A38, A31;
verum end; suppose A39:
not 1
+ (len f) in E1 . i
;
((SignGenOp ((f ^ <*d1*>),A,Fb)) * E1) . i = ((SignGenOp ((f ^ <*((the_inverseOp_wrt A) . d1)*>),A,Fb)) * E1p) . i
E1 . (p . i) = (E1 . i) \/ {(1 + (len f))}
by A39, A15, A32;
then
1
+ (len f) in E1p . i
by A32, ZFMISC_1:136;
then A40:
SignGen (
(f ^ <*((the_inverseOp_wrt A) . d1)*>),
A,
(E1p . i))
= (SignGen (f,A,(E1p . i))) ^ <*((the_inverseOp_wrt A) . ((the_inverseOp_wrt A) . d1))*>
by A33, A34, A35, Th73;
A41:
(the_inverseOp_wrt A) . ((the_inverseOp_wrt A) . d1) = d1
by A1, FINSEQOP:62;
(E1p . i) /\ (dom f) =
(dom f) /\ ((E1 . i) \/ {(1 + (len f))})
by A39, A15, A32
.=
((dom f) /\ (E1 . i)) \/ ((dom f) /\ {(1 + (len f))})
by XBOOLE_1:23
.=
(dom f) /\ (E1 . i)
by A36
;
then SignGen (
f,
A,
(E1p . i)) =
SignGen (
f,
A,
((E1 . i) /\ (dom f)))
by Th89
.=
SignGen (
f,
A,
(E1 . i))
by Th89
;
hence
((SignGenOp ((f ^ <*d1*>),A,Fb)) * E1) . i = ((SignGenOp ((f ^ <*((the_inverseOp_wrt A) . d1)*>),A,Fb)) * E1p) . i
by A39, A33, A34, A35, Th74, A40, A31, A41;
verum end; end;
end;
hence
(SignGenOp ((f ^ <*d1*>),A,Fb)) * E1 = (SignGenOp ((f ^ <*((the_inverseOp_wrt A) . d1)*>),A,Fb)) * E1p
by A29; verum