Article FINSEQ_4, MML version 4.99.1005

:: FINSEQ_4:prednot 1 => FINSEQ_4:pred 1
definition
  let a1 be Relation-like Function-like set;
  let a2 be set;
  pred A1 is_one-to-one_at A2 means
    a1 " Im(a1,a2) = {a2};
end;

:: FINSEQ_4:dfs 1
definiens
  let a1 be Relation-like Function-like set;
  let a2 be set;
To prove
     a1 is_one-to-one_at a2
it is sufficient to prove
  thus a1 " Im(a1,a2) = {a2};

:: FINSEQ_4:def 1
theorem
for b1 being Relation-like Function-like set
for b2 being set holds
      b1 is_one-to-one_at b2
   iff
      b1 " Im(b1,b2) = {b2};

:: FINSEQ_4:th 2
theorem
for b1 being Relation-like Function-like set
for b2 being set
      st b1 is_one-to-one_at b2
   holds b2 in proj1 b1;

:: FINSEQ_4:th 3
theorem
for b1 being Relation-like Function-like set
for b2 being set holds
      b1 is_one-to-one_at b2
   iff
      b2 in proj1 b1 &
       b1 " {b1 . b2} = {b2};

:: FINSEQ_4:th 4
theorem
for b1 being Relation-like Function-like set
for b2 being set holds
      b1 is_one-to-one_at b2
   iff
      b2 in proj1 b1 &
       (for b3 being set
             st b3 in proj1 b1 & b2 <> b3
          holds b1 . b2 <> b1 . b3);

:: FINSEQ_4:th 5
theorem
for b1 being Relation-like Function-like set holds
      for b2 being set
            st b2 in proj1 b1
         holds b1 is_one-to-one_at b2
   iff
      b1 is one-to-one;

:: FINSEQ_4:prednot 2 => FINSEQ_4:pred 2
definition
  let a1 be Relation-like Function-like set;
  let a2 be set;
  pred A1 just_once_values A2 means
    ex b1 being finite set st
       b1 = a1 " {a2} & card b1 = 1;
end;

:: FINSEQ_4:dfs 2
definiens
  let a1 be Relation-like Function-like set;
  let a2 be set;
To prove
     a1 just_once_values a2
it is sufficient to prove
  thus ex b1 being finite set st
       b1 = a1 " {a2} & card b1 = 1;

:: FINSEQ_4:def 2
theorem
for b1 being Relation-like Function-like set
for b2 being set holds
      b1 just_once_values b2
   iff
      ex b3 being finite set st
         b3 = b1 " {b2} & card b3 = 1;

:: FINSEQ_4:th 7
theorem
for b1 being Relation-like Function-like set
for b2 being set
      st b1 just_once_values b2
   holds b2 in proj2 b1;

:: FINSEQ_4:th 8
theorem
for b1 being Relation-like Function-like set
for b2 being set holds
      b1 just_once_values b2
   iff
      ex b3 being set st
         {b3} = b1 " {b2};

:: FINSEQ_4:th 9
theorem
for b1 being Relation-like Function-like set
for b2 being set holds
      b1 just_once_values b2
   iff
      ex b3 being set st
         b3 in proj1 b1 &
          b2 = b1 . b3 &
          (for b4 being set
                st b4 in proj1 b1 & b4 <> b3
             holds b1 . b4 <> b2);

:: FINSEQ_4:th 10
theorem
for b1 being Relation-like Function-like set holds
      b1 is one-to-one
   iff
      for b2 being set
            st b2 in proj2 b1
         holds b1 just_once_values b2;

:: FINSEQ_4:th 11
theorem
for b1 being Relation-like Function-like set
for b2 being set holds
      b1 is_one-to-one_at b2
   iff
      b2 in proj1 b1 & b1 just_once_values b1 . b2;

:: FINSEQ_4:funcnot 1 => FINSEQ_4:func 1
definition
  let a1 be Relation-like Function-like set;
  let a2 be set;
  assume a1 just_once_values a2;
  func A1 <- A2 -> set means
    it in proj1 a1 & a1 . it = a2;
end;

:: FINSEQ_4:def 3
theorem
for b1 being Relation-like Function-like set
for b2 being set
   st b1 just_once_values b2
