// Test set formers // Test the structure {i in {} | #1}; {i in {1} | #1}; {i in {1,2,3,4} | #1}; {i in {1,2,3,4} | #0}; // Test the conditions that depend on i {j in {1,2,3,4,5,6,7,8,9,10} | j%3==0}; {i in [1,100] | i%11 == 0}; // Nest set formers in domain {i in {j in {2,3,4,5} | #1} | i%2==0}; {i in {j in [1,100] | j%3==0} | i%2==0}; {i in {i in [1,100] | i%3==0} | i%2==0}; // Nest set formers in condition {i in [1,100] | i =in {j in [1,100] | j%11==0} }; {i in [1,100] | i =in {j in {k in [1,100] | k%3==0} | j%5==0} }; {i in [1,100] | i =in {i in {i in [1,100] | i%3==0} | i%5==0} }; //Nest them everywhere {i in {i in [1,100]|i%2==0} | i =in {i in {i in [1,100] | i%3==0} | i%5==0} }; function ShrinkSet(Set,i,j,k) return {i in {i in [1,j]|i%k==0} | i =in {j in {k in Set | k%3==0} | j%k==0} }; end; ShrinkSet([1,100],10,200,5);