defpred S1[ object ] means ex a being FinSequence of F1() st
( P1[a] & $1 = a );
consider X being set such that
A2: for x being object holds
( x in X iff ( x in F1() * & S1[x] ) ) from XBOOLE_0:sch 1();
A3: for a, b being FinSequence of F1() st a in X & b in X holds
len a = len b
proof
let a, b be FinSequence of F1(); :: thesis: ( a in X & b in X implies len a = len b )
assume that
A4: a in X and
A5: b in X ; :: thesis: len a = len b
A6: ex d being FinSequence of F1() st
( P1[d] & b = d ) by A2, A5;
ex c being FinSequence of F1() st
( P1[c] & a = c ) by A2, A4;
hence len a = len b by A1, A6; :: thesis: verum
end;
for x being object st x in X holds
x in F1() * by A2;
then X c= F1() * ;
then reconsider r = X as Element of relations_on F1() by A3, Def7;
for a being FinSequence of F1() holds
( a in r iff P1[a] )
proof
let a be FinSequence of F1(); :: thesis: ( a in r iff P1[a] )
A7: now :: thesis: ( P1[a] implies a in r )end;
now :: thesis: ( a in r implies P1[a] )
assume a in r ; :: thesis: P1[a]
then ex c being FinSequence of F1() st
( P1[c] & a = c ) by A2;
hence P1[a] ; :: thesis: verum
end;
hence ( a in r iff P1[a] ) by A7; :: thesis: verum
end;
hence ex r being Element of relations_on F1() st
for a being FinSequence of F1() holds
( a in r iff P1[a] ) ; :: thesis: verum