# Functions

NewConjunction creates a new Conjunction.
ValidateAssignment does sanity check on assignment.

# Variables

ErrorDuplicateLabelName indicates there is duplicated label name in an assignment.

# Structs

Attribute is the pair of key-value, e.g., age:10, representing 'belongs to' The value here is discrete, but for range values, like age < 40, we can convert it into multiple pairs: age < 40 ---> age = 10, age = 20, age = 30, the granularity is 10.
Conjunction consists of a slice of Attributes, which are combined with 'AND' logic.
Label is a simple k/v pair: like <age:30>.

# Type aliases

Assignment is a slice of Label, equals to 'assignment S' in the paper.