Tensions in Practice: Conjunctive restrictions in tension with alternative matches¶
Three objects and two tag-search contracts
Object R is red and square, S is blue and round, and T is red and round. One search mode requires every selected tag; another requires at least one selected tag. With Red alone they agree. With Red and Round they differ. With no selected tags, every object satisfies all zero restrictions, but no object can match at least one of zero alternatives.
Require every selected property
Treat tags as restrictions that all matches must satisfy.
Admit any selected property
Treat tags as alternative ways for an object to qualify.
Why these aims pull against each other
The empty input is valid in both modes. Its opposite results follow from conjunction versus disjunction, so a user cannot infer the result from the empty list alone.
Choose an arrangement to see what changes and what remains difficult.
R is red and square; S is blue and round; T is red and round. Yes means returned by the declared query. The same input rows make the empty-family identities visible.
What this choice protects
What it costs
When it fits
Compare the arrangements
Require all tags
Intersect the matching sets for selected tags. Define the intersection of no restrictions over this fixed universe as the whole universe.
| R | S | T | |
|---|---|---|---|
| No tags | Yes | Yes | Yes |
| Red | Yes | No | Yes |
| Red + round | No | No | Yes |
- What it protects
- Each returned object meets every chosen restriction; clearing restrictions restores the full catalog.
- What it costs
- Combining tags can exclude objects that match one desired property but not the other.
- When it fits
- Fits a narrowing search in which each tag adds a requirement.
Illustration note: The no-tag result is vacuous satisfaction, not evidence that an object has an unlisted property.
Accept any tag
Union the matching sets for selected tags. The union of no selected alternatives is empty.
| R | S | T | |
|---|---|---|---|
| No tags | No | No | No |
| Red | Yes | No | Yes |
| Red + round | Yes | Yes | Yes |
- What it protects
- Selecting alternatives broadens discovery to any of the named categories.
- What it costs
- Results need not satisfy every tag; clearing all alternatives leaves no matches.
- When it fits
- Fits a selection query in which at least one positive match is required.
Illustration note: The empty result means no qualifying alternative was selected. It does not mean the catalog is empty or loading failed.
What this illustration does—and does not—establish
The source supplies the structural tension. This bounded example makes a particular relation inspectable; the aims, conditions and residual costs are part of the comparison.
- R, S and T form the entire invented universe; tag membership is exact and fixed.
- These are two deliberately distinct query contracts. Neither is a silent fallback or an interpretation of null.
- The all-tags empty intersection requires a specified universe. It is not the same operation as intersecting a nonempty set with an empty set.
Source entries
Empty Set
The canonical tension motivates this comparison. The setting and arrangements are declared editorial illustrations, not observed findings.
Identity Element versus Absorbing Element
The empty case is the do-nothing identity for some operations (∅ for union, [] for concatenation) but the absorbing zero for others (∅ for intersection, the empty set as ∩-annihilator over the universe). Which role it plays is operation-relative, and the two are opposites.
The source operation
The empty set is a *well-typed absence*: a collection that is fully specified, fully a member of the kind "collection," yet contains nothing.