let m be Nat; for S being Language
for U being non empty set
for u being Element of U
for I being b1,b2 -interpreter-like Function holds (((I,u) -TermEval) . (m + 1)) | ((S -termsOfMaxDepth) . m) = (I -TermEval) | ((S -termsOfMaxDepth) . m)
let S be Language; for U being non empty set
for u being Element of U
for I being S,b1 -interpreter-like Function holds (((I,u) -TermEval) . (m + 1)) | ((S -termsOfMaxDepth) . m) = (I -TermEval) | ((S -termsOfMaxDepth) . m)
let U be non empty set ; for u being Element of U
for I being S,U -interpreter-like Function holds (((I,u) -TermEval) . (m + 1)) | ((S -termsOfMaxDepth) . m) = (I -TermEval) | ((S -termsOfMaxDepth) . m)
let u be Element of U; for I being S,U -interpreter-like Function holds (((I,u) -TermEval) . (m + 1)) | ((S -termsOfMaxDepth) . m) = (I -TermEval) | ((S -termsOfMaxDepth) . m)
let I be S,U -interpreter-like Function; (((I,u) -TermEval) . (m + 1)) | ((S -termsOfMaxDepth) . m) = (I -TermEval) | ((S -termsOfMaxDepth) . m)
reconsider mm = m, MM = m + 1 as Element of NAT by ORDINAL1:def 12;
set T = S -termsOfMaxDepth ;
set TI = I -TermEval ;
set TII = (I,u) -TermEval ;
set TT = AllTermsOf S;
reconsider IM = ((I,u) -TermEval) . MM as Function of (AllTermsOf S),U ;
reconsider Tm = (S -termsOfMaxDepth) . mm, TM = (S -termsOfMaxDepth) . MM as Subset of (AllTermsOf S) by FOMODEL1:2;
set LH = IM | Tm;
set RH = (I -TermEval) | Tm;
A1:
( dom (IM | Tm) = Tm & dom ((I -TermEval) | Tm) = Tm )
by PARTFUN1:def 2;
hence
(((I,u) -TermEval) . (m + 1)) | ((S -termsOfMaxDepth) . m) = (I -TermEval) | ((S -termsOfMaxDepth) . m)
by A1, FUNCT_1:2; verum