for b3 being set holds
      b3 = b1 <- b2
   iff
      b3 in proj1 b1 & b1 . b3 = b2;

:: FINSEQ_4:th 16
theorem
for b1 being Relation-like Function-like set
for b2 being set
      st b1 just_once_values b2
   holds Im(b1,b1 <- b2) = {b2};

:: FINSEQ_4:th 17
theorem
for b1 being Relation-like Function-like set
for b2 being set
      st b1 just_once_values b2
   holds b1 " {b2} = {b1 <- b2};

:: FINSEQ_4:th 18
theorem
for b1 being Relation-like Function-like set
for b2 being set
      st b1 is one-to-one & b2 in proj2 b1
   holds b1 " . b2 = b1 <- b2;

:: FINSEQ_4:th 20
theorem
for b1 being Relation-like Function-like set
for b2 being set
      st b1 is_one-to-one_at b2
   holds b1 <- (b1 . b2) = b2;

:: FINSEQ_4:th 21
theorem
for b1 being Relation-like Function-like set
for b2 being set
      st b1 just_once_values b2
   holds b1 is_one-to-one_at b1 <- b2;

:: FINSEQ_4:funcnot 2 => FINSEQ_4:func 2
definition
  let a1 be non empty set;
  let a2, a3 be Element of a1;
  redefine func <*a2, a3*> -> FinSequence of a1;
end;

:: FINSEQ_4:funcnot 3 => FINSEQ_4:func 3
definition
  let a1 be non empty set;
  let a2, a3, a4 be Element of a1;
  redefine func <*a2, a3, a4*> -> FinSequence of a1;
end;

:: FINSEQ_4:th 24
theorem
for b1 being natural set
for b2 being set
for b3 being FinSequence of b2
      st 1 <= b1 & b1 <= len b3
   holds b3 /. b1 = b3 . b1;

:: FINSEQ_4:th 25
theorem
for b1 being non empty set
for b2 being Element of b1 holds
   <*b2*> /. 1 = b2;

:: FINSEQ_4:th 26
theorem
for b1 being non empty set
for b2, b3 being Element of b1 holds
<*b2,b3*> /. 1 = b2 & <*b2,b3*> /. 2 = b3;

:: FINSEQ_4:th 27
theorem
for b1 being non empty set
for b2, b3, b4 being Element of b1 holds
<*b2,b3,b4*> /. 1 = b2 & <*b2,b3,b4*> /. 2 = b3 & <*b2,b3,b4*> /. 3 = b4;

