UNPKG

tpmkms

Version:

Reusable libraries for Entodicton, a natural language to json converter

1,361 lines 168 kB
{ "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