set f = F1();
set G = F2();
set D = F3();
deffunc H3( Symbol of F2(), FinSequence) -> Element of F3() = F5($1,(pr1 (roots $2)),(pr2 (roots $2)));
Union F1() c= FinTrees [:the carrier of F2(),F3():]
proof
let u be
set ;
:: according to TARSKI:def 3 :: thesis: ( not u in Union F1() or u in FinTrees [:the carrier of F2(),F3():] )
assume
u in Union F1()
;
:: thesis: u in FinTrees [:the carrier of F2(),F3():]
then consider k being
set such that A4:
(
k in NAT &
u in F1()
. k )
by A1, CARD_5:10;
defpred S1[
Element of
NAT ]
means for
u being
set st
u in F1()
. $1 holds
u in FinTrees [:the carrier of F2(),F3():];
A5:
S1[
0 ]
A6:
now let n be
Element of
NAT ;
:: thesis: ( S1[n] implies S1[n + 1] )assume A7:
S1[
n]
;
:: thesis: S1[n + 1]thus
S1[
n + 1]
:: thesis: verumproof
let u be
set ;
:: thesis: ( u in F1() . (n + 1) implies u in FinTrees [:the carrier of F2(),F3():] )
assume
u in F1()
. (n + 1)
;
:: thesis: u in FinTrees [:the carrier of F2(),F3():]
then
u in (F1() . n) \/ { ([o,H3(o,p)] -tree p) where o is Symbol of F2(), p is Element of (F1() . n) * : ex q being FinSequence of FinTrees [:the carrier of F2(),F3():] st
( p = q & o ==> pr1 (roots q) ) }
by A3;
then A8:
(
u in F1()
. n or
u in { ([o,H3(o,p)] -tree p) where o is Symbol of F2(), p is Element of (F1() . n) * : ex q being FinSequence of FinTrees [:the carrier of F2(),F3():] st
( p = q & o ==> pr1 (roots q) ) } )
by XBOOLE_0:def 3;
assume A9:
not
u in FinTrees [:the carrier of F2(),F3():]
;
:: thesis: contradiction
then consider o being
Symbol of
F2(),
p being
Element of
(F1() . n) * such that A10:
(
u = [o,H3(o,p)] -tree p & ex
q being
FinSequence of
FinTrees [:the carrier of F2(),F3():] st
(
p = q &
o ==> pr1 (roots q) ) )
by A7, A8;
reconsider p =
p as
FinSequence of
FinTrees [:the carrier of F2(),F3():] by A10;
u = [o,H3(o,p)] -tree p
by A10;
hence
contradiction
by A9;
:: thesis: verum
end; end;
for
n being
Element of
NAT holds
S1[
n]
from NAT_1:sch 1(A5, A6);
hence
u in FinTrees [:the carrier of F2(),F3():]
by A4;
:: thesis: verum
end;
then reconsider X = Union F1() as Subset of (FinTrees [:the carrier of F2(),F3():]) ;
take
X
; :: thesis: ( X = Union F1() & ( for d being Symbol of F2() st d in Terminals F2() holds
root-tree [d,F4(d)] in X ) & ( for o being Symbol of F2()
for p being FinSequence of X st o ==> pr1 (roots p) holds
[o,F5(o,(pr1 (roots p)),(pr2 (roots p)))] -tree p in X ) & ( for F being Subset of (FinTrees [:the carrier of F2(),F3():]) st ( for d being Symbol of F2() st d in Terminals F2() holds
root-tree [d,F4(d)] in F ) & ( for o being Symbol of F2()
for p being FinSequence of F st o ==> pr1 (roots p) holds
[o,F5(o,(pr1 (roots p)),(pr2 (roots p)))] -tree p in F ) holds
X c= F ) )
thus
X = Union F1()
; :: thesis: ( ( for d being Symbol of F2() st d in Terminals F2() holds
root-tree [d,F4(d)] in X ) & ( for o being Symbol of F2()
for p being FinSequence of X st o ==> pr1 (roots p) holds
[o,F5(o,(pr1 (roots p)),(pr2 (roots p)))] -tree p in X ) & ( for F being Subset of (FinTrees [:the carrier of F2(),F3():]) st ( for d being Symbol of F2() st d in Terminals F2() holds
root-tree [d,F4(d)] in F ) & ( for o being Symbol of F2()
for p being FinSequence of F st o ==> pr1 (roots p) holds
[o,F5(o,(pr1 (roots p)),(pr2 (roots p)))] -tree p in F ) holds
X c= F ) )
hereby :: thesis: for F being Subset of (FinTrees [:the carrier of F2(),F3():]) st ( for d being Symbol of F2() st d in Terminals F2() holds
root-tree [d,F4(d)] in F ) & ( for o being Symbol of F2()
for p being FinSequence of F st o ==> pr1 (roots p) holds
[o,F5(o,(pr1 (roots p)),(pr2 (roots p)))] -tree p in F ) holds
X c= F
let o be
Symbol of
F2();
:: thesis: for p being FinSequence of X st o ==> pr1 (roots p) holds
[o,F5(o,(pr1 (roots p)),(pr2 (roots p)))] -tree p in Xlet p be
FinSequence of
X;
:: thesis: ( o ==> pr1 (roots p) implies [o,F5(o,(pr1 (roots p)),(pr2 (roots p)))] -tree p in X )assume A11:
o ==> pr1 (roots p)
;
:: thesis: [o,F5(o,(pr1 (roots p)),(pr2 (roots p)))] -tree p in Xset s =
pr1 (roots p);
set v =
pr2 (roots p);
A12:
dom p = Seg (len p)
by FINSEQ_1:def 3;
defpred S1[
set ,
set ]
means p . $1
in F1()
. $2;
A13:
for
x being
Nat st
x in Seg (len p) holds
ex
n being
Element of
NAT st
S1[
x,
n]
consider pn being
FinSequence of
NAT such that A14:
(
dom pn = Seg (len p) & ( for
k being
Nat st
k in Seg (len p) holds
S1[
k,
pn . k] ) )
from FINSEQ_1:sch 5(A13);
A15:
now defpred S2[
Element of
NAT ,
Element of
NAT ]
means $1
>= $2;
assume
rng pn <> {}
;
:: thesis: ex n being Element of NAT st rng p c= F1() . nthen A16:
(
rng pn is
finite &
rng pn <> {} &
rng pn c= NAT )
by FINSEQ_1:def 4;
A17:
for
x,
y being
Element of
NAT holds
(
S2[
x,
y] or
S2[
y,
x] )
;
A18:
for
x,
y,
z being
Element of
NAT st
S2[
x,
y] &
S2[
y,
z] holds
S2[
x,
z]
by XXREAL_0:2;
consider n being
Element of
NAT such that A19:
(
n in rng pn & ( for
y being
Element of
NAT st
y in rng pn holds
S2[
n,
y] ) )
from CQC_SIM1:sch 4(A16, A17, A18);
take n =
n;
:: thesis: rng p c= F1() . nthus
rng p c= F1()
. n
:: thesis: verumproof
let t be
set ;
:: according to TARSKI:def 3 :: thesis: ( not t in rng p or t in F1() . n )
assume
t in rng p
;
:: thesis: t in F1() . n
then consider k being
set such that A20:
(
k in dom p &
t = p . k )
by FUNCT_1:def 5;
reconsider k =
k as
Element of
NAT by A20;
A21:
pn . k in rng pn
by A12, A14, A20, FUNCT_1:def 5;
then reconsider pnk =
pn . k as
Element of
NAT by A16;
consider s being
Nat such that A22:
n = pnk + s
by A19, A21, NAT_1:10;
reconsider s =
s as
Element of
NAT by ORDINAL1:def 13;
deffunc H4(
set ,
set )
-> set =
{ ([o1,F5(o1,(pr1 (roots p1)),(pr2 (roots p1)))] -tree p1) where o1 is Symbol of F2(), p1 is Element of (F1() . $1) * : ex q being FinSequence of FinTrees [:the carrier of F2(),F3():] st
( p1 = q & o1 ==> pr1 (roots q) ) } ;
A24:
for
n being
Element of
NAT holds
F1()
. n c= F1()
. (n + 1)
A25:
F1()
. pnk c= F1()
. n
by A22, A24, MEASURE2:22, NAT_1:11;
t in F1()
. (pn . k)
by A12, A14, A20;
hence
t in F1()
. n
by A25;
:: thesis: verum
end; end; then consider n being
Element of
NAT such that A27:
rng p c= F1()
. n
by A15;
(
X = union (rng F1()) &
F1()
. n in rng F1() )
by A1, CARD_3:def 4, FUNCT_1:def 5;
then
F1()
. n c= X
by ZFMISC_1:92;
then reconsider fn =
F1()
. n as
Subset of
(FinTrees [:the carrier of F2(),F3():]) by XBOOLE_1:1;
reconsider q =
p as
FinSequence of
fn by A27, FINSEQ_1:def 4;
reconsider q' =
q as
Element of
fn * by FINSEQ_1:def 11;
[o,F5(o,(pr1 (roots p)),(pr2 (roots p)))] -tree q' in { ([oo,H3(oo,pp)] -tree pp) where oo is Symbol of F2(), pp is Element of fn * : ex q being FinSequence of FinTrees [:the carrier of F2(),F3():] st
( pp = q & oo ==> pr1 (roots q) ) }
by A11;
then
[o,F5(o,(pr1 (roots p)),(pr2 (roots p)))] -tree q' in (F1() . n) \/ { ([oo,H3(oo,pp)] -tree pp) where oo is Symbol of F2(), pp is Element of fn * : ex q being FinSequence of FinTrees [:the carrier of F2(),F3():] st
( pp = q & oo ==> pr1 (roots q) ) }
by XBOOLE_0:def 3;
then
[o,F5(o,(pr1 (roots p)),(pr2 (roots p)))] -tree q' in F1()
. (n + 1)
by A3;
hence
[o,F5(o,(pr1 (roots p)),(pr2 (roots p)))] -tree p in X
by A1, CARD_5:10;
:: thesis: verum
end;
let F be Subset of (FinTrees [:the carrier of F2(),F3():]); :: thesis: ( ( for d being Symbol of F2() st d in Terminals F2() holds
root-tree [d,F4(d)] in F ) & ( for o being Symbol of F2()
for p being FinSequence of F st o ==> pr1 (roots p) holds
[o,F5(o,(pr1 (roots p)),(pr2 (roots p)))] -tree p in F ) implies X c= F )
assume A28:
( ( for d being Symbol of F2() st d in Terminals F2() holds
root-tree [d,F4(d)] in F ) & ( for o being Symbol of F2()
for p being FinSequence of F st o ==> pr1 (roots p) holds
[o,H3(o,p)] -tree p in F ) )
; :: thesis: X c= F
defpred S1[ Element of NAT ] means F1() . $1 c= F;
A29:
S1[ 0 ]
A31:
now let n be
Element of
NAT ;
:: thesis: ( S1[n] implies S1[n + 1] )assume A32:
S1[
n]
;
:: thesis: S1[n + 1]thus
S1[
n + 1]
:: thesis: verumproof
let x be
set ;
:: according to TARSKI:def 3 :: thesis: ( not x in F1() . (n + 1) or x in F )
assume A33:
(
x in F1()
. (n + 1) & not
x in F )
;
:: thesis: contradiction
then
x in (F1() . n) \/ { ([oo,H3(oo,pp)] -tree pp) where oo is Symbol of F2(), pp is Element of (F1() . n) * : ex q being FinSequence of FinTrees [:the carrier of F2(),F3():] st
( pp = q & oo ==> pr1 (roots q) ) }
by A3;
then
(
x in F1()
. n or
x in { ([oo,H3(oo,pp)] -tree pp) where oo is Symbol of F2(), pp is Element of (F1() . n) * : ex q being FinSequence of FinTrees [:the carrier of F2(),F3():] st
( pp = q & oo ==> pr1 (roots q) ) } )
by XBOOLE_0:def 3;
then consider o being
Symbol of
F2(),
p being
Element of
(F1() . n) * such that A34:
(
x = [o,H3(o,p)] -tree p & ex
q being
FinSequence of
FinTrees [:the carrier of F2(),F3():] st
(
p = q &
o ==> pr1 (roots q) ) )
by A32, A33;
rng p c= F1()
. n
by FINSEQ_1:def 4;
then
rng p c= F
by A32, XBOOLE_1:1;
then reconsider p =
p as
FinSequence of
F by FINSEQ_1:def 4;
o ==> pr1 (roots p)
by A34;
hence
contradiction
by A28, A33, A34;
:: thesis: verum
end; end;
A35:
for n being Element of NAT holds S1[n]
from NAT_1:sch 1(A29, A31);
thus
X c= F
:: thesis: verum