let D be non empty set ; for A being BinOp of D
for f being FinSequence of D
for F1 being finite set
for E1 being Enumeration of F1 st union F1 c= dom f holds
for g being Permutation of (dom f)
for gE1 being Enumeration of (.: g) .: F1 st gE1 = (.: g) * E1 holds
for fg being FinSequence of D st fg = f * (g ") holds
for S1 being Element of Fin (dom (App ((SignGenOp (f,A,F1)) * E1))) holds { (g * s) where s is FinSequence of NAT : s in S1 } is Element of Fin (dom (App ((SignGenOp (fg,A,((.: g) .: F1))) * gE1)))
let A be BinOp of D; for f being FinSequence of D
for F1 being finite set
for E1 being Enumeration of F1 st union F1 c= dom f holds
for g being Permutation of (dom f)
for gE1 being Enumeration of (.: g) .: F1 st gE1 = (.: g) * E1 holds
for fg being FinSequence of D st fg = f * (g ") holds
for S1 being Element of Fin (dom (App ((SignGenOp (f,A,F1)) * E1))) holds { (g * s) where s is FinSequence of NAT : s in S1 } is Element of Fin (dom (App ((SignGenOp (fg,A,((.: g) .: F1))) * gE1)))
let f be FinSequence of D; for F1 being finite set
for E1 being Enumeration of F1 st union F1 c= dom f holds
for g being Permutation of (dom f)
for gE1 being Enumeration of (.: g) .: F1 st gE1 = (.: g) * E1 holds
for fg being FinSequence of D st fg = f * (g ") holds
for S1 being Element of Fin (dom (App ((SignGenOp (f,A,F1)) * E1))) holds { (g * s) where s is FinSequence of NAT : s in S1 } is Element of Fin (dom (App ((SignGenOp (fg,A,((.: g) .: F1))) * gE1)))
let F1 be finite set ; for E1 being Enumeration of F1 st union F1 c= dom f holds
for g being Permutation of (dom f)
for gE1 being Enumeration of (.: g) .: F1 st gE1 = (.: g) * E1 holds
for fg being FinSequence of D st fg = f * (g ") holds
for S1 being Element of Fin (dom (App ((SignGenOp (f,A,F1)) * E1))) holds { (g * s) where s is FinSequence of NAT : s in S1 } is Element of Fin (dom (App ((SignGenOp (fg,A,((.: g) .: F1))) * gE1)))
let E1 be Enumeration of F1; ( union F1 c= dom f implies for g being Permutation of (dom f)
for gE1 being Enumeration of (.: g) .: F1 st gE1 = (.: g) * E1 holds
for fg being FinSequence of D st fg = f * (g ") holds
for S1 being Element of Fin (dom (App ((SignGenOp (f,A,F1)) * E1))) holds { (g * s) where s is FinSequence of NAT : s in S1 } is Element of Fin (dom (App ((SignGenOp (fg,A,((.: g) .: F1))) * gE1))) )
assume A1:
union F1 c= dom f
; for g being Permutation of (dom f)
for gE1 being Enumeration of (.: g) .: F1 st gE1 = (.: g) * E1 holds
for fg being FinSequence of D st fg = f * (g ") holds
for S1 being Element of Fin (dom (App ((SignGenOp (f,A,F1)) * E1))) holds { (g * s) where s is FinSequence of NAT : s in S1 } is Element of Fin (dom (App ((SignGenOp (fg,A,((.: g) .: F1))) * gE1)))
let g be Permutation of (dom f); for gE1 being Enumeration of (.: g) .: F1 st gE1 = (.: g) * E1 holds
for fg being FinSequence of D st fg = f * (g ") holds
for S1 being Element of Fin (dom (App ((SignGenOp (f,A,F1)) * E1))) holds { (g * s) where s is FinSequence of NAT : s in S1 } is Element of Fin (dom (App ((SignGenOp (fg,A,((.: g) .: F1))) * gE1)))
let gE1 be Enumeration of (.: g) .: F1; ( gE1 = (.: g) * E1 implies for fg being FinSequence of D st fg = f * (g ") holds
for S1 being Element of Fin (dom (App ((SignGenOp (f,A,F1)) * E1))) holds { (g * s) where s is FinSequence of NAT : s in S1 } is Element of Fin (dom (App ((SignGenOp (fg,A,((.: g) .: F1))) * gE1))) )
assume A2:
gE1 = (.: g) * E1
; for fg being FinSequence of D st fg = f * (g ") holds
for S1 being Element of Fin (dom (App ((SignGenOp (f,A,F1)) * E1))) holds { (g * s) where s is FinSequence of NAT : s in S1 } is Element of Fin (dom (App ((SignGenOp (fg,A,((.: g) .: F1))) * gE1)))
let fg be FinSequence of D; ( fg = f * (g ") implies for S1 being Element of Fin (dom (App ((SignGenOp (f,A,F1)) * E1))) holds { (g * s) where s is FinSequence of NAT : s in S1 } is Element of Fin (dom (App ((SignGenOp (fg,A,((.: g) .: F1))) * gE1))) )
assume A3:
fg = f * (g ")
; for S1 being Element of Fin (dom (App ((SignGenOp (f,A,F1)) * E1))) holds { (g * s) where s is FinSequence of NAT : s in S1 } is Element of Fin (dom (App ((SignGenOp (fg,A,((.: g) .: F1))) * gE1)))
let S1 be Element of Fin (dom (App ((SignGenOp (f,A,F1)) * E1))); { (g * s) where s is FinSequence of NAT : s in S1 } is Element of Fin (dom (App ((SignGenOp (fg,A,((.: g) .: F1))) * gE1)))
A4:
union F1 c= dom g
by A1, FUNCT_2:52;
A5:
g | (union F1) is one-to-one
by FUNCT_1:52;
( dom (g ") = dom f & dom f = rng (g ") )
by FUNCT_2:52, FUNCT_2:def 3;
then A6:
dom (f * (g ")) = dom f
by RELAT_1:27;
A7:
g .: (dom f) c= dom fg
by A6, A3;
{ (g * s) where s is FinSequence of NAT : s in S1 } c= dom (App ((SignGenOp (fg,A,((.: g) .: F1))) * gE1))
proof
let y be
object ;
TARSKI:def 3 ( not y in { (g * s) where s is FinSequence of NAT : s in S1 } or y in dom (App ((SignGenOp (fg,A,((.: g) .: F1))) * gE1)) )
assume A8:
y in { (g * s) where s is FinSequence of NAT : s in S1 }
;
y in dom (App ((SignGenOp (fg,A,((.: g) .: F1))) * gE1))
consider s being
FinSequence of
NAT such that A9:
(
y = g * s &
s in S1 )
by A8;
S1 c= dom (App ((SignGenOp (f,A,F1)) * E1))
by FINSUB_1:def 5;
then A10:
s in dom (App ((SignGenOp (f,A,F1)) * E1))
by A9;
rng s c= dom g
proof
let y be
object ;
TARSKI:def 3 ( not y in rng s or y in dom g )
assume A11:
y in rng s
;
y in dom g
consider x being
object such that A12:
(
x in dom s &
s . x = y )
by A11, FUNCT_1:def 3;
reconsider x =
x as
Nat by A12;
A13:
s . x in dom (((SignGenOp (f,A,F1)) * E1) . x)
by A12, A10, Th47;
((SignGenOp (f,A,F1)) * E1) . x <> {}
by A12, A10, Th47;
then
x in dom ((SignGenOp (f,A,F1)) * E1)
by FUNCT_1:def 2;
then
((SignGenOp (f,A,F1)) * E1) . x = SignGen (
f,
A,
(E1 . x))
by Th80;
then
dom (((SignGenOp (f,A,F1)) * E1) . x) = dom f
by Def11;
hence
y in dom g
by FUNCT_2:52, A13, A12;
verum
end;
then
g * s in doms ((SignGenOp (fg,A,((.: g) .: F1))) * gE1)
by Th98, A2, A4, A7, A5, A10;
hence
y in dom (App ((SignGenOp (fg,A,((.: g) .: F1))) * gE1))
by A9, Def9;
verum
end;
hence
{ (g * s) where s is FinSequence of NAT : s in S1 } is Element of Fin (dom (App ((SignGenOp (fg,A,((.: g) .: F1))) * gE1)))
by FINSUB_1:def 5; verum