defpred S1[ set ] means ( $1 = {} or ex n being Element of NAT ex q being FinSequence st
( n < len p & q in p . (n + 1) & $1 = <*n*> ^ q ) );
consider T being set such that
A1:
for y being set holds
( y in T iff ( y in NAT * & S1[y] ) )
from XBOOLE_0:sch 1();
<*> NAT in NAT *
by FINSEQ_1:def 11;
then reconsider T = T as non empty set by A1;
A2:
rng p is constituted-Trees
by B1, Def9;
T is Tree-like
proof
thus
T c= NAT *
TREES_1:def 3 ( ( for b1 being FinSequence of NAT holds
( not b1 in T or ProperPrefixes b1 c= T ) ) & ( for b1 being FinSequence of NAT
for b2, b3 being Element of NAT holds
( not b1 ^ <*b2*> in T or not b3 <= b2 or b1 ^ <*b3*> in T ) ) )
thus
for
w being
FinSequence of
NAT st
w in T holds
ProperPrefixes w c= T
for b1 being FinSequence of NAT
for b2, b3 being Element of NAT holds
( not b1 ^ <*b2*> in T or not b3 <= b2 or b1 ^ <*b3*> in T )proof
let w be
FinSequence of
NAT ;
( w in T implies ProperPrefixes w c= T )
assume A4:
w in T
;
ProperPrefixes w c= T
now ( w <> {} implies ProperPrefixes w c= T )assume
w <> {}
;
ProperPrefixes w c= Tthen consider n being
Element of
NAT ,
q being
FinSequence such that A5:
n < len p
and A6:
q in p . (n + 1)
and A7:
w = <*n*> ^ q
by A1, A4;
reconsider q =
q as
FinSequence of
NAT by A7, FINSEQ_1:36;
thus
ProperPrefixes w c= T
verumproof
let x be
set ;
TARSKI:def 3 ( not x in ProperPrefixes w or x in T )
assume
x in ProperPrefixes w
;
x in T
then consider r being
FinSequence such that A8:
x = r
and A9:
r is_a_proper_prefix_of w
by TREES_1:def 2;
r is_a_prefix_of w
by A9, XBOOLE_0:def 8;
then consider k being
Element of
NAT such that A10:
r = w | (Seg k)
by TREES_1:def 1;
rng r = w .: (Seg k)
by A10, RELAT_1:115;
then reconsider r =
r as
FinSequence of
NAT by FINSEQ_1:def 4;
A11:
r in NAT *
by FINSEQ_1:def 11;
now ( r <> {} implies x in T )assume
r <> {}
;
x in Tthen consider r1 being
FinSequence of
NAT ,
i being
Element of
NAT such that A12:
r = <*i*> ^ r1
by FINSEQ_2:130;
A13:
dom <*i*> = Seg 1
by FINSEQ_1:38;
A14:
1
in Seg 1
by FINSEQ_1:2, TARSKI:def 1;
A15:
Seg 1
c= dom r
by A12, A13, FINSEQ_1:26;
A16:
r . 1
= i
by A12, FINSEQ_1:41;
A17:
w . 1
= n
by A7, FINSEQ_1:41;
A18:
r . 1
= w . 1
by A10, A14, A15, FUNCT_1:47;
then A19:
r1 is_a_proper_prefix_of q
by A7, A9, A12, A16, A17, TREES_1:49;
A20:
p . (n + 1) is
Tree
by A3, A5;
r1 is_a_prefix_of q
by A19, XBOOLE_0:def 8;
then
r1 in p . (n + 1)
by A6, A20, TREES_1:20;
hence
x in T
by A1, A5, A8, A11, A12, A16, A17, A18;
verum end;
hence
x in T
by A1, A8, A11;
verum
end; end;
hence
ProperPrefixes w c= T
by TREES_1:15, XBOOLE_1:2;
verum
end;
let w be
FinSequence of
NAT ;
for b1, b2 being Element of NAT holds
( not w ^ <*b1*> in T or not b2 <= b1 or w ^ <*b2*> in T )let k,
n be
Element of
NAT ;
( not w ^ <*k*> in T or not n <= k or w ^ <*n*> in T )
assume that A21:
w ^ <*k*> in T
and A22:
n <= k
;
w ^ <*n*> in T
A23:
now ( w = {} implies w ^ <*n*> in T )assume A24:
w = {}
;
w ^ <*n*> in Tthen
<*k*> in T
by A21, FINSEQ_1:34;
then consider m being
Element of
NAT ,
q being
FinSequence such that A25:
m < len p
and
q in p . (m + 1)
and A26:
<*k*> = <*m*> ^ q
by A1;
A27:
<*k*> . 1
= k
by FINSEQ_1:def 8;
(<*m*> ^ q) . 1
= m
by FINSEQ_1:41;
then A28:
n < len p
by A22, A25, A26, A27, XXREAL_0:2;
then
p . (n + 1) in rng p
by Lm3;
then A29:
{} in p . (n + 1)
by A2, TREES_1:22;
A30:
<*n*> ^ {} = <*n*>
by FINSEQ_1:34;
A31:
{} ^ <*n*> = <*n*>
by FINSEQ_1:34;
<*n*> in NAT *
by FINSEQ_1:def 11;
hence
w ^ <*n*> in T
by A1, A24, A28, A29, A30, A31;
verum end;
now ( w <> {} implies w ^ <*n*> in T )assume
w <> {}
;
w ^ <*n*> in Tthen consider q being
FinSequence of
NAT ,
m being
Element of
NAT such that A32:
w = <*m*> ^ q
by FINSEQ_2:130;
consider m9 being
Element of
NAT ,
r being
FinSequence such that A33:
m9 < len p
and A34:
r in p . (m9 + 1)
and A35:
w ^ <*k*> = <*m9*> ^ r
by A1, A21;
A36:
w ^ <*k*> = <*m*> ^ (q ^ <*k*>)
by A32, FINSEQ_1:32;
A37:
w ^ <*n*> = <*m*> ^ (q ^ <*n*>)
by A32, FINSEQ_1:32;
A38:
(w ^ <*k*>) . 1
= m
by A36, FINSEQ_1:41;
A39:
(w ^ <*k*>) . 1
= m9
by A35, FINSEQ_1:41;
A40:
<*m*> ^ (q ^ <*n*>) in NAT *
by FINSEQ_1:def 11;
A41:
r = q ^ <*k*>
by A35, A36, A38, A39, FINSEQ_1:33;
p . (m + 1) in rng p
by A33, A38, A39, Lm3;
then
q ^ <*n*> in p . (m + 1)
by A2, A22, A34, A38, A39, A41, TREES_1:def 3;
hence
w ^ <*n*> in T
by A1, A33, A37, A38, A39, A40;
verum end;
hence
w ^ <*n*> in T
by A23;
verum
end;
then reconsider T = T as Tree ;
take
T
; for x being set holds
( x in T iff ( x = {} or ex n being Element of NAT ex q being FinSequence st
( n < len p & q in p . (n + 1) & x = <*n*> ^ q ) ) )
let x be set ; ( x in T iff ( x = {} or ex n being Element of NAT ex q being FinSequence st
( n < len p & q in p . (n + 1) & x = <*n*> ^ q ) ) )
thus
( not x in T or x = {} or ex n being Element of NAT ex q being FinSequence st
( n < len p & q in p . (n + 1) & x = <*n*> ^ q ) )
by A1; ( ( x = {} or ex n being Element of NAT ex q being FinSequence st
( n < len p & q in p . (n + 1) & x = <*n*> ^ q ) ) implies x in T )
assume A42:
( x = {} or ex n being Element of NAT ex q being FinSequence st
( n < len p & q in p . (n + 1) & x = <*n*> ^ q ) )
; x in T
{} in NAT *
by FINSEQ_1:49;
hence
x in T
by A1, A42, A43; verum