:: FINSEQ_4:funcnot 4 => FINSEQ_4:func 4
definition
  let a1 be Relation-like Function-like FinSequence-like set;
  let a2 be set;
  func A2 .. A1 -> Element of NAT equals
    (Sgm (a1 " {a2})) . 1;
end;

:: FINSEQ_4:def 5
theorem
for b1 being Relation-like Function-like FinSequence-like set
for b2 being set holds
   b2 .. b1 = (Sgm (b1 " {b2})) . 1;

:: FINSEQ_4:th 29
theorem
for b1 being Relation-like Function-like FinSequence-like set
for b2 being set
      st b2 in proj2 b1
   holds b1 . (b2 .. b1) = b2;

:: FINSEQ_4:th 30
theorem
for b1 being Relation-like Function-like FinSequence-like set
for b2 being set
      st b2 in proj2 b1
   holds b2 .. b1 in dom b1;

:: FINSEQ_4:th 31
theorem
for b1 being Relation-like Function-like FinSequence-like set
for b2 being set
      st b2 in proj2 b1
   holds 1 <= b2 .. b1 & b2 .. b1 <= len b1;

:: FINSEQ_4:th 32
theorem
for b1 being Relation-like Function-like FinSequence-like set
for b2 being set
      st b2 in proj2 b1
   holds (b2 .. b1) - 1 is Element of NAT & (len b1) - (b2 .. b1) is Element of NAT;

:: FINSEQ_4:th 33
theorem
for b1 being Relation-like Function-like FinSequence-like set
for b2 being set
      st b2 in proj2 b1
   holds b2 .. b1 in b1 " {b2};

:: FINSEQ_4:th 34
theorem
for b1 being Relation-like Function-like FinSequence-like set
for b2 being set
for b3 being Element of NAT
      st b3 in dom b1 & b3 < b2 .. b1
   holds b1 . b3 <> b2;

:: FINSEQ_4:th 35
theorem
for b1 being Relation-like Function-like FinSequence-like set
for b2 being set
      st b1 just_once_values b2
   holds b1 <- b2 = b2 .. b1;

:: FINSEQ_4:th 36
theorem
for b1 being Relation-like Function-like FinSequence-like set
for b2 being set
   st b1 just_once_values b2
for b3 being Element of NAT
      st b3 in dom b1 & b3 <> b2 .. b1
   holds b1 . b3 <> b2;

:: FINSEQ_4:th 37
theorem
for b1 being Relation-like Function-like FinSequence-like set
for b2 being set
      st b2 in proj2 b1 &
         (for b3 being Element of NAT
               st b3 in dom b1 & b3 <> b2 .. b1
            holds b1 . b3 <> b2)
   holds b1 just_once_values b2;

:: FINSEQ_4:th 38
theorem
for b1 being Relation-like Function-like FinSequence-like set
for b2 being set holds
      b1 just_once_values b2
   iff
      b2 in proj2 b1 &
       {b2 .. b1} = b1 " {b2};

:: FINSEQ_4:th 39
theorem
for b1 being Relation-like Function-like FinSequence-like set
for b2 being set
      st b1 is one-to-one & b2 in proj2 b1
   holds {b2 .. b1} = b1 " {b2};

:: FINSEQ_4:th 40
theorem
for b1 being Relation-like Function-like FinSequence-like set
for b2 being set holds
      b1 just_once_values b2
   iff
      len (b1 - {b2}) = (len b1) - 1;

:: FINSEQ_4:th 41
theorem
for b1 being Relation-like Function-like FinSequence-like set
for b2 being set
   st b1 just_once_values b2
for b3 being Element of NAT
      st b3 in dom (b1 - {b2})
   holds (b2 .. b1 <= b3 or (b1 - {b2}) . b3 = b1 . b3) &
    (b2 .. b1 <= b3 implies (b1 - {b2}) . b3 = b1 . (b3 + 1));

:: FINSEQ_4:th 42
theorem
for b1 being Relation-like Function-like FinSequence-like set
for b2 being set
   st b1 is one-to-one & b2 in proj2 b1
for b3 being Element of NAT
      st b3 in dom (b1 - {b2})
   holds ((b1 - {b2}) . b3 = b1 . b3 implies b3 < b2 .. b1) &
    (b2 .. b1 <= b3 or (b1 - {b2}) . b3 = b1 . b3) &
    ((b1 - {b2}) . b3 = b1 . (b3 + 1) implies b2 .. b1 <= b3) &
    (b2 .. b1 <= b3 implies (b1 - {b2}) . b3 = b1 . (b3 + 1));

:: FINSEQ_4:funcnot 5 => FINSEQ_4:func 5
definition
  let a1 be Relation-like Function-like FinSequence-like set;
  let a2 be set;
  assume a2 in proj2 a1;
  func A1 -| A2 -> Relation-like Function-like FinSequence-like set means
    ex b1 being Element of NAT st
       b1 = (a2 .. a1) - 1 & it = a1 | Seg b1;
end;

:: FINSEQ_4:def 6
theorem
for b1 being Relation-like Function-like FinSequence-like set
for b2 being set
   st b2 in proj2 b1
for b3 being Relation-like Function-like FinSequence-like set holds
      b3 = b1 -| b2
   iff
      ex b4 being Element of NAT st
         b4 = (b2 .. b1) - 1 & b3 = b1 | Seg b4;

:: FINSEQ_4:th 45
theorem
for b1 being Relation-like Function-like FinSequence-like set
for b2 being set
for b3 being Element of NAT
      st b2 in proj2 b1 & b3 = (b2 .. b1) - 1
   holds b1 | Seg b3 = b1 -| b2;

:: FINSEQ_4:th 46
theorem
for b1 being Relation-like Function-like FinSequence-like set
for b2 being set
      st b2 in proj2 b1
   holds len (b1 -| b2) = (b2 .. b1) - 1;

:: FINSEQ_4:th 47
theorem
for b1 being Relation-like Function-like FinSequence-like set
for b2 being set
for b3 being Element of NAT
      st b2 in proj2 b1 & b3 = (b2 .. b1) - 1
   holds dom (b1 -| b2) = Seg b3;

:: FINSEQ_4:th 48
theorem
for b1 being Relation-like Function-like FinSequence-like set
for b2 being set
for b3 being Element of NAT
      st b2 in proj2 b1 & b3 in dom (b1 -| b2)
   holds b1 . b3 = (b1 -| b2) . b3;

:: FINSEQ_4:th 49
theorem
for b1 being Relation-like Function-like FinSequence-like set
for b2 being set
      st b2 in proj2 b1
   holds not b2 in proj2 (b1 -| b2);

:: FINSEQ_4:th 50
theorem
for b1 being Relation-like Function-like FinSequence-like set
for b2 being set
      st b2 in proj2 b1
   holds proj2 (b1 -| b2) misses {b2};

:: FINSEQ_4:th 51
theorem
for b1 being Relation-like Function-like FinSequence-like set
for b2 being set
      st b2 in proj2 b1
   holds proj2 (b1 -| b2) c= proj2 b1;

:: FINSEQ_4:th 52
theorem
for b1 being Relation-like Function-like FinSequence-like set
for b2 being set
      st b2 in proj2 b1
   holds    b2 .. b1 = 1
   iff
      b1 -| b2 = {};

:: FINSEQ_4:th 53
theorem
for b1 being Relation-like Function-like FinSequence-like set
for b2 being set
for b3 being non empty set
      st b2 in proj2 b1 & b1 is FinSequence of b3
   holds b1 -| b2 is FinSequence of b3;

:: FINSEQ_4:funcnot 6 => FINSEQ_4:func 6
definition
  let a1 be Relation-like Function-like FinSequence-like set;
  let a2 be set;
  assume a2 in proj2 a1;
  func A1 |-- A2 -> Relation-like Function-like FinSequence-like set means
    len it = (len a1) - (a2 .. a1) &
     (for b1 being Element of NAT
           st b1 in dom it
        holds it . b1 = a1 . (b1 + (a2 .. a1)));
end;

:: FINSEQ_4:def 7
theorem
for b1 being Relation-like Function-like FinSequence-like set
for b2 being set
   st b2 in proj2 b1
for b3 being Relation-like Function-like FinSequence-like set holds
      b3 = b1 |-- b2
   iff
      len b3 = (len b1) - (b2 .. b1) &
       (for b4 being Element of NAT
             st b4 in dom b3
          holds b3 . b4 = b1 . (b4 + (b2 .. b1)));

:: FINSEQ_4:th 57
theorem
for b1 being Relation-like Function-like FinSequence-like set
for b2 being set
for b3 being Element of NAT
      st b2 in proj2 b1 & b3 = (len b1) - (b2 .. b1)
   holds dom (b1 |-- b2) = Seg b3;

:: FINSEQ_4:th 58
theorem
for b1 being Relation-like Function-like FinSequence-like set
for b2 being set
for b3 being Element of NAT
      st b2 in proj2 b1 & b3 in dom (b1 |-- b2)
   holds b3 + (b2 .. b1) in dom b1;

:: FINSEQ_4:th 59
theorem
for b1 being Relation-like Function-like FinSequence-like set
for b2 being set
      st b2 in proj2 b1
   holds proj2 (b1 |-- b2) c= proj2 b1;

:: FINSEQ_4:th 60
theorem
for b1 being Relation-like Function-like FinSequence-like set
for b2 being set holds
      b1 just_once_values b2
   iff
      b2 in proj2 b1 & not b2 in proj2 (b1 |-- b2);

:: FINSEQ_4:th 61
theorem
for b1 being Relation-like Function-like FinSequence-like set
for b2 being set
      st b2 in proj2 b1 & b1 is one-to-one
   holds not b2 in proj2 (b1 |-- b2);

:: FINSEQ_4:th 62
theorem
for b1 being Relation-like Function-like FinSequence-like set
for b2 being set holds
      b1 just_once_values b2
   iff
      b2 in proj2 b1 & proj2 (b1 |-- b2) misses {b2};

:: FINSEQ_4:th 63
theorem
for b1 being Relation-like Function-like FinSequence-like set
for b2 being set
      st b2 in proj2 b1 & b1 is one-to-one
   holds proj2 (b1 |-- b2) misses {b2};

:: FINSEQ_4:th 64
theorem
for b1 being Relation-like Function-like FinSequence-like set
for b2 being set
      st b2 in proj2 b1
   holds    b2 .. b1 = len b1
   iff
      b1 |-- b2 = {};

:: FINSEQ_4:th 65
theorem
for b1 being Relation-like Function-like FinSequence-like set
for b2 being set
for b3 being non empty set
      st b2 in proj2 b1 & b1 is FinSequence of b3
   holds b1 |-- b2 is FinSequence of b3;

:: FINSEQ_4:th 66
theorem
for b1 being Relation-like Function-like FinSequence-like set
for b2 being set
      st b2 in proj2 b1
   holds b1 = ((b1 -| b2) ^ <*b2*>) ^ (b1 |-- b2);

:: FINSEQ_4:th 67
theorem
for b1 being Relation-like Function-like FinSequence-like set
for b2 being set
      st b2 in proj2 b1 & b1 is one-to-one
   holds b1 -| b2 is one-to-one;

:: FINSEQ_4:th 68
theorem
for b1 being Relation-like Function-like FinSequence-like set
for b2 being set
      st b2 in proj2 b1 & b1 is one-to-one
   holds b1 |-- b2 is one-to-one;

:: FINSEQ_4:th 69
theorem
for b1 being Relation-like Function-like FinSequence-like set
for b2 being set holds
      b1 just_once_values b2
   iff
      b2 in proj2 b1 &
       b1 - {b2} = (b1 -| b2) ^ (b1 |-- b2);

:: FINSEQ_4:th 70
theorem
for b1 being Relation-like Function-like FinSequence-like set
for b2 being set
      st b2 in proj2 b1 & b1 is one-to-one
   holds b1 - {b2} = (b1 -| b2) ^ (b1 |-- b2);

:: FINSEQ_4:th 71
theorem
for b1 being Relation-like Function-like FinSequence-like set
for b2 being set
      st b2 in proj2 b1 &
         b1 - {b2} is one-to-one &
         b1 - {b2} = (b1 -| b2) ^ (b1 |-- b2)
   holds b1 is one-to-one;

:: FINSEQ_4:th 72
theorem
for b1 being Relation-like Function-like FinSequence-like set
for b2 being set
      st b2 in proj2 b1 & b1 is one-to-one
   holds proj2 (b1 -| b2) misses proj2 (b1 |-- b2);

:: FINSEQ_4:th 73
theorem
for b1 being set
      st b1 is finite
   holds ex b2 being Relation-like Function-like FinSequence-like set st
      proj2 b2 = b1 & b2 is one-to-one;

:: FINSEQ_4:th 74
theorem
for b1 being Relation-like Function-like FinSequence-like set
      st proj2 b1 c= dom b1 & b1 is one-to-one
   holds proj2 b1 = dom b1;

:: FINSEQ_4:th 75
theorem
for b1 being Relation-like Function-like FinSequence-like set
      st proj2 b1 = dom b1
   holds b1 is one-to-one;

:: FINSEQ_4:th 76
theorem
for b1, b2 being Relation-like Function-like FinSequence-like set
      st proj2 b1 = proj2 b2 & len b1 = len b2 & b2 is one-to-one
   holds b1 is one-to-one;

:: FINSEQ_4:th 77
theorem
for b1 being Relation-like Function-like FinSequence-like set holds
      b1 is one-to-one
   iff
      card proj2 b1 = len b1;

:: FINSEQ_4:th 78
theorem
for b1, b2 being finite set
for b3 being Function-like quasi_total Relation of b1,b2
      st card b1 = card b2 & b3 is one-to-one
   holds proj2 b3 = b2;

:: FINSEQ_4:th 79
theorem
for b1, b2 being finite set
for b3 being Function-like quasi_total Relation of b1,b2
      st card b1 = card b2 & proj2 b3 = b2
   holds b3 is one-to-one;

:: FINSEQ_4:th 80
theorem
for b1, b2 being set
for b3 being Function-like quasi_total Relation of b2,b1
      st Card b1 in Card b2 & b1 <> {}
   holds ex b4, b5 being set st
      b4 in b2 & b5 in b2 & b4 <> b5 & b3 . b4 = b3 . b5;

:: FINSEQ_4:th 81
theorem
for b1, b2 being set
for b3 being Function-like quasi_total Relation of b1,b2
      st Card b1 in Card b2
   holds ex b4 being set st
      b4 in b2 &
       (for b5 being set
             st b5 in b1
          holds b3 . b5 <> b4);

:: FINSEQ_4:th 82
theorem
for b1 being non empty set
for b2 being FinSequence of b1
for b3 being Element of b1 holds
   (b2 ^ <*b3*>) /. ((len b2) + 1) = b3;

:: FINSEQ_4:th 83
theorem
for b1 being Element of NAT
for b2 being non empty set
for b3, b4 being FinSequence of b2
      st b1 in dom b3
   holds (b3 ^ b4) /. b1 = b3 /. b1;

:: FINSEQ_4:th 84
theorem
for b1 being Element of NAT
for b2 being non empty set
for b3, b4 being FinSequence of b2
      st b1 in dom b4
   holds (b3 ^ b4) /. ((len b3) + b1) = b4 /. b1;

:: FINSEQ_4:th 85
theorem
for b1 being Element of NAT
for b2 being natural set
for b3 being set
for b4 being FinSequence of b3
      st b2 in dom (b4 | b1)
   holds (b4 | b1) /. b2 = b4 /. b2;

:: FINSEQ_4:th 86
theorem
for b1 being set
for b2 being FinSequence of b1
for b3, b4 being Element of NAT
      st b3 in dom b2 & b4 in Seg b3
   holds b4 in dom b2 & (b2 | b3) /. b4 = b2 /. b4;

:: FINSEQ_4:th 87
theorem
for b1 being Element of NAT
for b2 being finite set
      st b1 <= card b2
   holds ex b3 being finite Element of bool b2 st
      Card b3 = b1;

:: FINSEQ_4:th 88
theorem
for b1 being set
for b2 being Relation-like Function-like set
      st b2 is one-to-one & b1 in proj2 b2
   holds Card (b2 " {b1}) = 1;

:: FINSEQ_4:funcnot 7 => FINSEQ_4:func 7
definition
  let a1, a2, a3, a4 be set;
  func <*A1,A2,A3,A4*> -> set equals
    <*a1,a2,a3*> ^ <*a4*>;
end;

:: FINSEQ_4:def 8
theorem
for b1, b2, b3, b4 being set holds
<*b1,b2,b3,b4*> = <*b1,b2,b3*> ^ <*b4*>;

:: FINSEQ_4:funcnot 8 => FINSEQ_4:func 8
definition
  let a1, a2, a3, a4, a5 be set;
  func <*A1,A2,A3,A4,A5*> -> set equals
    <*a1,a2,a3*> ^ <*a4,a5*>;
end;

:: FINSEQ_4:def 9
theorem
for b1, b2, b3, b4, b5 being set holds
<*b1,b2,b3,b4,b5*> = <*b1,b2,b3*> ^ <*b4,b5*>;

:: FINSEQ_4:funcreg 1
registration
  let a1, a2, a3, a4 be set;
  cluster <*a1,a2,a3,a4*> -> Relation-like Function-like;
end;

:: FINSEQ_4:funcreg 2
registration
  let a1, a2, a3, a4, a5 be set;
  cluster <*a1,a2,a3,a4,a5*> -> Relation-like Function-like;
end;

:: FINSEQ_4:funcreg 3
registration
  let a1, a2, a3, a4 be set;
  cluster <*a1,a2,a3,a4*> -> FinSequence-like;
end;

:: FINSEQ_4:funcreg 4
registration
  let a1, a2, a3, a4, a5 be set;
  cluster <*a1,a2,a3,a4,a5*> -> FinSequence-like;
end;

:: FINSEQ_4:funcnot 9 => FINSEQ_4:func 9
definition
  let a1 be non empty set;
  let a2, a3, a4, a5 be Element of a1;
  redefine func <*a2, a3, a4, a5*> -> FinSequence of a1;
end;

:: FINSEQ_4:funcnot 10 => FINSEQ_4:func 10
definition
  let a1 be non empty set;
  let a2, a3, a4, a5, a6 be Element of a1;
  redefine func <*a2, a3, a4, a5, a6*> -> FinSequence of a1;
end;

:: FINSEQ_4:th 89
theorem
for b1, b2, b3, b4 being set holds
<*b1,b2,b3,b4*> = <*b1,b2,b3*> ^ <*b4*> &
 <*b1,b2,b3,b4*> = <*b1,b2*> ^ <*b3,b4*> &
 <*b1,b2,b3,b4*> = <*b1*> ^ <*b2,b3,b4*> &
 <*b1,b2,b3,b4*> = ((<*b1*> ^ <*b2*>) ^ <*b3*>) ^ <*b4*>;

:: FINSEQ_4:th 90
theorem
for b1, b2, b3, b4, b5 being set holds
<*b1,b2,b3,b4,b5*> = <*b1,b2,b3*> ^ <*b4,b5*> &
 <*b1,b2,b3,b4,b5*> = <*b1,b2,b3,b4*> ^ <*b5*> &
 <*b1,b2,b3,b4,b5*> = (((<*b1*> ^ <*b2*>) ^ <*b3*>) ^ <*b4*>) ^ <*b5*> &
 <*b1,b2,b3,b4,b5*> = <*b1,b2*> ^ <*b3,b4,b5*> &
 <*b1,b2,b3,b4,b5*> = <*b1*> ^ <*b2,b3,b4,b5*>;

:: FINSEQ_4:th 91
theorem
for b1, b2, b3, b4 being set
for b5 being Relation-like Function-like FinSequence-like set holds
      b5 = <*b1,b2,b3,b4*>
   iff
      len b5 = 4 & b5 . 1 = b1 & b5 . 2 = b2 & b5 . 3 = b3 & b5 . 4 = b4;

:: FINSEQ_4:th 92
theorem
for b1, b2, b3, b4 being set holds
dom <*b1,b2,b3,b4*> = Seg 4;

:: FINSEQ_4:th 93
theorem
for b1, b2, b3, b4, b5 being set
for b6 being Relation-like Function-like FinSequence-like set holds
      b6 = <*b1,b2,b3,b4,b5*>
   iff
      len b6 = 5 & b6 . 1 = b1 & b6 . 2 = b2 & b6 . 3 = b3 & b6 . 4 = b4 & b6 . 5 = b5;

:: FINSEQ_4:th 94
theorem
for b1, b2, b3, b4, b5 being set holds
dom <*b1,b2,b3,b4,b5*> = Seg 5;

:: FINSEQ_4:th 95
theorem
for b1 being non empty set
for b2, b3, b4, b5 being Element of b1 holds
<*b2,b3,b4,b5*> /. 1 = b2 & <*b2,b3,b4,b5*> /. 2 = b3 & <*b2,b3,b4,b5*> /. 3 = b4 & <*b2,b3,b4,b5*> /. 4 = b5;

:: FINSEQ_4:th 96
theorem
for b1 being non empty set
for b2, b3, b4, b5, b6 being Element of b1 holds
<*b2,b3,b4,b5,b6*> /. 1 = b2 &
 <*b2,b3,b4,b5,b6*> /. 2 = b3 &
 <*b2,b3,b4,b5,b6*> /. 3 = b4 &
 <*b2,b3,b4,b5,b6*> /. 4 = b5 &
 <*b2,b3,b4,b5,b6*> /. 5 = b6;

:: FINSEQ_4:sch 1
scheme FINSEQ_4:sch 1
{F1 -> non empty set,
  F2 -> Element of NAT}:
ex b1 being FinSequence of F1() st
   len b1 = F2() &
    (for b2 being Element of NAT
          st b2 in Seg F2()
       holds P1[b2, b1 /. b2])
provided
   for b1 being Element of NAT
         st b1 in Seg F2()
      holds ex b2 being Element of F1() st
         P1[b1, b2];


:: FINSEQ_4:th 97
theorem
for b1 being non empty set
for b2, b3 being FinSequence of b1
      st b2 c= b3
   holds ex b4 being FinSequence of b1 st
      b2 ^ b4 = b3;

:: FINSEQ_4:th 98
theorem
for b1 being non empty set
for b2, b3 being FinSequence of b1
for b4 being Element of NAT
      st b2 c= b3 & 1 <= b4 & b4 <= len b2
   holds b3 . b4 = b2 . b4;