let D be non empty set ; for A being BinOp of D
for d, d1, d2 being Element of D
for f being FinSequence of D
for F being finite set
for E being Enumeration of F st union F c= Seg (1 + (len f)) holds
for Es being Enumeration of swap (F,(1 + (len f)),(2 + (len f))) st Es = Swap (E,(1 + (len f)),(2 + (len f))) holds
for CE1, CES being FinSequence of D * st CE1 = (SignGenOp ((f ^ <*d*>),A,F)) * E & CES = (SignGenOp (((f ^ <*d1*>) ^ <*d2*>),A,(swap (F,(1 + (len f)),(2 + (len f)))))) * Es holds
for s being FinSequence st s in doms CE1 & rng s c= dom f holds
( s in doms CES & (App CE1) . s = (App CES) . s )
let A be BinOp of D; for d, d1, d2 being Element of D
for f being FinSequence of D
for F being finite set
for E being Enumeration of F st union F c= Seg (1 + (len f)) holds
for Es being Enumeration of swap (F,(1 + (len f)),(2 + (len f))) st Es = Swap (E,(1 + (len f)),(2 + (len f))) holds
for CE1, CES being FinSequence of D * st CE1 = (SignGenOp ((f ^ <*d*>),A,F)) * E & CES = (SignGenOp (((f ^ <*d1*>) ^ <*d2*>),A,(swap (F,(1 + (len f)),(2 + (len f)))))) * Es holds
for s being FinSequence st s in doms CE1 & rng s c= dom f holds
( s in doms CES & (App CE1) . s = (App CES) . s )
let d, d1, d2 be Element of D; for f being FinSequence of D
for F being finite set
for E being Enumeration of F st union F c= Seg (1 + (len f)) holds
for Es being Enumeration of swap (F,(1 + (len f)),(2 + (len f))) st Es = Swap (E,(1 + (len f)),(2 + (len f))) holds
for CE1, CES being FinSequence of D * st CE1 = (SignGenOp ((f ^ <*d*>),A,F)) * E & CES = (SignGenOp (((f ^ <*d1*>) ^ <*d2*>),A,(swap (F,(1 + (len f)),(2 + (len f)))))) * Es holds
for s being FinSequence st s in doms CE1 & rng s c= dom f holds
( s in doms CES & (App CE1) . s = (App CES) . s )
let f be FinSequence of D; for F being finite set
for E being Enumeration of F st union F c= Seg (1 + (len f)) holds
for Es being Enumeration of swap (F,(1 + (len f)),(2 + (len f))) st Es = Swap (E,(1 + (len f)),(2 + (len f))) holds
for CE1, CES being FinSequence of D * st CE1 = (SignGenOp ((f ^ <*d*>),A,F)) * E & CES = (SignGenOp (((f ^ <*d1*>) ^ <*d2*>),A,(swap (F,(1 + (len f)),(2 + (len f)))))) * Es holds
for s being FinSequence st s in doms CE1 & rng s c= dom f holds
( s in doms CES & (App CE1) . s = (App CES) . s )
let F be finite set ; for E being Enumeration of F st union F c= Seg (1 + (len f)) holds
for Es being Enumeration of swap (F,(1 + (len f)),(2 + (len f))) st Es = Swap (E,(1 + (len f)),(2 + (len f))) holds
for CE1, CES being FinSequence of D * st CE1 = (SignGenOp ((f ^ <*d*>),A,F)) * E & CES = (SignGenOp (((f ^ <*d1*>) ^ <*d2*>),A,(swap (F,(1 + (len f)),(2 + (len f)))))) * Es holds
for s being FinSequence st s in doms CE1 & rng s c= dom f holds
( s in doms CES & (App CE1) . s = (App CES) . s )
set I = the_inverseOp_wrt A;
let E be Enumeration of F; ( union F c= Seg (1 + (len f)) implies for Es being Enumeration of swap (F,(1 + (len f)),(2 + (len f))) st Es = Swap (E,(1 + (len f)),(2 + (len f))) holds
for CE1, CES being FinSequence of D * st CE1 = (SignGenOp ((f ^ <*d*>),A,F)) * E & CES = (SignGenOp (((f ^ <*d1*>) ^ <*d2*>),A,(swap (F,(1 + (len f)),(2 + (len f)))))) * Es holds
for s being FinSequence st s in doms CE1 & rng s c= dom f holds
( s in doms CES & (App CE1) . s = (App CES) . s ) )
assume A1:
union F c= Seg (1 + (len f))
; for Es being Enumeration of swap (F,(1 + (len f)),(2 + (len f))) st Es = Swap (E,(1 + (len f)),(2 + (len f))) holds
for CE1, CES being FinSequence of D * st CE1 = (SignGenOp ((f ^ <*d*>),A,F)) * E & CES = (SignGenOp (((f ^ <*d1*>) ^ <*d2*>),A,(swap (F,(1 + (len f)),(2 + (len f)))))) * Es holds
for s being FinSequence st s in doms CE1 & rng s c= dom f holds
( s in doms CES & (App CE1) . s = (App CES) . s )
set EF = swap (F,(1 + (len f)),(2 + (len f)));
let Ee be Enumeration of swap (F,(1 + (len f)),(2 + (len f))); ( Ee = Swap (E,(1 + (len f)),(2 + (len f))) implies for CE1, CES being FinSequence of D * st CE1 = (SignGenOp ((f ^ <*d*>),A,F)) * E & CES = (SignGenOp (((f ^ <*d1*>) ^ <*d2*>),A,(swap (F,(1 + (len f)),(2 + (len f)))))) * Ee holds
for s being FinSequence st s in doms CE1 & rng s c= dom f holds
( s in doms CES & (App CE1) . s = (App CES) . s ) )
assume A2:
Ee = Swap (E,(1 + (len f)),(2 + (len f)))
; for CE1, CES being FinSequence of D * st CE1 = (SignGenOp ((f ^ <*d*>),A,F)) * E & CES = (SignGenOp (((f ^ <*d1*>) ^ <*d2*>),A,(swap (F,(1 + (len f)),(2 + (len f)))))) * Ee holds
for s being FinSequence st s in doms CE1 & rng s c= dom f holds
( s in doms CES & (App CE1) . s = (App CES) . s )
let CE1, CEE be FinSequence of D * ; ( CE1 = (SignGenOp ((f ^ <*d*>),A,F)) * E & CEE = (SignGenOp (((f ^ <*d1*>) ^ <*d2*>),A,(swap (F,(1 + (len f)),(2 + (len f)))))) * Ee implies for s being FinSequence st s in doms CE1 & rng s c= dom f holds
( s in doms CEE & (App CE1) . s = (App CEE) . s ) )
assume A3:
( CE1 = (SignGenOp ((f ^ <*d*>),A,F)) * E & CEE = (SignGenOp (((f ^ <*d1*>) ^ <*d2*>),A,(swap (F,(1 + (len f)),(2 + (len f)))))) * Ee )
; for s being FinSequence st s in doms CE1 & rng s c= dom f holds
( s in doms CEE & (App CE1) . s = (App CEE) . s )
let s be FinSequence; ( s in doms CE1 & rng s c= dom f implies ( s in doms CEE & (App CE1) . s = (App CEE) . s ) )
assume A4:
( s in doms CE1 & rng s c= dom f )
; ( s in doms CEE & (App CE1) . s = (App CEE) . s )
A5:
1 + (len f) < (1 + (len f)) + 1
by NAT_1:13;
then A6:
not 2 + (len f) in union F
by A1, FINSEQ_1:1;
A7: len ((f ^ <*d1*>) ^ <*d2*>) =
(len (f ^ <*d1*>)) + 1
by FINSEQ_2:16
.=
((len f) + 1) + 1
by FINSEQ_2:16
;
len (f ^ <*d*>) = (len f) + 1
by FINSEQ_2:16;
then A8:
doms CE1 c= doms CEE
by A3, A5, A6, A7, Th11, Th107;
hence
s in doms CEE
by A4; (App CE1) . s = (App CEE) . s
A9:
( len E = len CE1 & len CE1 = len s & len s = len CEE )
by A3, A8, Th47, A4, CARD_1:def 7;
A10:
( len ((App CEE) . s) = len s & len s = len ((App CE1) . s) )
by A8, A4, Def9;
for i being Nat st 1 <= i & i <= len s holds
((App CE1) . s) . i = ((App CEE) . s) . i
proof
let i be
Nat;
( 1 <= i & i <= len s implies ((App CE1) . s) . i = ((App CEE) . s) . i )
assume A11:
( 1
<= i &
i <= len s )
;
((App CE1) . s) . i = ((App CEE) . s) . i
reconsider si =
s . i as
Nat by A4;
A12:
(
i in dom CE1 &
i in dom CEE &
i in dom E &
i in dom s )
by A11, A9, FINSEQ_3:25;
then A13:
(
((App CE1) . s) . i = (CE1 . i) . si &
CE1 . i = SignGen (
(f ^ <*d*>),
A,
(E . i)) &
((App CEE) . s) . i = (CEE . i) . si &
CEE . i = SignGen (
((f ^ <*d1*>) ^ <*d2*>),
A,
(Ee . i)) )
by A3, A4, A8, Def9, Th80;
A14:
si in rng s
by A12, FUNCT_1:def 3;
then A15:
(
si <= len f &
len f < (len f) + 2 &
len f < (len f) + 1 )
by A4, FINSEQ_3:25, NAT_1:16;
dom f c= dom (f ^ <*d*>)
by FINSEQ_1:26;
then
si in dom (f ^ <*d*>)
by A14, A4;
then A16:
si in dom (SignGen ((f ^ <*d*>),A,(E . i)))
by Def11;
A17:
(f ^ <*d1*>) ^ <*d2*> = f ^ <*d1,d2*>
by FINSEQ_1:32;
dom f c= dom (f ^ <*d1,d2*>)
by FINSEQ_1:26;
then
si in dom ((f ^ <*d1*>) ^ <*d2*>)
by A14, A4, A17;
then A18:
si in dom (SignGen (((f ^ <*d1*>) ^ <*d2*>),A,(Ee . i)))
by Def11;
per cases
( si in E . i or not si in E . i )
;
suppose A19:
si in E . i
;
((App CE1) . s) . i = ((App CEE) . s) . ithen A20:
(SignGen ((f ^ <*d*>),A,(E . i))) . si =
(the_inverseOp_wrt A) . ((f ^ <*d*>) . si)
by A16, Def11
.=
(the_inverseOp_wrt A) . (f . si)
by A14, A4, FINSEQ_1:def 7
;
per cases
( 1 + (len f) in E . i or not 1 + (len f) in E . i )
;
suppose
1
+ (len f) in E . i
;
((App CE1) . s) . i = ((App CEE) . s) . ithen A21:
Ee . i = ((E . i) \ {(1 + (len f))}) \/ {(2 + (len f))}
by A2, A12, Def4;
si in (E . i) \ {(1 + (len f))}
by A15, A19, ZFMISC_1:56;
then
si in Ee . i
by A21, ZFMISC_1:136;
then (SignGen (((f ^ <*d1*>) ^ <*d2*>),A,(Ee . i))) . si =
(the_inverseOp_wrt A) . ((f ^ <*d1,d2*>) . si)
by A17, A18, Def11
.=
(the_inverseOp_wrt A) . (f . si)
by A14, A4, FINSEQ_1:def 7
;
hence
((App CE1) . s) . i = ((App CEE) . s) . i
by A20, A13;
verum end; suppose
not 1
+ (len f) in E . i
;
((App CE1) . s) . i = ((App CEE) . s) . ithen
Ee . i = (E . i) \/ {(1 + (len f))}
by A2, A12, Def4;
then
si in Ee . i
by A19, XBOOLE_0:def 3;
then (SignGen (((f ^ <*d1*>) ^ <*d2*>),A,(Ee . i))) . si =
(the_inverseOp_wrt A) . ((f ^ <*d1,d2*>) . si)
by A17, A18, Def11
.=
(the_inverseOp_wrt A) . (f . si)
by A14, A4, FINSEQ_1:def 7
;
hence
((App CE1) . s) . i = ((App CEE) . s) . i
by A20, A13;
verum end; end; end; suppose A22:
not
si in E . i
;
((App CE1) . s) . i = ((App CEE) . s) . ithen A23:
(SignGen ((f ^ <*d*>),A,(E . i))) . si =
(f ^ <*d*>) . si
by A16, Def11
.=
f . si
by A14, A4, FINSEQ_1:def 7
;
per cases
( 1 + (len f) in E . i or not 1 + (len f) in E . i )
;
suppose
1
+ (len f) in E . i
;
((App CE1) . s) . i = ((App CEE) . s) . ithen A24:
Ee . i = ((E . i) \ {(1 + (len f))}) \/ {(2 + (len f))}
by A2, A12, Def4;
not
si in (E . i) \ {(1 + (len f))}
by A22;
then
not
si in Ee . i
by A24, A15, ZFMISC_1:136;
then (SignGen (((f ^ <*d1*>) ^ <*d2*>),A,(Ee . i))) . si =
(f ^ <*d1,d2*>) . si
by A17, A18, Def11
.=
f . si
by A14, A4, FINSEQ_1:def 7
;
hence
((App CE1) . s) . i = ((App CEE) . s) . i
by A23, A13;
verum end; suppose
not 1
+ (len f) in E . i
;
((App CE1) . s) . i = ((App CEE) . s) . ithen
Ee . i = (E . i) \/ {(1 + (len f))}
by A2, A12, Def4;
then
not
si in Ee . i
by A15, A22, ZFMISC_1:136;
then (SignGen (((f ^ <*d1*>) ^ <*d2*>),A,(Ee . i))) . si =
(f ^ <*d1,d2*>) . si
by A17, A18, Def11
.=
f . si
by A14, A4, FINSEQ_1:def 7
;
hence
((App CE1) . s) . i = ((App CEE) . s) . i
by A23, A13;
verum end; end; end; end;
end;
hence
(App CE1) . s = (App CEE) . s
by A10; verum