The power set of the power set of {0, 1} has 16 members, so the power set of the power set of the power set of {0, 1} has 2^16 members. 2^16 = 65,536.
<!DOCTYPE html>
<!-- Steve Ratering
2021/8/16
Display the power set of the power set of the power set of {0,1}.
PS({}) = {{}}
PS({a, ...}) = PS({...}) U {a} + PS({...})
-->
<head>
<title>Power Set</title>
<script>
function addm(first, ps){
// if ps is {{1},{0}} return {first,1},{first,0}}
// if ps is {{}} return {first}}
// when depth goes from 1 to 2 insert <first,>
// except no , if next char is }
var depth = 1;
var i;
var result = "";
for (i = 1; i < ps.length; i++){
result += ps[i];
if (ps[i] == "{"){
depth++;
if (depth == 2){
if (ps[i + 1] == "}"){
result += first;
} else {
result += (first + ",");
}
}
}
if (ps[i] == "}"){
depth--;
}
}
return result;
}
function unionFirstPlus(ps, first){
return ps.substring(0, ps.length - 1) + "," + addm(first, ps);
}
function first(s){
// s is a balanced string of characters from '{' '}' '0' '1' ','
var depth = 0;
var i, prevState;
var result = "";
var state = "before";
for (i = 0; i < s.length; i++){
prevState = state;
if (s[i] == "{"){
depth++;
if (prevState == "before" && depth == 1){
state = "open";
}
if (prevState == "open" && depth == 2){
state = "in";
}
}
if (s[i] == "}"){
depth--;
if (depth == 1 && prevState == "in"){
result += s[i];
return result;
}
}
if (state == "in"){
result += s[i];
}
if (prevState == "open" && state != "in" && (s[i] == "0" || s[i] == "1")){
return s[i];
}
}
}
function rest(s){
// s is a balanced string of characters from '{' '}' '0' '1' ','
var depth = 0;
var i, prevState;
var result = "";
var state = "before";
for (i = 0; i < s.length; i++){
prevState = state;
if (s[i] == "{"){
depth++;
if (prevState == "before" && depth == 1){
state = "open";
var result = "{";
}
if (prevState == "open" && depth == 2){
state = "in";
}
}
if (s[i] == "}"){
depth--;
if (depth == 1 && prevState == "in"){
state = "out";
}
if (depth == 0){
result += s[i];
return result;
}
}
if (depth == 1 && s[i] == ","){
state = "copy";
}
if (prevState == "copy"){
result += s[i];
}
}
}
function powerSet(s){
var car, cdr;
if (s == '{}'){
return '{{}}';
} else {
car = first(s);
cdr = rest(s);
return unionFirstPlus(powerSet(cdr), car);
}
}
function fn(){
var binarySet = '{0,1}';
var emptySet = '{}';
var result = powerSet(powerSet(powerSet(binarySet)));
// var result = powerSet(powerSet(powerSet(powerSet(powerSet(emptySet)))));
document.getElementById('output').innerHTML = result;
}
</script>
</head>
<body>
<p id = 'output'></p>
<script>
fn();
</script>
</body>
</html>