Quantifier Shenanigans

Siboot will use a set of Quantifiers ranging from −3 to +3; that’s 7 in all. However, SWAT provides Quantifiers ranging from 0 to +10; that’s 11 in all. I have to figure out how to get the Siboot Quantifiers working in SWAT.

The good news is that SWAT already has a rough system for handling this: groupings called 9-sets, 7-sets, and 5-sets. I would want to use a 7-set. Sappho has a command called isAMemberOf7Set, which returns true if the Quantifier is a member of the 7-set. However, there’s a catch: SWAT defines a 7-set as the standard 11-set minus the Quantifiers for 1, 4, 6, and 9. In other words, a 7-set covers the same amount of space as the 11-set (from −1.00 to +1.00) but does so rather jumpily, retaining values 0, 2, 3, 5, 7, 8, and 10.

SWAT converts Quantifiers to BNumbers using this equation:

B = (Q - 5)/ 5.1

which yields the following table of results:

Q        B

0      -0.98
1      -0.78
2      -0.59
3      -0.39
4      -0.19
5       0.0
6      +0.19
7      +0.39
8      +0.59
9      +0.78
10     +0.98

The Quantifiers that are excluded from Siboot are marked in red; as you can see, the differences between values will be quite jerky. I need a way to fix this an even out the gaps, and I think that I can do it with a custom operator. 

But a trickier question looms: should I use the full range of Quantifiers as defined by SWAT, and some how patch over its jerky values for Quantifier2BNumber, or should I use a 7-set that is continuous but covers a smaller range? I was able to build something that does this, but it’s ugly as sin.