Hi,I need to find all subsets of an integer range which are continuous. For example forInput:- 1..4output:- {1}, {2}, {3}, {4}, {1,2}, {2,3}, {3,4}, {1,2,3}, {2,3,4}, {1,2,3,4}I wrote the following operator and check with "Evaluate Constant _expression_ in TLC". It is giving me an unexpected output{s \in SUBSET {1,2,3,4}: /\ s # {}
/\ \A x \in s : IF x = Max(s) THEN TRUE \* if x is maximum of the range than TRUE ELSE (x+1) \in s} \* other wise x+1 should be there in the set
The output I am getting is
{s \in {{}, {1}, {2}, {3}, {4}, {1, 2}, {1, 3}, {1, 4}, {2, 3}, {2, 4}, {3, 4}, {1, 2, 3}, {1, 2, 4}, {1, 3, 4}, {2, 3, 4}, {1, 2, 3, 4}} : <_expression_ line 11, col 27 to line 12, col 428 of module MC> }
Question:-
1. What are these charcaters I am getting in the output? Is this some error?
I tried it on 1.5.7 and am getting the correct result. Could you share your definition of the Max operator?2. Is there a better/easier way of doing this?
In this case, instead of filtering out all of the sets that don't match your criteria, I think it's easier to generate all of the sets that do match your criteria. This would use a set map instead of a set filter:>>> {a..b: a, b \in {1,2,3,4}}{{}, 1..1, 2..2, 3..3, 4..4, 1..2, 2..3, 3..4, 1..3, 2..4, 1..4}We get the empty set because if a > b, then a..b is empty.Thanks
Maneet
Hillel--
You received this message because you are subscribed to the Google Groups "tlaplus" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tlaplus+unsubscribe@googlegroups.com .
To post to this group, send email to tla...@xxxxxxxxxxxxxxxx.
Visit this group at https://groups.google.com/group/tlaplus .
For more options, visit https://groups.google.com/d/optout .