let S1, S2 be SetSequence of X; :: thesis: ( S1 . 0 = A1 . 0 & ( for n being Nat holds S1 . (n + 1) = (S1 . n) /\ (A1 . (n + 1)) ) & S2 . 0 = A1 . 0 & ( for n being Nat holds S2 . (n + 1) = (S2 . n) /\ (A1 . (n + 1)) ) implies S1 = S2 )

assume that

A4: S1 . 0 = A1 . 0 and

A5: for n being Nat holds S1 . (n + 1) = (S1 . n) /\ (A1 . (n + 1)) and

A6: S2 . 0 = A1 . 0 and

A7: for n being Nat holds S2 . (n + 1) = (S2 . n) /\ (A1 . (n + 1)) ; :: thesis: S1 = S2

defpred S_{1}[ object ] means S1 . $1 = S2 . $1;

for n being object st n in NAT holds

S_{1}[n]

assume that

A4: S1 . 0 = A1 . 0 and

A5: for n being Nat holds S1 . (n + 1) = (S1 . n) /\ (A1 . (n + 1)) and

A6: S2 . 0 = A1 . 0 and

A7: for n being Nat holds S2 . (n + 1) = (S2 . n) /\ (A1 . (n + 1)) ; :: thesis: S1 = S2

defpred S

for n being object st n in NAT holds

S

proof

hence
S1 = S2
; :: thesis: verum
let n be object ; :: thesis: ( n in NAT implies S_{1}[n] )

assume n in NAT ; :: thesis: S_{1}[n]

then reconsider n = n as Element of NAT ;

A8: for k being Nat st S_{1}[k] holds

S_{1}[k + 1]
_{1}[ 0 ]
by A4, A6;

for k being Nat holds S_{1}[k]
from NAT_1:sch 2(A9, A8);

then S1 . n = S2 . n ;

hence S_{1}[n]
; :: thesis: verum

end;assume n in NAT ; :: thesis: S

then reconsider n = n as Element of NAT ;

A8: for k being Nat st S

S

proof

A9:
S
let k be Nat; :: thesis: ( S_{1}[k] implies S_{1}[k + 1] )

assume S1 . k = S2 . k ; :: thesis: S_{1}[k + 1]

hence S1 . (k + 1) = (S2 . k) /\ (A1 . (k + 1)) by A5

.= S2 . (k + 1) by A7 ;

:: thesis: verum

end;assume S1 . k = S2 . k ; :: thesis: S

hence S1 . (k + 1) = (S2 . k) /\ (A1 . (k + 1)) by A5

.= S2 . (k + 1) by A7 ;

:: thesis: verum

for k being Nat holds S

then S1 . n = S2 . n ;

hence S