tpmkms
Version:
Reusable libraries for Entodicton, a natural language to json converter
1,361 lines • 168 kB
JSON
{
"configs": [
"price and quantity are properties",
"worth means price times quantity"
],
"resultss": [
{
"hierarchy": [
[
"a",
"article",
false
],
[
"action",
"action",
false
],
[
"adjective",
"adjective",
false
],
[
"all",
"quantifier",
false
],
[
"article",
"article",
false
],
[
"ascending",
"hierarchyAble",
false
],
[
"ascending",
"isEdee",
false
],
[
"ascending",
"isEder",
false
],
[
"ascending",
"object",
false
],
[
"ascending",
"ordering",
false
],
[
"ascending",
"property",
false
],
[
"ascending",
"queryable",
false
],
[
"ascending",
"sort_ordering",
false
],
[
"ascending",
"theAble",
false
],
[
"ascending",
"thisAble",
false
],
[
"between",
"preposition",
false
],
[
"call",
"verb",
false
],
[
"canBeDoQuestion",
"canBeDoQuestion",
false
],
[
"canBeQuestion",
"canBeQuestion",
false
],
[
"changeable",
"changeable",
false
],
[
"changes",
"event",
false
],
[
"changes",
"verb",
false
],
[
"column",
"toAble",
false
],
[
"column",
"to_after_column_toAble",
false
],
[
"comparable",
"theAble",
false
],
[
"concept",
"queryable",
false
],
[
"concept",
"theAble",
false
],
[
"condition",
"concept",
false
],
[
"condition",
"hierarchyAble",
false
],
[
"condition",
"isEdee",
false
],
[
"condition",
"isEder",
false
],
[
"condition",
"object",
false
],
[
"condition",
"property",
false
],
[
"condition",
"queryable",
false
],
[
"condition",
"theAble",
false
],
[
"condition",
"thisAble",
false
],
[
"cost",
"that_after_cost_thisAble",
false
],
[
"countable",
"hierarchyAble",
false
],
[
"deletable",
"deletable",
false
],
[
"delete",
"verb",
false
],
[
"descending",
"hierarchyAble",
false
],
[
"descending",
"isEdee",
false
],
[
"descending",
"isEder",
false
],
[
"descending",
"object",
false
],
[
"descending",
"ordering",
false
],
[
"descending",
"property",
false
],
[
"descending",
"queryable",
false
],
[
"descending",
"sort_ordering",
false
],
[
"descending",
"theAble",
false
],
[
"descending",
"thisAble",
false
],
[
"describe",
"verb",
false
],
[
"direction",
"direction",
false
],
[
"distributable",
"queryable",
false
],
[
"divideByExpression",
"mathematicalExpression",
false
],
[
"divideByOperator",
"mathematical_operator",
false
],
[
"doubleQuote",
"queryable",
false
],
[
"each",
"article",
false
],
[
"event",
"event",
false
],
[
"every",
"article",
false
],
[
"hasCountOfPieces",
"countable",
false
],
[
"have",
"canBeDoQuestion",
false
],
[
"have",
"canBeQuestion",
false
],
[
"hierarchyAble",
"queryable",
false
],
[
"highest",
"hierarchyAble",
false
],
[
"highest",
"isEdee",
false
],
[
"highest",
"isEder",
false
],
[
"highest",
"object",
false
],
[
"highest",
"property",
false
],
[
"highest",
"queryable",
false
],
[
"highest",
"superlative",
false
],
[
"highest",
"theAble",
false
],
[
"highest",
"thisAble",
false
],
[
"ifAble",
"ifAble",
false
],
[
"integer",
"number",
false
],
[
"is",
"canBeQuestion",
false
],
[
"is",
"verb",
false
],
[
"isEdee",
"isEdee",
false
],
[
"isEder",
"isEder",
false
],
[
"isQuery",
"verb",
false
],
[
"it",
"pronoun",
false
],
[
"it",
"queryable",
false
],
[
"it",
"thisitthat",
false
],
[
"it",
"toAble",
false
],
[
"left",
"direction",
false
],
[
"listable",
"theAble",
false
],
[
"lowest",
"hierarchyAble",
false
],
[
"lowest",
"isEdee",
false
],
[
"lowest",
"isEder",
false
],
[
"lowest",
"object",
false
],
[
"lowest",
"property",
false
],
[
"lowest",
"queryable",
false
],
[
"lowest",
"superlative",
false
],
[
"lowest",
"theAble",
false
],
[
"lowest",
"thisAble",
false
],
[
"mathematical",
"hierarchyAble",
false
],
[
"mathematical",
"isEdee",
false
],
[
"mathematical",
"isEder",
false
],
[
"mathematical",
"object",
false
],
[
"mathematical",
"operator_modifier",
false
],
[
"mathematical",
"property",
false
],
[
"mathematical",
"queryable",
false
],
[
"mathematical",
"theAble",
false
],
[
"mathematicalExpression",
"concept",
false
],
[
"mathematicalExpression",
"property",
false
],
[
"mathematical_operator",
"adjective",
true
],
[
"mathematical_operator",
"concept",
false
],
[
"mathematical_operator",
"hierarchyAble",
false
],
[
"mathematical_operator",
"isEdee",
false
],
[
"mathematical_operator",
"isEder",
false
],
[
"mathematical_operator",
"object",
false
],
[
"mathematical_operator",
"operator",
false
],
[
"mathematical_operator",
"property",
false
],
[
"mathematical_operator",
"queryable",
false
],
[
"mathematical_operator",
"theAble",
false
],
[
"maximum",
"hierarchyAble",
false
],
[
"maximum",
"isEdee",
false
],
[
"maximum",
"isEder",
false
],
[
"maximum",
"object",
false
],
[
"maximum",
"property",
false
],
[
"maximum",
"queryable",
false
],
[
"maximum",
"superlative",
false
],
[
"maximum",
"theAble",
false
],
[
"maximum",
"thisAble",
false
],
[
"memorable",
"deletable",
false
],
[
"memorable",
"theAble",
false
],
[
"minimum",
"hierarchyAble",
false
],
[
"minimum",
"isEdee",
false
],
[
"minimum",
"isEder",
false
],
[
"minimum",
"object",
false
],
[
"minimum",
"property",
false
],
[
"minimum",
"queryable",
false
],
[
"minimum",
"superlative",
false
],
[
"minimum",
"theAble",
false
],
[
"minimum",
"thisAble",
false
],
[
"minusExpression",
"mathematicalExpression",
false
],
[
"minusOperator",
"mathematical_operator",
false
],
[
"modifies",
"verb",
false
],
[
"move",
"reportAction",
false
],
[
"negatable",
"queryable",
false
],
[
"noun",
"theAble",
false
],
[
"noun",
"thisAble",
false
],
[
"number",
"quantifier",
false
],
[
"number",
"queryable",
false
],
[
"object",
"listable",
false
],
[
"object",
"queryable",
false
],
[
"object",
"theAble",
false
],
[
"operator",
"concept",
false
],
[
"operator",
"hierarchyAble",
false
],
[
"operator",
"isEdee",
false
],
[
"operator",
"isEder",
false
],
[
"operator",
"object",
false
],
[
"operator",
"property",
false
],
[
"operator",
"queryable",
false
],
[
"operator",
"theAble",
false
],
[
"operator_modifier",
"adjective",
false
],
[
"orAble",
"ifAble",
false
],
[
"ordering",
"concept",
false
],
[
"ordering",
"hierarchyAble",
false
],
[
"ordering",
"isEdee",
false
],
[
"ordering",
"isEder",
false
],
[
"ordering",
"object",
false
],
[
"ordering",
"property",
false
],
[
"ordering",
"queryable",
false
],
[
"ordering",
"theAble",
false
],
[
"ordering_modifier",
"adjective",
false
],
[
"plusExpression",
"mathematicalExpression",
false
],
[
"plusOperator",
"mathematical_operator",
false
],
[
"preposition",
"preposition",
false
],
[
"price",
"number",
false
],
[
"price",
"property",
false
],
[
"product",
"the_after_product_property_theAble",
false
],
[
"pronoun",
"pronoun",
false
],
[
"property",
"comparable",
false
],
[
"property",
"queryable",
false
],
[
"property",
"theAble",
false
],
[
"property",
"the_after_product_property_theAble",
false
],
[
"propertyOf",
"preposition",
false
],
[
"punctuation",
"punctuation",
false
],
[
"quantifier",
"quantifier",
false
],
[
"quantity",
"number",
false
],
[
"quantity",
"property",
false
],
[
"queryable",
"listable",
false
],
[
"questionMark",
"punctuation",
false
],
[
"readonly",
"queryable",
false
],
[
"reason",
"queryable",
false
],
[
"reason",
"theAble",
false
],
[
"recall",
"verb",
false
],
[
"remember",
"verb",
false
],
[
"remove",
"reportAction",
false
],
[
"report",
"changeable",
false
],
[
"report",
"it",
false
],
[
"report",
"theAble",
false
],
[
"report",
"this",
false
],
[
"reportAction",
"reportAction",
false
],
[
"right",
"direction",
false
],
[
"show",
"action",
false
],
[
"show",
"verb",
false
],
[
"sort",
"hierarchyAble",
false
],
[
"sort",
"isEdee",
false
],
[
"sort",
"isEder",
false
],
[
"sort",
"object",
false
],
[
"sort",
"ordering_modifier",
false
],
[
"sort",
"property",
false
],
[
"sort",
"queryable",
false
],
[
"sort",
"theAble",
false
],
[
"sortOrdering",
"adjective",
false
],
[
"sort_ordering",
"adjective",
true
],
[
"sort_ordering",
"concept",
false
],
[
"sort_ordering",
"hierarchyAble",
false
],
[
"sort_ordering",
"isEdee",
false
],
[
"sort_ordering",
"isEder",
false
],
[
"sort_ordering",
"object",
false
],
[
"sort_ordering",
"ordering",
false
],
[
"sort_ordering",
"property",
false
],
[
"sort_ordering",
"queryable",
false
],
[
"sort_ordering",
"theAble",
false
],
[
"stm_before",
"adjective",
false
],
[
"stm_current",
"adjective",
false
],
[
"stm_previous",
"adjective",
false
],
[
"superlative",
"condition",
false
],
[
"superlative",
"hierarchyAble",
false
],
[
"superlative",
"isEdee",
false
],
[
"superlative",
"isEder",
false
],
[
"superlative",
"object",
false
],
[
"superlative",
"property",
false
],
[
"superlative",
"queryable",
false
],
[
"superlative",
"theAble",
false
],
[
"superlative",
"thisAble",
false
],
[
"that",
"thisitthat",
false
],
[
"that_after_cost_thisAble",
"that_after_cost_thisAble",
false
],
[
"the",
"article",
false
],
[
"theAble",
"queryable",
false
],
[
"theAble",
"the_after_product_property_theAble",
false
],
[
"the_after_product_property_theAble",
"the_after_product_property_theAble",
false
],
[
"this",
"pronoun",
false
],
[
"this",
"queryable",
false
],
[
"this",
"thisitthat",
false
],
[
"thisAble",
"that_after_cost_thisAble",
false
],
[
"thisitthat",
"queryable",
false
],
[
"timesExpression",
"mathematicalExpression",
false
],
[
"timesOperator",
"mathematical_operator",
false
],
[
"to",
"preposition",
false
],
[
"toAble",
"to_after_column_toAble",
false
],
[
"to_after_column_toAble",
"to_after_column_toAble",
false
],
[
"type",
"property",
false
],
[
"type",
"whatAble",
false
],
[
"unknown",
"hierarchyAble",
false
],
[
"verb",
"verb",
false
],
[
"what",
"object",
false
],
[
"what",
"queryable",
false
],
[
"whatAble",
"queryable",
false
],
[
"whose",
"object",
false
],
[
"x",
"number",
false
],
[
"xfx",
"queryable",
false
],
[
"y",
"number",
false
]
],
"metadata": {
"opChoices": [
{
"op": [
"price",
0
],
"ops": [
[
"is",
0
],
[
"list",
0
],
[
"price",
0
],
[
"quantity",
0
]
],
"counter": 1
},
{
"op": [
"list",
0
],
"ops": [
[
"is",
0
],
[
"list",
0
],
[
"quantity",
0
]
],
"counter": 2
},
{
"op": [
"is",
0
],
"ops": [
[
"is",
0
]
],
"counter": 3
},
{
"op": [
"is",
1
],
"ops": [
[
"is",
1
]
],
"counter": 4
}
]
},
"trace": "\n\n>>>>>>>>>>>>> Counter 1\n summary\n\n 0. price/0 - \"price\"\n 1. list/0 - \"and\"\n 2. quantity/0 - \"quantity\"\n 3. is/0 - \"are\"\n 4. property/0 (dead) - \"properties\"\n\n details\n\n 0. Operator(price/0, ['Selector(Bridge(\"{ ...next(operator) }\"), , []<==>[], bridge(bridge))'], evaluator(Bridge(\"{ ...next(operator) }\")), variables({}) bridge(bridge)) (1, 0) - \"price\"\n {\n default: true\n marker: \n Operator(price/0)\n Selectors:\n [\n Selector\n Bridge(\"{ ...next(operator) }\")\n Left Selector: []\n Right Selector: []\n ]\n Evaluator:\n Bridge(\"{ ...next(operator) }\")\n\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n 1. Operator(list/0, PASS, ['Selector(Bridge(\"{ ...next(operator), listable: true, isList: true, value: append(before, after) }\"), , same/(), [And([\"ListableType(Listable(Type(variable: \\'type\\')))\", \\'And([\\\\\\'Listable(Unify(context.instance, variables.instance))\\\\\\', \\\\\\'And([\\\\\\\\\\\\\\'Listable(Unify(context.dead, variables.dead))\\\\\\\\\\\\\\', \\\\\\\\\\\\\\'Not([\"ListableType(Listable(Type(variable: \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'contexts\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', 1, \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'notConjunctableWith\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')))\"])\\\\\\\\\\\\\\'])\\\\\\'])\\'])]<==>[And([\"ListableType(Listable(Type(variable: \\'type\\')))\", \\'And([\\\\\\'Listable(Unify(context.instance, variables.instance))\\\\\\', \\\\\\'And([\\\\\\\\\\\\\\'Listable(Unify(context.dead, variables.dead))\\\\\\\\\\\\\\', \\\\\\\\\\\\\\'Not([\"ListableType(Listable(Type(variable: \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'contexts\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', -1, \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'notConjunctableWith\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')))\"])\\\\\\\\\\\\\\'])\\\\\\'])\\'])], bridge(bridge))'], evaluator(Bridge(\"{ ...next(operator), listable: true, isList: true, value: append(before, after) }\")), variables({}) bridge(bridge)) (1, 6) - \"and\"\n {\n default: true\n marker: \n Operator(list/0), passthrough\n Selectors:\n [\n Selector\n Bridge(\"{ ...next(operator), listable: true, isList: true, value: append(before, after) }\")\n , same/()\n Left Selector: [And([\"ListableType(Listable(Type(variable: 'type')))\", 'And([\\'Listable(Unify(context.instance, variables.instance))\\', \\'And([\\\\\\'Listable(Unify(context.dead, variables.dead))\\\\\\', \\\\\\'Not([\"ListableType(Listable(Type(variable: \\\\\\\\\\\\\\'(\\\\\\\\\\\\\\'contexts\\\\\\\\\\\\\\', 1, \\\\\\\\\\\\\\'notConjunctableWith\\\\\\\\\\\\\\')\\\\\\\\\\\\\\')))\"])\\\\\\'])\\'])'])]\n Right Selector: [And([\"ListableType(Listable(Type(variable: 'type')))\", 'And([\\'Listable(Unify(context.instance, variables.instance))\\', \\'And([\\\\\\'Listable(Unify(context.dead, variables.dead))\\\\\\', \\\\\\'Not([\"ListableType(Listable(Type(variable: \\\\\\\\\\\\\\'(\\\\\\\\\\\\\\'contexts\\\\\\\\\\\\\\', -1, \\\\\\\\\\\\\\'notConjunctableWith\\\\\\\\\\\\\\')\\\\\\\\\\\\\\')))\"])\\\\\\'])\\'])'])]\n ]\n Evaluator:\n Bridge(\"{ ...next(operator), listable: true, isList: true, value: append(before, after) }\")\n\n range: {'start': 6, 'end': 8}\n text: \"and\"\n word: \"and\"\n }\n 2. Operator(quantity/0, ['Selector(Bridge(\"{ ...next(operator) }\"), , []<==>[], bridge(bridge))'], evaluator(Bridge(\"{ ...next(operator) }\")), variables({}) bridge(bridge)) (1, 8) - \"quantity\"\n {\n default: true\n marker: \n Operator(quantity/0)\n Selectors:\n [\n Selector\n Bridge(\"{ ...next(operator) }\")\n Left Selector: []\n Right Selector: []\n ]\n Evaluator:\n Bridge(\"{ ...next(operator) }\")\n\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n 3. Operator(is/0, ['Selector(Bridge(\"{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }\"), , [ListableType(Listable(Type(\\'queryable\\')))]<==>[ListableType(Listable(Type(\\'queryable\\')))], bridge(bridge))'], evaluator(Bridge(\"{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }\")), variables({}) bridge(bridge)) (1, 13) - \"are\"\n {\n marker: \n Operator(is/0)\n Selectors:\n [\n Selector\n Bridge(\"{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }\")\n Left Selector: [ListableType(Listable(Type('queryable')))]\n Right Selector: [ListableType(Listable(Type('queryable')))]\n ]\n Evaluator:\n Bridge(\"{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }\")\n\n number: \"many\"\n range: {'start': 19, 'end': 21}\n text: \"are\"\n word: \"are\"\n }\n 4. Operator(property/0, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge)) (1, 18) - \"properties\"\n {\n dead: true\n marker: \n Operator(property/0)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n value: \"property\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=0) is ('price', 0)\n Context:\n {\n default: true\n marker: \n Operator(price/0)\n Selectors:\n [\n Selector\n Bridge(\"{ ...next(operator) }\")\n Left Selector: []\n Right Selector: []\n ]\n Evaluator:\n Bridge(\"{ ...next(operator) }\")\n\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n\n>>>>>>>>>>>>> Counter 2\n summary\n\n *0. price/1 (dead) - \"price\"\n 1. list/0 - \"and\"\n 2. quantity/0 - \"quantity\"\n 3. is/0 - \"are\"\n 4. property/0 (dead) - \"properties\"\n\n details\n\n 0. Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge)) (2, 0) - \"price\"\n {\n prioritized_by: [('price', 0)]\n dead: true\n default: true\n marker: \n Operator(price/1)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n 1. Operator(list/0, PASS, ['Selector(Bridge(\"{ ...next(operator), listable: true, isList: true, value: append(before, after) }\"), , same/(), [And([\"ListableType(Listable(Type(variable: \\'type\\')))\", \\'And([\\\\\\'Listable(Unify(context.instance, variables.instance))\\\\\\', \\\\\\'And([\\\\\\\\\\\\\\'Listable(Unify(context.dead, variables.dead))\\\\\\\\\\\\\\', \\\\\\\\\\\\\\'Not([\"ListableType(Listable(Type(variable: \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'contexts\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', 1, \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'notConjunctableWith\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')))\"])\\\\\\\\\\\\\\'])\\\\\\'])\\'])]<==>[And([\"ListableType(Listable(Type(variable: \\'type\\')))\", \\'And([\\\\\\'Listable(Unify(context.instance, variables.instance))\\\\\\', \\\\\\'And([\\\\\\\\\\\\\\'Listable(Unify(context.dead, variables.dead))\\\\\\\\\\\\\\', \\\\\\\\\\\\\\'Not([\"ListableType(Listable(Type(variable: \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'contexts\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', -1, \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'notConjunctableWith\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')))\"])\\\\\\\\\\\\\\'])\\\\\\'])\\'])], bridge(bridge))'], evaluator(Bridge(\"{ ...next(operator), listable: true, isList: true, value: append(before, after) }\")), variables({}) bridge(bridge)) (1, 6) - \"and\"\n {\n default: true\n marker: \n Operator(list/0), passthrough\n Selectors:\n [\n Selector\n Bridge(\"{ ...next(operator), listable: true, isList: true, value: append(before, after) }\")\n , same/()\n Left Selector: [And([\"ListableType(Listable(Type(variable: 'type')))\", 'And([\\'Listable(Unify(context.instance, variables.instance))\\', \\'And([\\\\\\'Listable(Unify(context.dead, variables.dead))\\\\\\', \\\\\\'Not([\"ListableType(Listable(Type(variable: \\\\\\\\\\\\\\'(\\\\\\\\\\\\\\'contexts\\\\\\\\\\\\\\', 1, \\\\\\\\\\\\\\'notConjunctableWith\\\\\\\\\\\\\\')\\\\\\\\\\\\\\')))\"])\\\\\\'])\\'])'])]\n Right Selector: [And([\"ListableType(Listable(Type(variable: 'type')))\", 'And([\\'Listable(Unify(context.instance, variables.instance))\\', \\'And([\\\\\\'Listable(Unify(context.dead, variables.dead))\\\\\\', \\\\\\'Not([\"ListableType(Listable(Type(variable: \\\\\\\\\\\\\\'(\\\\\\\\\\\\\\'contexts\\\\\\\\\\\\\\', -1, \\\\\\\\\\\\\\'notConjunctableWith\\\\\\\\\\\\\\')\\\\\\\\\\\\\\')))\"])\\\\\\'])\\'])'])]\n ]\n Evaluator:\n Bridge(\"{ ...next(operator), listable: true, isList: true, value: append(before, after) }\")\n\n range: {'start': 6, 'end': 8}\n text: \"and\"\n word: \"and\"\n }\n 2. Operator(quantity/0, ['Selector(Bridge(\"{ ...next(operator) }\"), , []<==>[], bridge(bridge))'], evaluator(Bridge(\"{ ...next(operator) }\")), variables({}) bridge(bridge)) (1, 8) - \"quantity\"\n {\n default: true\n marker: \n Operator(quantity/0)\n Selectors:\n [\n Selector\n Bridge(\"{ ...next(operator) }\")\n Left Selector: []\n Right Selector: []\n ]\n Evaluator:\n Bridge(\"{ ...next(operator) }\")\n\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n 3. Operator(is/0, ['Selector(Bridge(\"{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }\"), , [ListableType(Listable(Type(\\'queryable\\')))]<==>[ListableType(Listable(Type(\\'queryable\\')))], bridge(bridge))'], evaluator(Bridge(\"{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }\")), variables({}) bridge(bridge)) (1, 13) - \"are\"\n {\n marker: \n Operator(is/0)\n Selectors:\n [\n Selector\n Bridge(\"{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }\")\n Left Selector: [ListableType(Listable(Type('queryable')))]\n Right Selector: [ListableType(Listable(Type('queryable')))]\n ]\n Evaluator:\n Bridge(\"{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }\")\n\n number: \"many\"\n range: {'start': 19, 'end': 21}\n text: \"are\"\n word: \"are\"\n }\n 4. Operator(property/0, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge)) (1, 18) - \"properties\"\n {\n dead: true\n marker: \n Operator(property/0)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n value: \"property\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=1) is ('list', 0)\n Context:\n {\n default: true\n marker: \n Operator(list/0), passthrough\n Selectors:\n [\n Selector\n Bridge(\"{ ...next(operator), listable: true, isList: true, value: append(before, after) }\")\n , same/()\n Left Selector: [And([\"ListableType(Listable(Type(variable: 'type')))\", 'And([\\'Listable(Unify(context.instance, variables.instance))\\', \\'And([\\\\\\'Listable(Unify(context.de\n variables.dead))\\\\\\', \\\\\\'Not([\"ListableType(Listable(Type(variable: \\\\\\\\\\\\\\'(\\\\\\\\\\\\\\'contexts\\\\\\\\\\\\\\', 1, \\\\\\\\\\\\\\'notConjunctableWith\\\\\\\\\\\\\\')\\\\\\\\\\\\\\')))\"])\\\\\\'])\\'])'])]\n Right Selector: [And([\"ListableType(Listable(Type(variable: 'type')))\", 'And([\\'Listable(Unify(context.instance, variables.instance))\\', \\'And([\\\\\\'Listable(Unify(context.d\n variables.dead))\\\\\\', \\\\\\'Not([\"ListableType(Listable(Type(variable: \\\\\\\\\\\\\\'(\\\\\\\\\\\\\\'contexts\\\\\\\\\\\\\\', -1, \\\\\\\\\\\\\\'notConjunctableWith\\\\\\\\\\\\\\')\\\\\\\\\\\\\\')))\"])\\\\\\'])\\'])'])]\n ]\n Evaluator:\n Bridge(\"{ ...next(operator), listable: true, isList: true, value: append(before, after) }\")\n\n range: {'start': 6, 'end': 8}\n text: \"and\"\n word: \"and\"\n }\n\n\n>>>>>>>>>>>>> Counter 3\n summary\n\n *0. list/1 - \"price and quantity\"\n 1. is/0 - \"are\"\n 2. property/0 (dead) - \"properties\"\n\n details\n\n 0. Operator(list/1, PASS, ['Selector(Bridge(\"{ ...operator, value: append(before, operator.value) }\"), , same/(), [And([\"ListableType(Listable(Type(variable: \\'type\\')))\", \"And([\\'Listable(Unify(context.instance, variables.instance))\\', \\'Listable(Unify(context.dead, variables.dead))\\'])\"])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge(\"{ ...operator, value: append(before, operator.value) }\")), variables({'contexts': ShiftedArray(zero at 1), 'found_types': ['quantity', 'price'], 'type': ['theAble', 'number', 'comparable', 'listable', 'quantifier', 'queryable', 'property', 'quantity'], 'dead': True}) bridge(bridge)) (3, 0) - \"price and quantity\"\n {\n prioritized_by: [('list', 0)]\n default: true\n isList: true\n listable: true\n marker: \n Operator(list/1), passthrough\n Selectors:\n [\n Selector, passthrough\n Bridge(\"{ ...operator, value: append(before, operator.value) }\")\n , same/()\n Left Selector: [And([\"ListableType(Listable(Type(variable: 'type')))\", \"And(['Listable(Unify(context.instance, variables.instance))', 'Listable(Unify(context.dead, variables.dead))'])\"])]\n Right Selector: []\n ]\n Evaluator:\n Bridge(\"{ ...operator, value: append(before, operator.value) }\")\n Variables:\n contexts: ShiftedArray(zero at 1)\n found_types: ['quantity', 'price']\n type: ['theAble', 'number', 'comparable', 'listable', 'quantifier', 'queryable', 'property', 'quantity']\n dead: True\n\n range: {'start': 0, 'end': 17}\n text: \"price and quantity\"\n types: [\n ]\n value: [\n {\n prioritized_by: [('price', 0)]\n dead: true\n default: true\n marker: \n Operator(price/1)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: \n Operator(quantity/0)\n Selectors:\n [\n Selector\n Bridge(\"{ ...next(operator) }\")\n Left Selector: []\n Right Selector: []\n ]\n Evaluator:\n Bridge(\"{ ...next(operator) }\")\n\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n ]\n word: \"and\"\n }\n 1. Operator(is/0, ['Selector(Bridge(\"{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }\"), , [ListableType(Listable(Type(\\'queryable\\')))]<==>[ListableType(Listable(Type(\\'queryable\\')))], bridge(bridge))'], evaluator(Bridge(\"{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }\")), variables({}) bridge(bridge)) (1, 13) - \"are\"\n {\n marker: \n Operator(is/0)\n Selectors:\n [\n Selector\n Bridge(\"{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }\")\n Left Selector: [ListableType(Listable(Type('queryable')))]\n Right Selector: [ListableType(Listable(Type('queryable')))]\n ]\n Evaluator:\n Bridge(\"{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }\")\n\n number: \"many\"\n range: {'start': 19, 'end': 21}\n text: \"are\"\n word: \"are\"\n }\n 2. Operator(property/0, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge)) (1, 18) - \"properties\"\n {\n dead: true\n marker: \n Operator(property/0)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n value