Terms in an intersection operation are commutative.
a ∩ b = b ∩ a
Terms in an intersection operation are associative.
a ∩ (b ∩ c) = (a ∩ b) ∩ c
Duplicate terms cancel
a ∩ a = a
If set a is contained in set b, the intersection of them is set a
Adjacent ** should cancel
**.** = **
If you want to specify 2+
*.**
Break down complex scopes into components whose intersection is the original
a.**.a => a.** ∩ **.a
a.**.a.** => a.** ∩ **.a.**
**.a.**.a => **.a.** ∩ **.a
-
Decontruct
(a.**.a.**) ∩ (**.a.**.a) = (a.** ∩ **.a.**) ∩ (**.a.** ∩ **.a)
-
Deduplicate terms
(a.** ∩ **.a.**) ∩ (**.a.** ∩ **.a) = (a.**) ∩ (**.a.**) ∩ (**.a)
(a.a.**.**.**.a) ∩ (**.**.a.**.**)
=
(a.**.a.**.a.**.a) ∩ (**.**.a.**.**)
=
() ∩ ()
=
() ∩ ()
=