reserve m, n, i, k for Nat;
reserve IAlph, OAlph for non empty set,
  fsm for non empty FSM over IAlph,
  s for Element of IAlph,
  w, w1, w2 for FinSequence of IAlph,
  q, q9, q1, q2 for State of fsm;
reserve tfsm, tfsm1, tfsm2, tfsm3 for non empty Mealy-FSM over IAlph, OAlph,
  sfsm for non empty Moore-FSM over IAlph, OAlph,
  qs for State of sfsm,
  q, q1, q2 , q3, qa, qb, qc, qa9, qt, q1t, q2t for State of tfsm,
  q11, q12 for State of tfsm1,
  q21, q22 for State of tfsm2;
reserve OAlphf for finite non empty set,
  tfsmf for finite non empty Mealy-FSM over IAlph, OAlphf,
  sfsmf for finite non empty Moore-FSM over IAlph, OAlphf;

theorem Th29:
  for k be Nat holds Class (k-eq_states_EqR tfsm) = Class ((k+1)
-eq_states_EqR tfsm)implies for m be Nat holds Class ((k+m)-eq_states_EqR tfsm)
  = Class (k-eq_states_EqR tfsm)
proof
  let k be Nat;
  set S = the carrier of tfsm;
  set CEk = Class (k-eq_states_EqR tfsm);
  set Ek = (k-eq_states_EqR tfsm);
  set CEk1 = Class ((k+1)-eq_states_EqR tfsm);
  set Ek1 = ((k+1)-eq_states_EqR tfsm);
  defpred P[Nat] means Class ((k+$1)-eq_states_EqR tfsm) = CEk;
  assume CEk = CEk1;
  then
A1: Ek = Ek1 by FINSEQ_4:86;
A2: for m being Nat st P[m] holds P[m+1]
  proof
    let m be Nat;
    set CEkm=Class ((k+m)-eq_states_EqR tfsm);
    set Ekm=((k+m)-eq_states_EqR tfsm);
    set CEkm1 = Class ((k+(m+1))-eq_states_EqR tfsm);
    set Ekm1 = ((k+(m+1))-eq_states_EqR tfsm);
    assume CEkm = CEk;
    then
A3: Ekm = Ek by FINSEQ_4:86;
    now
      let x be object;
      reconsider xx=x as set by TARSKI:1;
      hereby
        assume
A4:     x in CEkm1;
        then reconsider x9 = x as Subset of S;
        consider qa being object such that
A5:     qa in S and
A6:     x9 = Class (Ekm1, qa) by A4,EQREL_1:def 3;
        reconsider qa as Element of S by A5;
A7:     x9 c= S;
        now
          let y be object;
          hereby
            assume
A8:         y in xx;
            then reconsider y9 = y as Element of S by A7;
            [y, qa] in Ekm1 by A6,A8,EQREL_1:19;
            then (k+(m+1))-equivalent y9, qa by Def12;
            then k-equivalent y9, qa by Th26;
            then [y9, qa] in Ek by Def12;
            hence y in Class (Ek, qa) by EQREL_1:19;
          end;
          assume
A9:       y in Class (Ek, qa);
          then reconsider y9 = y as Element of S;
          [y9, qa] in Ek by A9,EQREL_1:19;
          then
A10:      (k+1)-equivalent y9, qa by A1,Def12;
A11:      1 <= k+1 by NAT_1:11;
A12:      now
            let s be Element of IAlph, k1 be Nat;
            set Sy9 = (the Tran of tfsm).[y9, s];
            set Sqa = (the Tran of tfsm).[qa, s];
            k in NAT & k = k+1-1 by ORDINAL1:def 12;
            then k-equivalent Sy9, Sqa by A10,A11,Th27;
            then
A13:        [Sy9, Sqa] in Ek by Def12;
            assume k1 = k+m+1-1;
            hence k1-equivalent Sy9, Sqa by A3,A13,Def12;
          end;
          1 <= k+m+1 & 1-equivalent y9, qa by A10,A11,Th27,NAT_1:11;
          then (k+m+1)-equivalent y9, qa by A12,Th27;
          then [y9, qa] in Ekm1 by Def12;
          hence y in xx by A6,EQREL_1:19;
        end;
        then x = Class (Ek, qa) by TARSKI:2;
        hence x in CEk by EQREL_1:def 3;
      end;
      assume
A14:  x in CEk;
      then reconsider x9 = x as Subset of S;
      consider qa being object such that
A15:  qa in S and
A16:  x9 = Class (Ek, qa) by A14,EQREL_1:def 3;
      reconsider qa as Element of S by A15;
      now
        let y be object;
        hereby
          assume
A17:      y in xx;
          then reconsider y9 = y as Element of S by A16;
          [y9, qa] in Ek by A16,A17,EQREL_1:19;
          then
A18:      (k+1)-equivalent y9, qa by A1,Def12;
A19:      1 <= k+1 by NAT_1:11;
A20:      now
            let s be Element of IAlph, k1 be Nat;
            set Sy9 = (the Tran of tfsm).[y9, s];
            set Sqa = (the Tran of tfsm).[qa, s];
            k in NAT & k = k+1-1 by ORDINAL1:def 12;
            then k-equivalent Sy9, Sqa by A18,A19,Th27;
            then
A21:        [Sy9, Sqa] in Ek by Def12;
            assume k1 = k+m+1-1;
            hence k1-equivalent Sy9, Sqa by A3,A21,Def12;
          end;
          1 <= k+m+1 & 1-equivalent y9, qa by A18,A19,Th27,NAT_1:11;
          then (k+m+1)-equivalent y9, qa by A20,Th27;
          then [y9, qa] in Ekm1 by Def12;
          hence y in Class (Ekm1, qa) by EQREL_1:19;
        end;
        assume
A22:    y in Class (Ekm1, qa);
        then reconsider y9 = y as Element of S;
        [y, qa] in Ekm1 by A22,EQREL_1:19;
        then (k+(m+1))-equivalent y9, qa by Def12;
        then k-equivalent y9, qa by Th26;
        then [y9, qa] in Ek by Def12;
        hence y in xx by A16,EQREL_1:19;
      end;
      then x = Class (Ekm1, qa) by TARSKI:2;
      hence x in CEkm1 by EQREL_1:def 3;
    end;
    hence CEkm1 = CEk by TARSKI:2;
  end;
A23: P[0];
  thus for m being Nat holds P[m] from NAT_1:sch 2(A23,A2);
end;
