
theorem Th76:
  for T being Noetherian adj-structured reflexive transitive
  antisymmetric with_suprema non void TAS-structure for t1, t2 being type of T
  st T@--> reduces t1, t2 ex A being finite Subset of the adjectives of T st A
  is_properly_applicable_to t2 & t1 = A ast t2
proof
  let T be Noetherian adj-structured reflexive transitive antisymmetric
  with_suprema non void TAS-structure;
  let t1,t2 be type of T;
  set R = T@-->;
  given p being RedSequence of R such that
A1: p.1 = t1 and
A2: t2 = p.len p;
  defpred P[object,object] means
ex j being Element of NAT, a being adjective of T,
  t being type of T st $2 = a & $1 = j & a ast t = p.j & t = p.(j+1) & a
  is_properly_applicable_to t;
A3: len Rev p = len p by FINSEQ_5:def 3;
A4: len p-1+1 = len p;
A5: len p >= 0+1 by NAT_1:13;
  then consider i being Nat such that
A6: len p = 1+i by NAT_1:10;
  reconsider i as Element of NAT by ORDINAL1:def 12;
A7: now
    let x be object;
    assume
A8: x in Seg i;
    then reconsider j = x as Element of NAT;
A9: j >= 1 by A8,FINSEQ_1:1;
    then
A10: 1 <= j+1 by NAT_1:13;
A11: j <= i by A8,FINSEQ_1:1;
    then j < len p by A6,NAT_1:13;
    then
A12: j in dom p by A9,FINSEQ_3:25;
    j+1 <= len p by A6,A11,XREAL_1:6;
    then j+1 in dom p by A10,FINSEQ_3:25;
    then
A13: [p.j, p.(j+1)] in R by A12,REWRITE1:def 2;
    then reconsider q1 = p.j, q2 = p.(j+1) as type of T by ZFMISC_1:87;
    ex a being adjective of T st not a in adjs q2 & a
    is_properly_applicable_to q2 & a ast q2 = q1 by A13,Def31;
    hence ex y being object st y in the adjectives of T & P[x,y];
  end;
  consider f being Function such that
A14: dom f = Seg i & rng f c= the adjectives of T and
A15: for x being object st x in Seg i holds P[x,f.x] from FUNCT_1:sch 6(A7);
  f is FinSequence by A14,FINSEQ_1:def 2;
  then reconsider f as FinSequence of the adjectives of T by A14,FINSEQ_1:def 4
  ;
A16: len f = i by A14,FINSEQ_1:def 3;
  set r = Rev f;
  defpred P[Nat] means 1+$1 <= len p implies (Rev p).(1+$1) = apply
  (r, t2).(1+$1);
A17: len r = len f by FINSEQ_5:def 3;
A18: now
    let j be Nat such that
A19: P[j];
    now
A20:  j+1 >= 1 by NAT_1:11;
      assume
A21:  1+(j+1) <= len p;
      then j+1 <= i by A6,XREAL_1:6;
      then consider x being Nat such that
A22:  i = j+1+x by NAT_1:10;
      reconsider x as Element of NAT by ORDINAL1:def 12;
A23:  i+1-(j+1) = x+1 by A22;
      j+1 < len p by A21,NAT_1:13;
      then j+1 in dom Rev p by A3,A20,FINSEQ_3:25;
      then
A24:  (Rev p).(j+1) = p.(x+1+1) by A6,A23,FINSEQ_5:def 3;
A25:  i+1-(1+(j+1)) = x by A22;
      1+(j+1) >= 1 by NAT_1:11;
      then 1+(j+1) in dom Rev p by A3,A21,FINSEQ_3:25;
      then
A26:  (Rev p).(1+(j+1)) = p.(x+1) by A6,A25,FINSEQ_5:def 3;
      i = x+1+j by A22;
      then
A27:  i >= x+1 by NAT_1:11;
      x+1 >= 1 by NAT_1:11;
      then x+1 in Seg i by A27;
      then consider
      k being Element of NAT, a being adjective of T, t being type of
      T such that
A28:  f.(x+1) = a and
A29:  x+1 = k and
A30:  a ast t = p.k and
A31:  t = p.(k+1) and
      a is_properly_applicable_to t by A15;
A32:  j+1 >= 1 by NAT_1:11;
      j+1 <= i by A22,NAT_1:11;
      then
A33:  j+1 in dom r by A17,A16,A32,FINSEQ_3:25;
      then r.(j+1) = f.(len f-(j+1)+1) by FINSEQ_5:def 3
        .= a by A16,A22,A28;
      hence (Rev p).(1+(j+1)) = apply(r, t2).(1+(j+1)) by A19,A21,A29,A30,A31
,A33,A24,A26,Def19,NAT_1:13;
    end;
    hence P[j+1];
  end;
  reconsider A = rng f as finite Subset of the adjectives of T;
  take A;
A34: len apply(r, t2) = len r+1 by Def19;
  1 in dom Rev p by A5,A3,FINSEQ_3:25;
  then (Rev p).1 = t2 by A2,A4,FINSEQ_5:def 3;
  then
A35: P[0] by Def19;
A36: for j being Nat holds P[j] from NAT_1:sch 2(A35,A18);
  now
    let j be Nat;
    assume 1 <= j;
    then consider k being Nat such that
A37: j = 1+k by NAT_1:10;
    thus j <= len p implies (Rev p).j = apply(r, t2).j by A36,A37;
  end;
  then
A38: Rev p = apply(r, t2) by A6,A17,A34,A16,A3;
  then
A39: p = Rev apply(r, t2);
A40: r is_properly_applicable_to t2
  proof
    let j be Nat, a be adjective of T, s be type of T;
    assume that
A41: j in dom r and
A42: a = r.j and
A43: s = apply(r,t2).j;
    j <= len r by A41,FINSEQ_3:25;
    then consider k being Nat such that
A44: len r = j+k by NAT_1:10;
A45: len r = len f by FINSEQ_5:def 3;
    reconsider k as Element of NAT by ORDINAL1:def 12;
A46: k+1 >= 1 by NAT_1:11;
A47: j >= 1 by A41,FINSEQ_3:25;
    then k+1 <= i by A16,A44,A45,XREAL_1:6;
    then len f-j+1 in Seg i by A44,A45,A46;
    then consider
    o being Element of NAT, b being adjective of T, u being type of T
    such that
A48: f.(len f-j+1) = b and
A49: len f-j+1 = o and
    b ast u = p.o and
A50: u = p.(o+1) and
A51: b is_properly_applicable_to u by A15;
A52: o+1 >= 1 by NAT_1:11;
    i+1 = k+1+j by A17,A16,A44;
    then o+1 <= len p by A6,A44,A45,A47,A49,XREAL_1:6;
    then
A53: o+1 in dom p by A52,FINSEQ_3:25;
A54: a = b by A41,A42,A48,FINSEQ_5:def 3;
    len (apply(r, t2))-(o+1)+1 = j by A17,A34,A49;
    hence thesis by A39,A43,A50,A51,A53,A54,FINSEQ_5:def 3;
  end;
  thus A is_properly_applicable_to t2
  proof
    take r;
    thus thesis by A40,FINSEQ_5:57;
  end;
  rng r = A by FINSEQ_5:57;
  then A ast t2 = r ast t2 by A40,Th56,Th57
    .= apply(r, t2).(len r+1);
  hence thesis by A1,A34,A3,A38,FINSEQ_5:62;
end;
