let m be Element of NAT ; for S being non empty non void ManySortedSign
for o being OperSymbol of S
for Y being infinite-yielding ManySortedSet of the carrier of S
for q being Element of Args (o,(Free (S,Y)))
for s1, s2 being SortSymbol of S
for V being finite set st m in dom q & s1 = (the_arity_of o) /. m holds
ex y being Element of Y . s1 ex C being context of y ex q1 being Element of Args (o,(Free (S,Y))) st
( y nin V & q1 = q +* (m,(y -term)) & q1 is y -context_including & y -context_in q1 = y -term & C = o -term q1 & m = y -context_pos_in q1 & transl C = transl (o,m,q,(Free (S,Y))) )
let S be non empty non void ManySortedSign ; for o being OperSymbol of S
for Y being infinite-yielding ManySortedSet of the carrier of S
for q being Element of Args (o,(Free (S,Y)))
for s1, s2 being SortSymbol of S
for V being finite set st m in dom q & s1 = (the_arity_of o) /. m holds
ex y being Element of Y . s1 ex C being context of y ex q1 being Element of Args (o,(Free (S,Y))) st
( y nin V & q1 = q +* (m,(y -term)) & q1 is y -context_including & y -context_in q1 = y -term & C = o -term q1 & m = y -context_pos_in q1 & transl C = transl (o,m,q,(Free (S,Y))) )
let o be OperSymbol of S; for Y being infinite-yielding ManySortedSet of the carrier of S
for q being Element of Args (o,(Free (S,Y)))
for s1, s2 being SortSymbol of S
for V being finite set st m in dom q & s1 = (the_arity_of o) /. m holds
ex y being Element of Y . s1 ex C being context of y ex q1 being Element of Args (o,(Free (S,Y))) st
( y nin V & q1 = q +* (m,(y -term)) & q1 is y -context_including & y -context_in q1 = y -term & C = o -term q1 & m = y -context_pos_in q1 & transl C = transl (o,m,q,(Free (S,Y))) )
let Y be infinite-yielding ManySortedSet of the carrier of S; for q being Element of Args (o,(Free (S,Y)))
for s1, s2 being SortSymbol of S
for V being finite set st m in dom q & s1 = (the_arity_of o) /. m holds
ex y being Element of Y . s1 ex C being context of y ex q1 being Element of Args (o,(Free (S,Y))) st
( y nin V & q1 = q +* (m,(y -term)) & q1 is y -context_including & y -context_in q1 = y -term & C = o -term q1 & m = y -context_pos_in q1 & transl C = transl (o,m,q,(Free (S,Y))) )
let q be Element of Args (o,(Free (S,Y))); for s1, s2 being SortSymbol of S
for V being finite set st m in dom q & s1 = (the_arity_of o) /. m holds
ex y being Element of Y . s1 ex C being context of y ex q1 being Element of Args (o,(Free (S,Y))) st
( y nin V & q1 = q +* (m,(y -term)) & q1 is y -context_including & y -context_in q1 = y -term & C = o -term q1 & m = y -context_pos_in q1 & transl C = transl (o,m,q,(Free (S,Y))) )
let s1, s2 be SortSymbol of S; for V being finite set st m in dom q & s1 = (the_arity_of o) /. m holds
ex y being Element of Y . s1 ex C being context of y ex q1 being Element of Args (o,(Free (S,Y))) st
( y nin V & q1 = q +* (m,(y -term)) & q1 is y -context_including & y -context_in q1 = y -term & C = o -term q1 & m = y -context_pos_in q1 & transl C = transl (o,m,q,(Free (S,Y))) )
let V be finite set ; ( m in dom q & s1 = (the_arity_of o) /. m implies ex y being Element of Y . s1 ex C being context of y ex q1 being Element of Args (o,(Free (S,Y))) st
( y nin V & q1 = q +* (m,(y -term)) & q1 is y -context_including & y -context_in q1 = y -term & C = o -term q1 & m = y -context_pos_in q1 & transl C = transl (o,m,q,(Free (S,Y))) ) )
assume Z1:
m in dom q
; ( not s1 = (the_arity_of o) /. m or ex y being Element of Y . s1 ex C being context of y ex q1 being Element of Args (o,(Free (S,Y))) st
( y nin V & q1 = q +* (m,(y -term)) & q1 is y -context_including & y -context_in q1 = y -term & C = o -term q1 & m = y -context_pos_in q1 & transl C = transl (o,m,q,(Free (S,Y))) ) )
assume Z2:
s1 = (the_arity_of o) /. m
; ex y being Element of Y . s1 ex C being context of y ex q1 being Element of Args (o,(Free (S,Y))) st
( y nin V & q1 = q +* (m,(y -term)) & q1 is y -context_including & y -context_in q1 = y -term & C = o -term q1 & m = y -context_pos_in q1 & transl C = transl (o,m,q,(Free (S,Y))) )
consider y being Element of Y . s1, C being context of y, q1 being Element of Args (o,(Free (S,Y))) such that
A1:
( y nin V & C = o -term q1 & q1 = q +* (m,(y -term)) & q1 is y -context_including & m = y -context_pos_in q1 & y -context_in q1 = y -term )
by Z1, Z2, Th59;
take
y
; ex C being context of y ex q1 being Element of Args (o,(Free (S,Y))) st
( y nin V & q1 = q +* (m,(y -term)) & q1 is y -context_including & y -context_in q1 = y -term & C = o -term q1 & m = y -context_pos_in q1 & transl C = transl (o,m,q,(Free (S,Y))) )
take
C
; ex q1 being Element of Args (o,(Free (S,Y))) st
( y nin V & q1 = q +* (m,(y -term)) & q1 is y -context_including & y -context_in q1 = y -term & C = o -term q1 & m = y -context_pos_in q1 & transl C = transl (o,m,q,(Free (S,Y))) )
take
q1
; ( y nin V & q1 = q +* (m,(y -term)) & q1 is y -context_including & y -context_in q1 = y -term & C = o -term q1 & m = y -context_pos_in q1 & transl C = transl (o,m,q,(Free (S,Y))) )
thus
y nin V
by A1; ( q1 = q +* (m,(y -term)) & q1 is y -context_including & y -context_in q1 = y -term & C = o -term q1 & m = y -context_pos_in q1 & transl C = transl (o,m,q,(Free (S,Y))) )
thus
q1 = q +* (m,(y -term))
by A1; ( q1 is y -context_including & y -context_in q1 = y -term & C = o -term q1 & m = y -context_pos_in q1 & transl C = transl (o,m,q,(Free (S,Y))) )
thus
q1 is y -context_including
by A1; ( y -context_in q1 = y -term & C = o -term q1 & m = y -context_pos_in q1 & transl C = transl (o,m,q,(Free (S,Y))) )
thus
y -context_in q1 = y -term
by A1; ( C = o -term q1 & m = y -context_pos_in q1 & transl C = transl (o,m,q,(Free (S,Y))) )
thus
C = o -term q1
by A1; ( m = y -context_pos_in q1 & transl C = transl (o,m,q,(Free (S,Y))) )
thus
m = y -context_pos_in q1
by A1; transl C = transl (o,m,q,(Free (S,Y)))
dom (transl C) = the Sorts of (Free (S,Y)) . s1
by FUNCT_2:def 1;
hence
dom (transl C) = dom (transl (o,m,q,(Free (S,Y))))
by Z2, MSUALG_6:def 4; FUNCT_1:def 11 for b1 being object holds
( not b1 in proj1 (transl C) or (transl C) . b1 = (transl (o,m,q,(Free (S,Y)))) . b1 )
let c be object ; ( not c in proj1 (transl C) or (transl C) . c = (transl (o,m,q,(Free (S,Y)))) . c )
assume
c in dom (transl C)
; (transl C) . c = (transl (o,m,q,(Free (S,Y)))) . c
then reconsider c = c as Element of the Sorts of (Free (S,Y)) . s1 ;
reconsider q2 = q +* (m,c) as Element of Args (o,(Free (S,Y))) by Z2, MSUALG_6:7;
A6: (transl (o,m,q,(Free (S,Y)))) . c =
(Den (o,(Free (S,Y)))) . q2
by Z2, MSUALG_6:def 4
.=
o -term q2
by MSAFREE4:13
;
q2 = q1 +* (m,c)
by A1, FUNCT_7:34;
then
( C -sub c = o -term q2 & the_sort_of c = s1 )
by A1, Th58, SORT;
hence
(transl C) . c = (transl (o,m,q,(Free (S,Y)))) . c
by A6, TRANS; verum