let n be Nat; :: thesis: width (elementary_tree (n + 1)) = n + 1
set T = elementary_tree (n + 1);
now :: thesis: ex X being AntiChain_of_Prefixes of elementary_tree (n + 1) st
( n + 1 = card X & ( for Y being AntiChain_of_Prefixes of elementary_tree (n + 1) holds card Y <= card X ) )
{ <*k*> where k is Nat : k < n + 1 } is AntiChain_of_Prefixes-like
proof
thus for x being set st x in { <*k*> where k is Nat : k < n + 1 } holds
x is FinSequence :: according to TREES_1:def 10 :: thesis: for p1, p2 being FinSequence st p1 in { <*k*> where k is Nat : k < n + 1 } & p2 in { <*k*> where k is Nat : k < n + 1 } & p1 <> p2 holds
not p1,p2 are_c=-comparable
proof
let x be set ; :: thesis: ( x in { <*k*> where k is Nat : k < n + 1 } implies x is FinSequence )
assume x in { <*k*> where k is Nat : k < n + 1 } ; :: thesis: x is FinSequence
then ex k being Nat st
( x = <*k*> & k < n + 1 ) ;
hence x is FinSequence ; :: thesis: verum
end;
let p1, p2 be FinSequence; :: thesis: ( p1 in { <*k*> where k is Nat : k < n + 1 } & p2 in { <*k*> where k is Nat : k < n + 1 } & p1 <> p2 implies not p1,p2 are_c=-comparable )
assume ( p1 in { <*k*> where k is Nat : k < n + 1 } & p2 in { <*m*> where m is Nat : m < n + 1 } ) ; :: thesis: ( not p1 <> p2 or not p1,p2 are_c=-comparable )
then ( ex k being Nat st
( p1 = <*k*> & k < n + 1 ) & ex m being Nat st
( p2 = <*m*> & m < n + 1 ) ) ;
hence ( not p1 <> p2 or not p1,p2 are_c=-comparable ) by Th4; :: thesis: verum
end;
then reconsider X = { <*k*> where k is Nat : k < n + 1 } as AntiChain_of_Prefixes ;
X c= elementary_tree (n + 1) by XBOOLE_1:7;
then reconsider X = X as AntiChain_of_Prefixes of elementary_tree (n + 1) by Def11;
take X = X; :: thesis: ( n + 1 = card X & ( for Y being AntiChain_of_Prefixes of elementary_tree (n + 1) holds card Y <= card X ) )
X, Seg (n + 1) are_equipotent
proof
defpred S1[ object , object ] means ex n being Nat st
( $1 = <*n*> & $2 = n + 1 );
A1: for x, y, z being set st x in X & S1[x,y] & S1[x,z] holds
y = z
proof
let x, y, z be set ; :: thesis: ( x in X & S1[x,y] & S1[x,z] implies y = z )
assume x in X ; :: thesis: ( not S1[x,y] or not S1[x,z] or y = z )
given n1 being Nat such that A2: ( x = <*n1*> & y = n1 + 1 ) ; :: thesis: ( not S1[x,z] or y = z )
given n2 being Nat such that A3: ( x = <*n2*> & z = n2 + 1 ) ; :: thesis: y = z
<*n1*> . 1 = n1 ;
hence y = z by A2, A3, FINSEQ_1:def 8; :: thesis: verum
end;
A4: for x being object st x in X holds
ex y being object st S1[x,y]
proof
let x be object ; :: thesis: ( x in X implies ex y being object st S1[x,y] )
assume x in X ; :: thesis: ex y being object st S1[x,y]
then consider k being Nat such that
A5: x = <*k*> and
k < n + 1 ;
reconsider y = k + 1 as set ;
take y ; :: thesis: S1[x,y]
thus S1[x,y] by A5; :: thesis: verum
end;
consider f being Function such that
A6: ( dom f = X & ( for x being object st x in X holds
S1[x,f . x] ) ) from CLASSES1:sch 1(A4);
take f ; :: according to WELLORD2:def 4 :: thesis: ( f is one-to-one & dom f = X & rng f = Seg (n + 1) )
thus f is one-to-one :: thesis: ( dom f = X & rng f = Seg (n + 1) )
proof
let x, y be object ; :: according to FUNCT_1:def 4 :: thesis: ( not x in dom f or not y in dom f or not f . x = f . y or x = y )
assume that
A7: ( x in dom f & y in dom f ) and
A8: f . x = f . y ; :: thesis: x = y
( ex k1 being Nat st
( x = <*k1*> & f . x = k1 + 1 ) & ex k2 being Nat st
( y = <*k2*> & f . y = k2 + 1 ) ) by A6, A7;
hence x = y by A8; :: thesis: verum
end;
thus dom f = X by A6; :: thesis: rng f = Seg (n + 1)
thus rng f c= Seg (n + 1) :: according to XBOOLE_0:def 10 :: thesis: Seg (n + 1) is_a_prefix_of rng f
proof
let x be object ; :: according to TARSKI:def 3 :: thesis: ( not x in rng f or x in Seg (n + 1) )
assume x in rng f ; :: thesis: x in Seg (n + 1)
then consider y being object such that
A9: y in dom f and
A10: x = f . y by FUNCT_1:def 3;
consider k being Nat such that
A11: y = <*k*> and
A12: x = k + 1 by A6, A9, A10;
consider m being Nat such that
A13: ( y = <*m*> & m < n + 1 ) by A6, A9;
( <*k*> . 1 = k & <*m*> . 1 = m ) ;
then ( 0 + 1 <= k + 1 & k + 1 <= n + 1 ) by A11, A13, NAT_1:13;
hence x in Seg (n + 1) by A12, FINSEQ_1:1; :: thesis: verum
end;
let x be object ; :: according to TARSKI:def 3 :: thesis: ( not x in Seg (n + 1) or x in rng f )
assume A14: x in Seg (n + 1) ; :: thesis: x in rng f
then reconsider k = x as Nat ;
A15: 1 <= k by A14, FINSEQ_1:1;
A16: k <= n + 1 by A14, FINSEQ_1:1;
consider m being Nat such that
A17: k = 1 + m by A15, NAT_1:10;
reconsider m = m as Nat ;
m < n + 1 by A16, A17, NAT_1:13;
then A18: <*m*> in X ;
then S1[<*m*>,f . <*m*>] by A6;
then x = f . <*m*> by A1, A17, A18;
hence x in rng f by A6, A18, FUNCT_1:def 3; :: thesis: verum
end;
then A19: card (Seg (n + 1)) = card X by CARD_1:5;
hence n + 1 = card X by FINSEQ_1:57; :: thesis: for Y being AntiChain_of_Prefixes of elementary_tree (n + 1) holds card Y <= card X
let Y be AntiChain_of_Prefixes of elementary_tree (n + 1); :: thesis: card Y <= card X
A20: Y c= elementary_tree (n + 1) by Def11;
A21: ( {} in Y implies Y = {{}} )
proof
assume that
A22: {} in Y and
A23: Y <> {{}} ; :: thesis: contradiction
consider x being object such that
A24: ( ( x in Y & not x in {{}} ) or ( x in {{}} & not x in Y ) ) by A23, TARSKI:2;
A25: {} <> x by A22, A24, TARSKI:def 1;
reconsider x = x as FinSequence of NAT by A20, A24, Th18;
{} is_a_prefix_of x ;
then {} ,x are_c=-comparable ;
hence contradiction by A22, A24, A25, Def10, TARSKI:def 1; :: thesis: verum
end;
A26: ( card {{}} = 1 & 1 <= 1 + n ) by CARD_1:30, NAT_1:11;
now :: thesis: ( not {} in Y implies card Y <= card X )
assume A27: not {} in Y ; :: thesis: card Y <= card X
Y c= X
proof
let x be object ; :: according to TARSKI:def 3 :: thesis: ( not x in Y or x in X )
assume A28: x in Y ; :: thesis: x in X
then ( x in { <*k*> where k is Nat : k < n + 1 } or x in {{}} ) by A20, XBOOLE_0:def 3;
hence x in X by A27, A28, TARSKI:def 1; :: thesis: verum
end;
hence card Y <= card X by NAT_1:43; :: thesis: verum
end;
hence card Y <= card X by A19, A21, A26, FINSEQ_1:57; :: thesis: verum
end;
hence width (elementary_tree (n + 1)) = n + 1 by Def13; :: thesis: verum