I tested this thing with rule based traits. I created two rule based traits, and then two segments using both the traits. Segment1 uses Trait1 AND NOT Trait2, and Segment2 uses Trait1 AND Trait2.
I then used signal of Trait1 for a new visitor so that it gets qualified for Segment1. Then I accessed another page on that site that used an event to get qualified for Trait2. It was working on real time basis, that visitor went out of Segment1 and got into Segment2 upon getting qualified for Trait2.
So, the sequence you explained is correct.
Also, please note that this is a way to unsegment a user from a segment in real time, but there is no way to unrealize a user from a trait on real time at present.
So If I understood you correctly, the sequence would be:
The user belongs to Segment 1.
The user qualifies trait B.
The user quits Segment 1 and joins Segment 2.
I am sorry to insist, but the part of quitting a segment is pretty important for our project. How often is segment belonging evaluated? Every time a user qualifies a trait?
Thinking about these doubts makes me wonder the behaviour of AAM in another scenario. If a segment is defined by traits A and B and after some time, those traits are replaced by traits C and D. All the users a re-evaluated after changing the segment?