let S be Language; for U being non empty set
for I being S,b1 -interpreter-like Function
for u1, u2 being Element of U
for m being Nat
for t being b5 -termal string of S
for n being Nat holds (((I,u1) -TermEval) . (m + 1)) . t = (((I,u2) -TermEval) . ((m + 1) + n)) . t
let U be non empty set ; for I being S,U -interpreter-like Function
for u1, u2 being Element of U
for m being Nat
for t being b4 -termal string of S
for n being Nat holds (((I,u1) -TermEval) . (m + 1)) . t = (((I,u2) -TermEval) . ((m + 1) + n)) . t
let I be S,U -interpreter-like Function; for u1, u2 being Element of U
for m being Nat
for t being b3 -termal string of S
for n being Nat holds (((I,u1) -TermEval) . (m + 1)) . t = (((I,u2) -TermEval) . ((m + 1) + n)) . t
let u1, u2 be Element of U; for m being Nat
for t being b1 -termal string of S
for n being Nat holds (((I,u1) -TermEval) . (m + 1)) . t = (((I,u2) -TermEval) . ((m + 1) + n)) . t
set F = S -firstChar ;
set ST = S -subTerms ;
set A = AllTermsOf S;
set T = S -termsOfMaxDepth ;
set U1 = (I,u1) -TermEval ;
set U2 = (I,u2) -TermEval ;
set SS = AllSymbolsOf S;
defpred S1[ Nat] means for t being $1 -termal string of S
for n being Nat holds (((I,u1) -TermEval) . ($1 + 1)) . t = (((I,u2) -TermEval) . (($1 + 1) + n)) . t;
A1:
S1[ 0 ]
A2:
for k being Nat st S1[k] holds
S1[k + 1]
proof
let k be
Nat;
( S1[k] implies S1[k + 1] )
assume A3:
S1[
k]
;
S1[k + 1]
reconsider K =
k + 1 as
Element of
NAT ;
let t be
k + 1
-termal string of
S;
for n being Nat holds (((I,u1) -TermEval) . ((k + 1) + 1)) . t = (((I,u2) -TermEval) . (((k + 1) + 1) + n)) . tlet n be
Nat;
(((I,u1) -TermEval) . ((k + 1) + 1)) . t = (((I,u2) -TermEval) . (((k + 1) + 1) + n)) . t
reconsider KK =
K + n as
Element of
NAT by ORDINAL1:def 12;
reconsider tt =
t as
termal string of
S ;
A4:
(((I,u1) -TermEval) . K) * (SubTerms t) = (((I,u2) -TermEval) . (K + n)) * (SubTerms t)
(((I,u1) -TermEval) . (K + 1)) . tt =
(I . ((S -firstChar) . tt)) . ((((I,u2) -TermEval) . KK) * (SubTerms t))
by Lm5, A4
.=
(((I,u2) -TermEval) . (KK + 1)) . tt
by Lm5
;
hence
(((I,u1) -TermEval) . ((k + 1) + 1)) . t = (((I,u2) -TermEval) . (((k + 1) + 1) + n)) . t
;
verum
end;
for mm being Nat holds S1[mm]
from NAT_1:sch 2(A1, A2);
hence
for m being Nat
for t being b1 -termal string of S
for n being Nat holds (((I,u1) -TermEval) . (m + 1)) . t = (((I,u2) -TermEval) . ((m + 1) + n)) . t
; verum