let D be non empty set ; :: thesis: for w being non empty FinSequence of D holds (D -firstChar) . w = w . 1
let w be non empty FinSequence of D; :: thesis: (D -firstChar) . w = w . 1
consider d being Element of D, df1 being FinSequence of D such that
B1: ( d = w . 1 & w = <*d*> ^ df1 ) by FINSEQ_3:102;
set f = D -pr1 ;
set F = MultPlace (D -pr1);
per cases ( len w <= 1 or len w > 1 ) ;
suppose len w <= 1 ; :: thesis: (D -firstChar) . w = w . 1
end;
suppose C1: len w > 1 ; :: thesis: (D -firstChar) . w = w . 1
len w = (len <*d*>) + (len df1) by B1, FINSEQ_1:22
.= 1 + (len df1) by FINSEQ_1:40 ;
then len df1 <> 0 by C1;
then consider k being Nat such that
C2: len df1 = k + 1 by NAT_1:6;
reconsider df11 = df1 as Element of (k + 1) -tuples_on D by C2, FINSEQ_2:133;
reconsider df111 = df11 as Element of (D *) \ {{}} by Lm2;
(MultPlace (D -pr1)) . w = (pr1 (D,D)) . (d,((MultPlace (D -pr1)) . df111)) by B1, Lm19
.= w . 1 by B1, FUNCT_3:def 4 ;
hence (D -firstChar) . w = w . 1 ; :: thesis: verum
end;
end;