set/proper-superset
Proper superset test (strict set containment relation)
Usage
R:=set/proper-superset(A, B)R:=A⊋B
Description
Determines whether set A is a proper superset of set B.
A proper superset contains all elements of another set and at least one more.
This function returns a boolean value indicating the result.
The implementation wraps the Rust IndexSet containment logic and
preserves Mech's deterministic order semantics for reproducibility.
Input
Arguments:
A : set of T — candidate superset
B : set of T — subset being tested
Element type constraints:
Tmust be hashable and comparable for equality (Eq+Hashin Rust).Common scalar kinds: integers, strings, symbols, booleans.
Output
Result:
- R : boolean — true if all elements of B are contained in A and A has
at least one element not present in B.
Examples
True proper superset
False — equal sets
False — missing an element
Details
Set semantics:
Inputs are treated as sets (duplicates ignored).
Order does not affect results.
Relation logic:
- A is a proper superset of B if every element of B exists in A
and A has at least one additional distinct element.
Symbolic shorthand:
A ⊋ Bis equivalent toset/proper_superset(A, B).
Performance:
Average
O(|B|)time using hashing; memoryO(1).
Determinism:
Results are deterministic across runs and platforms.
Errors
Incorrect number of arguments (expects two).
Unsupported element type (not hashable or comparable).
Inconsistent element kinds between A and B.