A1: X . v, FreeGen (v,X) are_equipotent
proof
set Z = { [a,(root-tree [a,v])] where a is Element of X . v : verum } ;
take { [a,(root-tree [a,v])] where a is Element of X . v : verum } ; :: according to TARSKI:def 6 :: thesis: ( ( for b1 being object holds
( not b1 in X . v or ex b2 being object st
( b2 in FreeGen (v,X) & [b1,b2] in { [a,(root-tree [a,v])] where a is Element of X . v : verum } ) ) ) & ( for b1 being object holds
( not b1 in FreeGen (v,X) or ex b2 being object st
( b2 in X . v & [b2,b1] in { [a,(root-tree [a,v])] where a is Element of X . v : verum } ) ) ) & ( for b1, b2, b3, b4 being object holds
( not [b1,b2] in { [a,(root-tree [a,v])] where a is Element of X . v : verum } or not [b3,b4] in { [a,(root-tree [a,v])] where a is Element of X . v : verum } or ( ( not b1 = b3 or b2 = b4 ) & ( not b2 = b4 or b1 = b3 ) ) ) ) )

hereby :: thesis: ( ( for b1 being object holds
( not b1 in FreeGen (v,X) or ex b2 being object st
( b2 in X . v & [b2,b1] in { [a,(root-tree [a,v])] where a is Element of X . v : verum } ) ) ) & ( for b1, b2, b3, b4 being object holds
( not [b1,b2] in { [a,(root-tree [a,v])] where a is Element of X . v : verum } or not [b3,b4] in { [a,(root-tree [a,v])] where a is Element of X . v : verum } or ( ( not b1 = b3 or b2 = b4 ) & ( not b2 = b4 or b1 = b3 ) ) ) ) )
let x be object ; :: thesis: ( x in X . v implies ex y being object st
( y in FreeGen (v,X) & [x,y] in { [a,(root-tree [a,v])] where a is Element of X . v : verum } ) )

assume A2: x in X . v ; :: thesis: ex y being object st
( y in FreeGen (v,X) & [x,y] in { [a,(root-tree [a,v])] where a is Element of X . v : verum } )

reconsider y = root-tree [x,v] as object ;
take y = y; :: thesis: ( y in FreeGen (v,X) & [x,y] in { [a,(root-tree [a,v])] where a is Element of X . v : verum } )
thus y in FreeGen (v,X) by A2, MSAFREE:def 15; :: thesis: [x,y] in { [a,(root-tree [a,v])] where a is Element of X . v : verum }
thus [x,y] in { [a,(root-tree [a,v])] where a is Element of X . v : verum } by A2; :: thesis: verum
end;
hereby :: thesis: for b1, b2, b3, b4 being object holds
( not [b1,b2] in { [a,(root-tree [a,v])] where a is Element of X . v : verum } or not [b3,b4] in { [a,(root-tree [a,v])] where a is Element of X . v : verum } or ( ( not b1 = b3 or b2 = b4 ) & ( not b2 = b4 or b1 = b3 ) ) )
let y be object ; :: thesis: ( y in FreeGen (v,X) implies ex x being object st
( x in X . v & [x,y] in { [a,(root-tree [a,v])] where a is Element of X . v : verum } ) )

assume y in FreeGen (v,X) ; :: thesis: ex x being object st
( x in X . v & [x,y] in { [a,(root-tree [a,v])] where a is Element of X . v : verum } )

then consider x being set such that
A3: x in X . v and
A4: y = root-tree [x,v] by MSAFREE:def 15;
reconsider x = x as object ;
take x = x; :: thesis: ( x in X . v & [x,y] in { [a,(root-tree [a,v])] where a is Element of X . v : verum } )
thus x in X . v by A3; :: thesis: [x,y] in { [a,(root-tree [a,v])] where a is Element of X . v : verum }
thus [x,y] in { [a,(root-tree [a,v])] where a is Element of X . v : verum } by A3, A4; :: thesis: verum
end;
let x, y, z, u be object ; :: thesis: ( not [x,y] in { [a,(root-tree [a,v])] where a is Element of X . v : verum } or not [z,u] in { [a,(root-tree [a,v])] where a is Element of X . v : verum } or ( ( not x = z or y = u ) & ( not y = u or x = z ) ) )
assume that
A5: [x,y] in { [a,(root-tree [a,v])] where a is Element of X . v : verum } and
A6: [z,u] in { [a,(root-tree [a,v])] where a is Element of X . v : verum } ; :: thesis: ( ( not x = z or y = u ) & ( not y = u or x = z ) )
consider a being Element of X . v such that
A7: [x,y] = [a,(root-tree [a,v])] by A5;
consider b being Element of X . v such that
A8: [z,u] = [b,(root-tree [b,v])] by A6;
A9: z = b by A8, XTUPLE_0:1;
A10: x = a by A7, XTUPLE_0:1;
hence ( x = z implies y = u ) by A7, A8, A9, XTUPLE_0:1; :: thesis: ( not y = u or x = z )
A11: y = root-tree [a,v] by A7, XTUPLE_0:1;
A12: u = root-tree [b,v] by A8, XTUPLE_0:1;
assume y = u ; :: thesis: x = z
then [a,v] = [b,v] by A11, A12, TREES_4:4;
hence x = z by A10, A9, XTUPLE_0:1; :: thesis: verum
end;
thus FreeGen (v,X) is finite by A1, CARD_1:38; :: thesis: verum