For example, it can be done as follows.
restart; T := {{1}, {1, 5}, {4, 5}, {3, 4, 5}}:
with(combinat):
for j to nops(choose(T, 2)) do T := {choose(T, 2)[j, 1] union choose(T, 2)[j, 2]} union T: end do:
T;
{{1}, {1, 5}, {4, 5}, {1, 4, 5}, {3, 4, 5}, {1, 3, 4, 5}}