ASPL Operations Guide v 1.00
© 2025 Bassem W. Jamaleddine


1-1

   Setness Comparison

ASPL provides operators to do set comparison between your set variables, these operators are called setcomparison operators. These are as follows: equal, subset, superset, and disjoint. These four operators, along their derivatives, are termed setadic operators: their operands are set variables representing groups. The derivative of a set comparison operator is the operator mnemonic name suffixed with either one of the syntatic amplifier words: mostly or loosely, so that the operator amplifies the comparison operation carried by it.

The mostly is a settable percentage using the mostly command, directing ASPL set comparison operators to do the comparison based on a certain percentage. If you type the command mostly at the ASPL prompt, then hit ENTER, you will realize that this command provides a percentage number that is used as an amplifier for the set comparison.
The loosely amplifier makes a loosely set comparison at the elements level by ignoring the group label and its subgroups.
Furthemore, the set comparison can be further intensified by ignoring the elements attributes; this is simply done by further prefixing the operator with the intensifier word noeattr.

The following shows the output when entering mostly at the ASPL prompt:
# aspl

      ______  ____    ______  __
     / __  / / ___\  / __  / / /
    / /_/ /  \ \    / ____/ / /
   / __  /  __  \  / /     / /
  / / / /  / __ / / /     / /____
 /_/ /_/   \___/ /_/     /______/

  STARTING ASPL SESSION WITH WORKSPACE:  TRIVIAL
  NAMED GROUP:  ZEROGROUP
     last saved 2023-05-15 02:31:49.734247

2:47:40 root@vienna /home/bassem  aspl:1 >  mostly

  mostly percent is set to 20

    that is 20% mostly acceptance for set comparison operators

   To change the mostly percentage, use the command 'mostly' followed by an integer between 0 and 100

   When set comparison operator is prefixed with mostly, then this operator will use the
   mostly percentage to determine if the set comparison is true or false.

   The mostly is a number between 0 and 100 and it represents the acceptance percentage
   or the unacceptance percentage when comparing set variables. When mostly is set to 0
   then all set comparison operators will return true. When mostly is set to 100 then
   a mostly-set-comparison-operator will return true if and only if it is 100% true without its
   mostly quantifier.
   To use mostly the set comparison operators are prefixed with "mostly":
        mostlyEqual mostlyDisjoint mostlySubset mostlySuperset mostlyLooselyEqual ..

   For mostlyEqual the percentage is to accept equality if the ratio of the matching elements of both set variables
   are larger then the percentage.
   For mostlyDisjoint the percentage is to accept inequality if the ratio of the unmatched elements of both set
   variables are larger then the percentage.

    "mostlyEqual S1 S2"    return TRUE if 20% or more of the elements are in S1 and in S2
    "mostlyDisjoint S1 S2" return TRUE if 20% or more of the elements of set S1 and S2 are not in both sets
    "mostlySubset S1 S2"   return TRUE if 20% or more of the elements of set S1 are in S2
    "mostlySuperset S1 S2" return TRUE if 20% or more of the elements of set S2 are in S1

   Setting this to 0 will make everything vanish to 0 and always true for anything mostly- equal, disjoint, subset, or superset
   Setting this to 100 will make mostlyEqual true if and only if the sets are really Equal, that is:
   Setting this to 100 will make mostlyEqual equivalent to the Equal
   Setting this to 100 will make mostlySubset equivalent to the Subset


At anytime, type setcomparison at the ASPL prompt to get the summary of ASPL set comparison operators. The following four sections describe the setness comparison operators along their amplifications.

■ SET EQUALITY and its Amplifiers

This equal can be amplified by prefixing it with amplification syntax shown in the following table:

 -TB- Tab. 1.1.1   [SET EQUALITY and its Amplifiers][SET EQUALITY and its Amplifiers]
Equal  determines if two or more sets are equal 
mostlyEqual  determines if two or more sets are mostly equal 
looselyEqual  determines if two or more sets are loosely equal 
mostlyLooselyEqual  determines if two or more sets are mostly loosely equal 
noeattrEqual  determines if two or more sets (ignoring the attributes) are equal 
mostlyNoeattrEqual  determines if two or more sets (ignoring the attributes) are equal 
looselyNoeattrEqual  determines if two or more sets (ignoring the attributes) are mostly equal 
mostlyLooselyNoeattrEqual  determines if two or more sets (ignoring the attributes) are mostly loosely equal 
(C)2021-2025 ASPL Inc.

 

■ SUBSETNESS and its Amplifiers

This subset can be amplified by prefixing it with amplification syntax shown in the following table:

 -TB- Tab. 1.1.2   [SUBSETNESS and its Amplifiers][SUBSETNESS and its Amplifiers]
Subset  determines if a set is a subset of a set or of a series of sets 
mostlySubset  determines if a set is mostly a subset of a set or of a series of sets 
looselySubset  determines if a set is loosely a subset of a set or of a series of sets 
mostlyLooselySubset  determines if a set is mostly loosely a subset of a set or of a series of sets 
noeattrSubset  determines if a set (ignoring the attributes) is a subset of a set or of a series of sets 
mostlyNoeattrSubset  determines if a set (ignoring the attributes) is mostly a subset of a set or of a series of sets 
looselyNoeattrSubset  determines if a set (ignoring the attributes) is loosely a subset of a set or of a series of sets 
mostlyLooselyNoeattrSubset  determines if a set (ignoring the attributes) is mostly loosely a subset of a set or of a series of sets 
(C)2021-2025 ASPL Inc.

 

■ SUPERSETNESS and its Amplifiers

This superset can be amplified by prefixing it with amplification syntax shown in the following table:

 -TB- Tab. 1.1.3   [SUPERSETNESS and its Amplifiers][SUPERSETNESS and its Amplifiers]
Superset  determines if a set is a superset of a set or of a series of sets 
mostlySuperset  determines if a set is mostly a superset of a set or of a series of sets 
looselySuperset  determines if a set is loosly a superset of a set or of a series of sets 
mostlyLooselySuperset  determines if a set is mostly loosely a superset of a set or of a series of sets 
noeattrSuperset  determines if a set (ignoring the attributes) is a superset of a set or of a series of sets 
mostlyNoeattrSuperset  determines if a set (ignoring the attributes) is mostly a superset of a set or of a series of sets 
looselyNoeattrSuperset  determines if a set (ignoring the attributes) is loosely a superset of a set or of a series of sets 
mostlyLooselyNoeattrSuperset  determines if a set (ignoring the attributes) is mostly loosely a superset of a set or of a series of sets 
(C)2021-2025 ASPL Inc.

 

■ DISJOINTNESS and its Amplifiers

This disjoint can be amplified by prefixing it with amplification syntax shown in the following table:

 -TB- Tab. 1.1.4   [DISJOINTNESS and its Amplifiers][DISJOINTNESS and its Amplifiers]
Disjoint  determines if two or more sets are disjoint 
mostlyDisjoint  determines if two or more sets are mostly disjoint 
looselyDisjoint  determines if two or more sets are loosely disjoint 
mostlyLooselyDisjoint  determines if two or more sets are mostly loosely disjoint 
noeattrDisjoint  determines if two or more sets (ignoring the attributes) are disjoint 
mostlyNoeattrDisjoint  determines if two or more sets (ignoring the attributes) are mostly disjoint 
looselyNoeattrDisjoint  determines if two or more sets (ignoring the attributes) are loosely disjoint 
mostlyLooselyNoeattrDisjoint  determines if two or more sets (ignoring the attributes) are mostly loosely disjoint 
(C)2021-2025 ASPL Inc.