let p, q be Tree-yielding FinSequence; for k being Element of NAT st len p = len q & k + 1 in dom p & ( for i being Element of NAT st i in dom p & i <> k + 1 holds
p . i = q . i ) holds
for t being Tree st q . (k + 1) = t holds
tree q = (tree p) with-replacement (<*k*>,t)
let k be Element of NAT ; ( len p = len q & k + 1 in dom p & ( for i being Element of NAT st i in dom p & i <> k + 1 holds
p . i = q . i ) implies for t being Tree st q . (k + 1) = t holds
tree q = (tree p) with-replacement (<*k*>,t) )
assume that
A1:
len p = len q
and
A2:
k + 1 in dom p
and
A3:
for i being Element of NAT st i in dom p & i <> k + 1 holds
p . i = q . i
; for t being Tree st q . (k + 1) = t holds
tree q = (tree p) with-replacement (<*k*>,t)
let t be Tree; ( q . (k + 1) = t implies tree q = (tree p) with-replacement (<*k*>,t) )
set o = <*k*>;
k + 1 <= len p
by A2, FINSEQ_3:27;
then A4:
k < len p
by NAT_1:13;
assume A5:
q . (k + 1) = t
; tree q = (tree p) with-replacement (<*k*>,t)
A6:
now let s be
FinSequence of
NAT ;
( ( not s in tree q or ( s in tree p & not <*k*> is_a_proper_prefix_of s ) or ex r being FinSequence of NAT st
( r in t & s = <*k*> ^ r ) ) & ( ( ( s in tree p & not <*k*> is_a_proper_prefix_of s ) or ex r being FinSequence of NAT st
( r in t & s = <*k*> ^ r ) ) implies b1 in tree q ) )hereby ( ( ( s in tree p & not <*k*> is_a_proper_prefix_of s ) or ex r being FinSequence of NAT st
( r in t & s = <*k*> ^ r ) ) implies b1 in tree q )
assume A7:
s in tree q
;
( ( s in tree p & not <*k*> is_a_proper_prefix_of s ) or ex r being FinSequence of NAT st
( r in t & s = <*k*> ^ r ) )per cases
( s = {} or ex n being Element of NAT ex r being FinSequence st
( n < len q & r in q . (n + 1) & s = <*n*> ^ r ) )
by A7, TREES_3:def 15;
suppose
ex
n being
Element of
NAT ex
r being
FinSequence st
(
n < len q &
r in q . (n + 1) &
s = <*n*> ^ r )
;
( ( s in tree p & not <*k*> is_a_proper_prefix_of s ) or ex r being FinSequence of NAT st
( r in t & s = <*k*> ^ r ) )then consider n being
Element of
NAT ,
r being
FinSequence such that A8:
n < len q
and A9:
r in q . (n + 1)
and A10:
s = <*n*> ^ r
;
now per cases
( n = k or n <> k )
;
case A12:
n <> k
;
( s in tree p & not <*k*> is_a_proper_prefix_of s )
( 1
<= n + 1 &
n + 1
<= len p )
by A1, A8, NAT_1:11, NAT_1:13;
then
n + 1
in dom p
by FINSEQ_3:27;
then
q . (n + 1) = p . (n + 1)
by A3, A12, XCMPLX_1:2;
hence
s in tree p
by A1, A8, A9, A10, TREES_3:def 15;
not <*k*> is_a_proper_prefix_of sassume
<*k*> is_a_proper_prefix_of s
;
contradictionthen
<*k*> is_a_prefix_of s
by XBOOLE_0:def 8;
then
ex
s1 being
FinSequence st
s = <*k*> ^ s1
by TREES_1:8;
then k =
s . 1
by FINSEQ_1:58
.=
n
by A10, FINSEQ_1:58
;
hence
contradiction
by A12;
verum end; end; end; hence
( (
s in tree p & not
<*k*> is_a_proper_prefix_of s ) or ex
r being
FinSequence of
NAT st
(
r in t &
s = <*k*> ^ r ) )
;
verum end; end;
end; assume A13:
( (
s in tree p & not
<*k*> is_a_proper_prefix_of s ) or ex
r being
FinSequence of
NAT st
(
r in t &
s = <*k*> ^ r ) )
;
b1 in tree q end;
p . (k + 1) is Tree
by A2, TREES_3:24;
then A22:
{} in p . (k + 1)
by TREES_1:47;
<*k*> = <*k*> ^ {}
by FINSEQ_1:47;
then
<*k*> in tree p
by A4, A22, TREES_3:def 15;
hence
tree q = (tree p) with-replacement (<*k*>,t)
by A6, TREES_1:def 12; verum