
theorem NF100:
  for f being FinSequence of NAT, j, b being Nat holds
  b = j implies (f ^ <* b *>) " {j} = f " {j} \/ {len f + 1}
  proof
    let f be FinSequence of NAT, j, b be Nat;

    assume A130: b = j;

    for z being object holds
    ( z in ((f ^ <* b *>) " {j}) iff z in (f " {j} \/ {len f + 1}))
    proof
      let z be object;

      hereby
        assume A200: z in ((f ^ <* b *>) " {j});
        then ( z in dom (f ^ <* b *>) & (f ^ <* b *>) . z in {j} )
        by FUNCT_1:def 7;
        then per cases by FINSEQ_1:25;
        suppose B00: z in dom f;
          then (f ^ <* b *>) . z = f . z by FINSEQ_1:def 7;
          then f . z in {j} by A200,FUNCT_1:def 7;
          then z in f " {j} by B00,FUNCT_1:def 7;
          hence z in (f " {j} \/ {len f + 1}) by XBOOLE_0:def 3;
        end;
        suppose ex n being Nat st n in dom <* b *> & z = (len f) + n;
          then consider n1 being Nat such that
          B60: n1 in dom <* b *> & z = (len f) + n1;

          n1 = 1 by B60,FINSEQ_1:90;
          then z in {len f + 1} by B60,TARSKI:def 1;
          hence z in (f " {j} \/ {len f + 1}) by XBOOLE_0:def 3;
        end;
      end;

      assume z in (f " {j} \/ {len f + 1});
      then z in f " {j} or z in {len f + 1} by XBOOLE_0:def 3;
      then per cases by FUNCT_1:def 7;
      suppose B00: ( z in dom f & f . z in {j} );
        A319: dom f c= dom (f ^ <* b *>) by FINSEQ_1:26;

        (f ^ <* b *>) . z in {j} by B00,FINSEQ_1:def 7;
        hence ( z in ((f ^ <* b *>) " {j})) by A319,B00,FUNCT_1:def 7;
      end;
      suppose z in {len f + 1};
        then B60: z = len f + 1 by TARSKI:def 1;

        dom <* b *> = {1} by FINSEQ_1:def 8,FINSEQ_1:2;
        then 1 in dom <* b *> by TARSKI:def 1;
        then B69: len f + 1 in dom (f ^ <* b *>) by FINSEQ_1:28;

        (f ^ <* b *>) . z = j by B60,FINSEQ_1:42,A130;
        then (f ^ <* b *>) . z in {j} by ZFMISC_1:31;
        hence thesis by B69,B60,FUNCT_1:def 7;
      end;
    end;
    hence thesis by TARSKI:2;
  end;
