<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="et">
	<id>http://www.lambda.ee/w/index.php?action=history&amp;feed=atom&amp;title=Nlpsolver_knowledge_representation_principles%3A_draft</id>
	<title>Nlpsolver knowledge representation principles: draft - Redigeerimiste ajalugu</title>
	<link rel="self" type="application/atom+xml" href="http://www.lambda.ee/w/index.php?action=history&amp;feed=atom&amp;title=Nlpsolver_knowledge_representation_principles%3A_draft"/>
	<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Nlpsolver_knowledge_representation_principles:_draft&amp;action=history"/>
	<updated>2026-11-03T15:20:18Z</updated>
	<subtitle>Selle lehekülje redigeerimiste ajalugu</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Nlpsolver_knowledge_representation_principles:_draft&amp;diff=20551&amp;oldid=prev</id>
		<title>Tammet – 11. aprill 2023, kell 11:52</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Nlpsolver_knowledge_representation_principles:_draft&amp;diff=20551&amp;oldid=prev"/>
		<updated>2023-04-11T11:52:43Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;et&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;←Vanem redaktsioon&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Redaktsioon: 11. aprill 2023, kell 13:52&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l15&quot;&gt;15. rida:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;15. rida:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;quot;John is a man.&amp;quot;:     [&amp;quot;isa&amp;quot;,&amp;quot;man&amp;quot;,&amp;quot;c1_John&amp;quot;]   &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;quot;John is a man.&amp;quot;:     [&amp;quot;isa&amp;quot;,&amp;quot;man&amp;quot;,&amp;quot;c1_John&amp;quot;]   &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&quot;Bears are animals.&quot;: [[&quot;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;-&lt;/del&gt;isa&quot;,&quot;bear&quot;,&quot;?:S2&quot;], &quot;=&amp;gt;&quot;, [&quot;isa&quot;,&quot;animal&quot;,&quot;?:S2&quot;]]  ehk [&quot;or&quot;, [&quot;-isa&quot;,&quot;bear&quot;,&quot;?:S2&quot;], [&quot;isa&quot;,&quot;animal&quot;,&quot;?:S2&quot;]]  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&quot;Bears are animals.&quot;: [[&quot;isa&quot;,&quot;bear&quot;,&quot;?:S2&quot;], &quot;=&amp;gt;&quot;, [&quot;isa&quot;,&quot;animal&quot;,&quot;?:S2&quot;]]  ehk [&quot;or&quot;, [&quot;-isa&quot;,&quot;bear&quot;,&quot;?:S2&quot;], [&quot;isa&quot;,&quot;animal&quot;,&quot;?:S2&quot;]]  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Note: variables are anything starting with ?:, but I use a readability-enhancing convention:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Note: variables are anything starting with ?:, but I use a readability-enhancing convention:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key lambdadb:diff:1.41:old-20545:rev-20551:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Tammet</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Nlpsolver_knowledge_representation_principles:_draft&amp;diff=20545&amp;oldid=prev</id>
		<title>Tammet: Uus lehekülg: &#039;&lt;pre&gt;  --------  taxonomy  -------  The schema predicate is &quot;isa&quot;, used like this: [&quot;isa&quot;,class,object_in_class]  Note: no context is currently added to the &quot;isa&quot;.   Examples:  &quot;...&#039;</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Nlpsolver_knowledge_representation_principles:_draft&amp;diff=20545&amp;oldid=prev"/>
		<updated>2023-04-11T09:58:40Z</updated>

		<summary type="html">&lt;p&gt;Uus lehekülg: &amp;#039;&amp;lt;pre&amp;gt;  --------  taxonomy  -------  The schema predicate is &amp;quot;isa&amp;quot;, used like this: [&amp;quot;isa&amp;quot;,class,object_in_class]  Note: no context is currently added to the &amp;quot;isa&amp;quot;.   Examples:  &amp;quot;...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Uus lehekülg&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--------&lt;br /&gt;
&lt;br /&gt;
taxonomy&lt;br /&gt;
&lt;br /&gt;
-------&lt;br /&gt;
&lt;br /&gt;
The schema predicate is &amp;quot;isa&amp;quot;, used like this:&lt;br /&gt;
[&amp;quot;isa&amp;quot;,class,object_in_class]&lt;br /&gt;
&lt;br /&gt;
Note: no context is currently added to the &amp;quot;isa&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;John is a man.&amp;quot;:     [&amp;quot;isa&amp;quot;,&amp;quot;man&amp;quot;,&amp;quot;c1_John&amp;quot;]  &lt;br /&gt;
&amp;quot;Bears are animals.&amp;quot;: [[&amp;quot;-isa&amp;quot;,&amp;quot;bear&amp;quot;,&amp;quot;?:S2&amp;quot;], &amp;quot;=&amp;gt;&amp;quot;, [&amp;quot;isa&amp;quot;,&amp;quot;animal&amp;quot;,&amp;quot;?:S2&amp;quot;]]  ehk [&amp;quot;or&amp;quot;, [&amp;quot;-isa&amp;quot;,&amp;quot;bear&amp;quot;,&amp;quot;?:S2&amp;quot;], [&amp;quot;isa&amp;quot;,&amp;quot;animal&amp;quot;,&amp;quot;?:S2&amp;quot;]] &lt;br /&gt;
&lt;br /&gt;
Note: variables are anything starting with ?:, but I use a readability-enhancing convention:&lt;br /&gt;
?:S subject&lt;br /&gt;
?:O object&lt;br /&gt;
?:A action&lt;br /&gt;
?:Tense tense (past/present)&lt;br /&gt;
?:Fv situation number for a given tense&lt;br /&gt;
&lt;br /&gt;
--------&lt;br /&gt;
        &lt;br /&gt;
       &lt;br /&gt;
        &amp;quot;property&amp;quot;   permanent (big) and temporary (angry) &lt;br /&gt;
&lt;br /&gt;
------&lt;br /&gt;
&lt;br /&gt;
The schema predicate is &amp;quot;prop&amp;quot;, with these arguments:&lt;br /&gt;
[&amp;quot;prop&amp;quot;,actual_property,object,strength of property (1 small / $generic not indicated / 3 strong), class of property (a la small bear): $generic if missing, context]&lt;br /&gt;
&lt;br /&gt;
About context: &lt;br /&gt;
* In case the statement holds always, use a variable for the context, like [&amp;quot;prop&amp;quot;,&amp;quot;nice&amp;quot;,&amp;quot;c1_John&amp;quot;,&amp;quot;$generic&amp;quot;,&amp;quot;$generic&amp;quot;,&amp;quot;?:Ctxt&amp;quot;] &lt;br /&gt;
* The context structure will be extended in the future with more parameters&lt;br /&gt;
* The current context structure is [&amp;quot;$ctxt&amp;quot;,past_pres_or_future (either &amp;quot;Past&amp;quot;,&amp;quot;Pres&amp;quot;),concrete_situation_number in past/present/future: separate enumerations]&lt;br /&gt;
        &lt;br /&gt;
&amp;quot;John is nice&amp;quot;:          [&amp;quot;prop&amp;quot;,&amp;quot;nice&amp;quot;,&amp;quot;c1_John&amp;quot;,&amp;quot;$generic&amp;quot;,&amp;quot;$generic&amp;quot;,[&amp;quot;$ctxt&amp;quot;,&amp;quot;Pres&amp;quot;,1]]     &lt;br /&gt;
&amp;quot;John is somewhat nice&amp;quot;  [&amp;quot;prop&amp;quot;,&amp;quot;nice&amp;quot;,&amp;quot;c1_John&amp;quot;,1,&amp;quot;$generic&amp;quot;,[&amp;quot;$ctxt&amp;quot;,&amp;quot;Pres&amp;quot;,1]]&lt;br /&gt;
&amp;quot;John is very nice&amp;quot;      [&amp;quot;prop&amp;quot;,&amp;quot;nice&amp;quot;,&amp;quot;c1_John&amp;quot;,3,&amp;quot;$generic&amp;quot;,[&amp;quot;$ctxt&amp;quot;,&amp;quot;Pres&amp;quot;,1]]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;John is a big mouse&amp;quot;:   [&amp;quot;prop&amp;quot;,&amp;quot;big&amp;quot;,&amp;quot;c1_John&amp;quot;,&amp;quot;$generic&amp;quot;,&amp;quot;mouse&amp;quot;,[&amp;quot;$ctxt&amp;quot;,&amp;quot;Pres&amp;quot;,1]]&lt;br /&gt;
&amp;quot;John is a nice mouse&amp;quot;:  [&amp;quot;prop&amp;quot;,&amp;quot;nice&amp;quot;,&amp;quot;c1_John&amp;quot;,&amp;quot;$generic&amp;quot;,&amp;quot;$generic&amp;quot;,[&amp;quot;$ctxt&amp;quot;,&amp;quot;Pres&amp;quot;,1]]&lt;br /&gt;
&lt;br /&gt;
Notice that in the last example in &amp;quot;nice mouse&amp;quot; the &amp;quot;nice&amp;quot; is not considered to be class-related. Only a fixed list of property-words like &amp;quot;big&amp;quot;, &amp;quot;small&amp;quot;, etc&lt;br /&gt;
is considered to be class-related.&lt;br /&gt;
        &lt;br /&gt;
&lt;br /&gt;
---------        &lt;br /&gt;
&lt;br /&gt;
        &amp;quot;hasa&amp;quot;    possessions and body parts&lt;br /&gt;
&lt;br /&gt;
---------&lt;br /&gt;
&lt;br /&gt;
The schema predicate is &amp;quot;rel2&amp;quot; with the first argument &amp;quot;have&amp;quot;, for undetermined number of things&lt;br /&gt;
[&amp;quot;rel2&amp;quot;,&amp;quot;have&amp;quot;,object_having,what_does_it_have,context]&lt;br /&gt;
plus functions for single values, counted sets and measures:&lt;br /&gt;
[&amp;quot;$theof1&amp;quot;,class_of_object_haved,object_who_has,context]&lt;br /&gt;
and&lt;br /&gt;
[&amp;quot;$count&amp;quot;,[&amp;quot;$setof&amp;quot;,logic_expression,object_who_has]]&lt;br /&gt;
  where logic_expression may contain pseudo-lambda-parameters $arg1,$arg2 etc  &lt;br /&gt;
and&lt;br /&gt;
[&amp;quot;$count&amp;quot;,[&amp;quot;$measure1&amp;quot;,type_of_measure,object_measured,unit_of_measurement,context]&lt;br /&gt;
where &amp;quot;unit_of_measurement&amp;quot; may be &amp;quot;$generic&amp;quot; if not relevant, and the type words are limited,&lt;br /&gt;
currently: heavy,light, long,shot, tall,short, wide,narrow, deep,shallow, warm,hot,cold,cost,cheap &lt;br /&gt;
&lt;br /&gt;
Example for undetermined/unmeasured number of things:&lt;br /&gt;
&amp;quot;John has a car.&amp;quot;: &lt;br /&gt;
&lt;br /&gt;
First we make a formula:&lt;br /&gt;
&lt;br /&gt;
[exists,[?:O3],[and,[isa,car,?:O3],[rel2,have,c1_John,?:O3,[$ctxt,Pres,1]]]]&lt;br /&gt;
&lt;br /&gt;
and normalize it to &lt;br /&gt;
&lt;br /&gt;
[&amp;quot;isa&amp;quot;,&amp;quot;car&amp;quot;,&amp;quot;cs2&amp;quot;]&lt;br /&gt;
[&amp;quot;rel2&amp;quot;,&amp;quot;have&amp;quot;,&amp;quot;c1_John&amp;quot;,&amp;quot;cs2&amp;quot;,[&amp;quot;$ctxt&amp;quot;,&amp;quot;Pres&amp;quot;,1]]&lt;br /&gt;
&lt;br /&gt;
Another example:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Elephants have a trunk.&amp;quot;&lt;br /&gt;
[forall,[?:S2],[[isa,elephant,?:S2],=&amp;gt;,[exists,[?:O1],[and,[isa,trunk,?:O1],[rel2,have,?:S2,?:O1,[$ctxt,Pres,1]]]]]]&lt;br /&gt;
&lt;br /&gt;
and normalize it (observe skolemizing the &amp;quot;exists ?:O1&amp;quot; to [&amp;quot;cs1&amp;quot;,&amp;quot;?:S2&amp;quot;]):&lt;br /&gt;
&lt;br /&gt;
[&amp;quot;or&amp;quot;, [&amp;quot;isa&amp;quot;,&amp;quot;trunk&amp;quot;,[&amp;quot;cs1&amp;quot;,&amp;quot;?:S2&amp;quot;]], [&amp;quot;-isa&amp;quot;,&amp;quot;elephant&amp;quot;,&amp;quot;?:S2&amp;quot;]]&lt;br /&gt;
[&amp;quot;or&amp;quot;,&lt;br /&gt;
    [&amp;quot;rel2&amp;quot;,&amp;quot;have&amp;quot;,&amp;quot;?:S2&amp;quot;,[&amp;quot;cs1&amp;quot;,&amp;quot;?:S2&amp;quot;],[&amp;quot;$ctxt&amp;quot;,&amp;quot;Pres&amp;quot;,1]],&lt;br /&gt;
    [&amp;quot;-isa&amp;quot;,&amp;quot;elephant&amp;quot;,&amp;quot;?:S2&amp;quot;],&lt;br /&gt;
    [&amp;quot;$block&amp;quot;,[&amp;quot;$&amp;quot;,&amp;quot;elephant&amp;quot;,1],[&amp;quot;$not&amp;quot;,[&amp;quot;rel2&amp;quot;,&amp;quot;have&amp;quot;,&amp;quot;?:S2&amp;quot;,[&amp;quot;cs1&amp;quot;,&amp;quot;?:S2&amp;quot;],[&amp;quot;$ctxt&amp;quot;,&amp;quot;Pres&amp;quot;,1]]]]],&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A full example which illustrates that for questions and conditions we cannot like pre-skolemize, but have to &lt;br /&gt;
use the formula with quantifiers before the final normalization:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;John has a red car. John has a car?&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
  [and&lt;br /&gt;
     [prop,red,cs2,$generic,$generic,[$ctxt,Pres,1]]&lt;br /&gt;
     [isa,car,cs2,]&lt;br /&gt;
     [rel2,have,c1_John,cs2,[$ctxt,Pres,1]]] &lt;br /&gt;
  [[$def0],&amp;lt;=&amp;gt;,[exists,[?:O3],[and,[isa,car,?:O3],[rel2,have,c1_John,?:O3,[$ctxt,Pres,?:Fv5]]]]]&lt;br /&gt;
  { @question: [$def0] }&lt;br /&gt;
&lt;br /&gt;
clausified&lt;br /&gt;
&lt;br /&gt;
[&lt;br /&gt;
{&amp;quot;@logic&amp;quot;: [&amp;quot;prop&amp;quot;,&amp;quot;red&amp;quot;,&amp;quot;cs2&amp;quot;,&amp;quot;$generic&amp;quot;,&amp;quot;$generic&amp;quot;,[&amp;quot;$ctxt&amp;quot;,&amp;quot;Pres&amp;quot;,1]]},&lt;br /&gt;
{&amp;quot;@logic&amp;quot;: [&amp;quot;isa&amp;quot;,&amp;quot;car&amp;quot;,&amp;quot;cs2&amp;quot;]},&lt;br /&gt;
{&amp;quot;@logic&amp;quot;: [&amp;quot;rel2&amp;quot;,&amp;quot;have&amp;quot;,&amp;quot;c1_John&amp;quot;,&amp;quot;cs2&amp;quot;,[&amp;quot;$ctxt&amp;quot;,&amp;quot;Pres&amp;quot;,1]]},&lt;br /&gt;
{&amp;quot;@logic&amp;quot;: [&amp;quot;or&amp;quot;, [&amp;quot;isa&amp;quot;,&amp;quot;car&amp;quot;,&amp;quot;cs3&amp;quot;], [&amp;quot;-$def0&amp;quot;]]},&lt;br /&gt;
{&amp;quot;@logic&amp;quot;: [&amp;quot;or&amp;quot;, [&amp;quot;rel2&amp;quot;,&amp;quot;have&amp;quot;,&amp;quot;c1_John&amp;quot;,&amp;quot;cs3&amp;quot;,[&amp;quot;$ctxt&amp;quot;,&amp;quot;Pres&amp;quot;,&amp;quot;?:Fv5&amp;quot;]], [&amp;quot;-$def0&amp;quot;]]},&lt;br /&gt;
{&amp;quot;@logic&amp;quot;: [&amp;quot;or&amp;quot;,&lt;br /&gt;
    [&amp;quot;$def0&amp;quot;],&lt;br /&gt;
    [&amp;quot;-isa&amp;quot;,&amp;quot;car&amp;quot;,&amp;quot;?:O3&amp;quot;],&lt;br /&gt;
    [&amp;quot;-rel2&amp;quot;,&amp;quot;have&amp;quot;,&amp;quot;c1_John&amp;quot;,&amp;quot;?:O3&amp;quot;,[&amp;quot;$ctxt&amp;quot;,&amp;quot;Pres&amp;quot;,&amp;quot;?:Fv5&amp;quot;]]]},&lt;br /&gt;
{&amp;quot;@question&amp;quot;: [&amp;quot;$def0&amp;quot;]}&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
Next the functional having:&lt;br /&gt;
&lt;br /&gt;
[and&lt;br /&gt;
   [isa,elephant,the_c1_elephant]&lt;br /&gt;
   [rel2,have,the_c1_elephant,[$theof1,trunk,the_c1_elephant,[$ctxt,Pres,1]],[$ctxt,Pres,1]]&lt;br /&gt;
   [isa,trunk,[$theof1,trunk,the_c1_elephant,[$ctxt,Pres,1]]]&lt;br /&gt;
   [prop,heavy,[$theof1,trunk,the_c1_elephant,[$ctxt,Pres,1]],$generic,trunk,[$ctxt,Pres,1]]]&lt;br /&gt;
&lt;br /&gt;
Next the countable having:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;John has three red cars&amp;quot;:&lt;br /&gt;
[exists,[?:O1],&lt;br /&gt;
  [and,[=,3,[$count,[$setof,[and,[isa,car,$arg1],&lt;br /&gt;
                              [prop,red,$arg1,$generic,$generic,[$ctxt,Pres,1]]],c1_John]]],&lt;br /&gt;
       [=,3,[$count,?:O1],[$conf,1,False]],[prop,red,?:O1,$generic,$generic,[$ctxt,Pres,1]],&lt;br /&gt;
       [isa,car,?:O1],&lt;br /&gt;
       [rel2,have,c1_John,?:O1,[$ctxt,Pres,1]]]]&lt;br /&gt;
       &lt;br /&gt;
with the main statement there normalized as&lt;br /&gt;
&lt;br /&gt;
[&amp;quot;=&amp;quot;,3,&lt;br /&gt;
   [&amp;quot;$count&amp;quot;,[&amp;quot;$setof&amp;quot;,&lt;br /&gt;
                [&amp;quot;and&amp;quot;,[&amp;quot;isa&amp;quot;,&amp;quot;car&amp;quot;,&amp;quot;$arg1&amp;quot;],[&amp;quot;prop&amp;quot;,&amp;quot;red&amp;quot;,&amp;quot;$arg1&amp;quot;,&amp;quot;$generic&amp;quot;,&amp;quot;$generic&amp;quot;,[&amp;quot;$ctxt&amp;quot;,&amp;quot;Pres&amp;quot;,1]]],&lt;br /&gt;
                &amp;quot;c1_John&amp;quot;]]]&lt;br /&gt;
&lt;br /&gt;
Next the measurable having:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Nile has the length 10 kilometers&amp;quot; or&lt;br /&gt;
&amp;quot;The length of Nile is 10 kilometers&amp;quot; etc&lt;br /&gt;
[and&lt;br /&gt;
   [rel2,have,c1_Nile,[$measure1,length,c1_Nile,kilometer,[$ctxt,Pres,1]],[$ctxt,Pres,1]]&lt;br /&gt;
   [isa,length,[$measure1,length,c1_Nile,kilometer,[$ctxt,Pres,1]]]&lt;br /&gt;
   [=,10,[$count,[$measure1,length,c1_Nile,kilometer,[$ctxt,Pres,1]]]]&lt;br /&gt;
   [isa,kilometer,[$measure1,length,c1_Nile,kilometer,[$ctxt,Pres,1]]]]&lt;br /&gt;
&lt;br /&gt;
with the main statement there normalized as&lt;br /&gt;
&lt;br /&gt;
[&amp;quot;=&amp;quot;,10,[&amp;quot;$count&amp;quot;,[&amp;quot;$measure1&amp;quot;,&amp;quot;length&amp;quot;,&amp;quot;c1_Nile&amp;quot;,&amp;quot;kilometer&amp;quot;,[&amp;quot;$ctxt&amp;quot;,&amp;quot;Pres&amp;quot;,1]]]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----------&lt;br /&gt;
        &lt;br /&gt;
        &amp;quot;capability&amp;quot;   what can it do   (verbs?)&lt;br /&gt;
        &lt;br /&gt;
------&lt;br /&gt;
&lt;br /&gt;
The schema predicates are can1 and can2:&lt;br /&gt;
[can1, verb_which_can_do, subject_who_can, action_or_capability_id, context]&lt;br /&gt;
[can2, verb_which_can_do, subject_who_can, object_of_action, action_or_capability_id, context]&lt;br /&gt;
&lt;br /&gt;
and closely related predicates act1 and act2 with the same arguments, for actually doing something:&lt;br /&gt;
[act1, verb_which_can_do, subject_who_can, action_or_capability_id, context]&lt;br /&gt;
[act2, verb_which_can_do, subject_who_can, object_of_action, action_or_capability_id, context]&lt;br /&gt;
&lt;br /&gt;
NB! The action verb (eat), doer/subject, context and optionally object are present as arguments, &lt;br /&gt;
but location, helpers, qualities of action etc are indicated separately as properties&lt;br /&gt;
of the action/capability id.&lt;br /&gt;
&lt;br /&gt;
Example for can1:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;John can fly&amp;quot;:&lt;br /&gt;
[exists,[?:A3],[can1,fly,c1_John,?:A3,[$ctxt,?:Tense4,1]]]&lt;br /&gt;
&lt;br /&gt;
which is normalized to&lt;br /&gt;
&lt;br /&gt;
[&amp;quot;can1&amp;quot;,&amp;quot;fly&amp;quot;,&amp;quot;c1_John&amp;quot;,&amp;quot;cs2&amp;quot;,[&amp;quot;$ctxt&amp;quot;,&amp;quot;?:Tense2&amp;quot;,1]]&lt;br /&gt;
&lt;br /&gt;
Another example for can1:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Birds can fly.&amp;quot; &lt;br /&gt;
[forall,[?:S1],[[isa,bird,?:S1],=&amp;gt;,[exists,[?:A2],[can1,fly,?:S1,?:A2,[$ctxt,?:Tense3,1]]]]]&lt;br /&gt;
&lt;br /&gt;
which is normalized to&lt;br /&gt;
&lt;br /&gt;
[&amp;quot;or&amp;quot;,&lt;br /&gt;
    [&amp;quot;-isa&amp;quot;,&amp;quot;bird&amp;quot;,&amp;quot;?:S1&amp;quot;],&lt;br /&gt;
    [&amp;quot;can1&amp;quot;,&amp;quot;fly&amp;quot;,&amp;quot;?:S1&amp;quot;,[&amp;quot;cs1&amp;quot;,&amp;quot;?:S1&amp;quot;],[&amp;quot;$ctxt&amp;quot;,&amp;quot;?:Tense3&amp;quot;,1]],&lt;br /&gt;
    [&amp;quot;$block&amp;quot;,[&amp;quot;$&amp;quot;,&amp;quot;bird&amp;quot;,1],[&amp;quot;$not&amp;quot;,[&amp;quot;can1&amp;quot;,&amp;quot;fly&amp;quot;,&amp;quot;?:S1&amp;quot;,[&amp;quot;cs1&amp;quot;,&amp;quot;?:S1&amp;quot;],[&amp;quot;$ctxt&amp;quot;,&amp;quot;?:Tense3&amp;quot;,1]]]]]},&lt;br /&gt;
    &lt;br /&gt;
Yet another example for can1:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Penguins cannot fly.&amp;quot;&lt;br /&gt;
[forall,[?:S1],[[isa,penguin,?:S1],=&amp;gt;,[not,[exists,[?:A2],[can1,fly,?:S1,?:A2,[$ctxt,?:Tense3,1]]]]]&lt;br /&gt;
&lt;br /&gt;
which is normalized to&lt;br /&gt;
&lt;br /&gt;
[&amp;quot;or&amp;quot;,&lt;br /&gt;
    [&amp;quot;-isa&amp;quot;,&amp;quot;penguin&amp;quot;,&amp;quot;?:S1&amp;quot;],&lt;br /&gt;
    [&amp;quot;-can1&amp;quot;,&amp;quot;fly&amp;quot;,&amp;quot;?:S1&amp;quot;,&amp;quot;?:A2&amp;quot;,[&amp;quot;$ctxt&amp;quot;,&amp;quot;?:Tense3&amp;quot;,1]],&lt;br /&gt;
    [&amp;quot;$block&amp;quot;,[&amp;quot;$&amp;quot;,&amp;quot;penguin&amp;quot;,1],[&amp;quot;can1&amp;quot;,&amp;quot;fly&amp;quot;,&amp;quot;?:S1&amp;quot;,&amp;quot;?:A2&amp;quot;,[&amp;quot;$ctxt&amp;quot;,&amp;quot;?:Tense3&amp;quot;,1]]]]},&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
Example for can2:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;John can drive a car.&amp;quot;&lt;br /&gt;
[and&lt;br /&gt;
   [isa,car,the_c2_car,[$conf,1,False]]&lt;br /&gt;
   [exists,[?:A2],[can2,drive,c1_John,the_c2_car,?:A2,[$ctxt,?:Tense3,1]]]]&lt;br /&gt;
&lt;br /&gt;
which is normalized to&lt;br /&gt;
   &lt;br /&gt;
[&amp;quot;isa&amp;quot;,&amp;quot;car&amp;quot;,&amp;quot;the_c2_car&amp;quot;]&lt;br /&gt;
[&amp;quot;can2&amp;quot;,&amp;quot;drive&amp;quot;,&amp;quot;c1_John&amp;quot;,&amp;quot;the_c2_car&amp;quot;,&amp;quot;cs3&amp;quot;,[&amp;quot;$ctxt&amp;quot;,&amp;quot;?:Tense3&amp;quot;,1]],&lt;br /&gt;
&lt;br /&gt;
Another example for can2:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Bears can eat honey.&amp;quot;&lt;br /&gt;
[forall,[?:S2],[[isa,bear,?:S2],=&amp;gt;,[exists,[?:O1],[and,[isa,honey,?:O1,],[exists,[?:A3],[can2,eat,?:S2,?:O1,?:A3,[$ctxt,?:Tense4,1]]]]]]]&lt;br /&gt;
&lt;br /&gt;
which is normalized to&lt;br /&gt;
&lt;br /&gt;
[&amp;quot;or&amp;quot;, [&amp;quot;isa&amp;quot;,&amp;quot;honey&amp;quot;,[&amp;quot;cs1&amp;quot;,&amp;quot;?:S2&amp;quot;]], [&amp;quot;-isa&amp;quot;,&amp;quot;bear&amp;quot;,&amp;quot;?:S2&amp;quot;]],&lt;br /&gt;
[&amp;quot;or&amp;quot;,&lt;br /&gt;
    [&amp;quot;can2&amp;quot;,&amp;quot;eat&amp;quot;,&amp;quot;?:S2&amp;quot;,[&amp;quot;cs1&amp;quot;,&amp;quot;?:S2&amp;quot;],[&amp;quot;cs2&amp;quot;,&amp;quot;?:S2&amp;quot;],[&amp;quot;$ctxt&amp;quot;,&amp;quot;?:Tense4&amp;quot;,1]],&lt;br /&gt;
    [&amp;quot;-isa&amp;quot;,&amp;quot;bear&amp;quot;,&amp;quot;?:S2&amp;quot;],&lt;br /&gt;
    [&amp;quot;$block&amp;quot;,[&amp;quot;$&amp;quot;,&amp;quot;bear&amp;quot;,1],[&amp;quot;$not&amp;quot;,[&amp;quot;can2&amp;quot;,&amp;quot;eat&amp;quot;,&amp;quot;?:S2&amp;quot;,[&amp;quot;cs1&amp;quot;,&amp;quot;?:S2&amp;quot;],[&amp;quot;cs2&amp;quot;,&amp;quot;?:S2&amp;quot;],[&amp;quot;$ctxt&amp;quot;,&amp;quot;?:Tense4&amp;quot;,1]]]]],&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Full example illustrating properties of the action/verb:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;John can fly fast. John can fly?&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[&lt;br /&gt;
{&amp;quot;@logic&amp;quot;: [&amp;quot;prop&amp;quot;,&amp;quot;fast&amp;quot;,&amp;quot;cs2&amp;quot;,&amp;quot;$generic&amp;quot;,&amp;quot;$generic&amp;quot;,[&amp;quot;$ctxt&amp;quot;,&amp;quot;?:Tense2&amp;quot;,1]]},&lt;br /&gt;
{&amp;quot;@logic&amp;quot;: [&amp;quot;can1&amp;quot;,&amp;quot;fly&amp;quot;,&amp;quot;c1_John&amp;quot;,&amp;quot;cs2&amp;quot;,[&amp;quot;$ctxt&amp;quot;,&amp;quot;?:Tense3&amp;quot;,1]]},&lt;br /&gt;
{&amp;quot;@logic&amp;quot;: [&amp;quot;or&amp;quot;, [&amp;quot;-$def0&amp;quot;], [&amp;quot;can1&amp;quot;,&amp;quot;fly&amp;quot;,&amp;quot;c1_John&amp;quot;,&amp;quot;cs3&amp;quot;,[&amp;quot;$ctxt&amp;quot;,&amp;quot;cs4&amp;quot;,&amp;quot;?:Fv6&amp;quot;]]]},&lt;br /&gt;
{&amp;quot;@logic&amp;quot;: [&amp;quot;or&amp;quot;, [&amp;quot;$def0&amp;quot;], [&amp;quot;-can1&amp;quot;,&amp;quot;fly&amp;quot;,&amp;quot;c1_John&amp;quot;,&amp;quot;?:A4&amp;quot;,[&amp;quot;$ctxt&amp;quot;,&amp;quot;?:Tense5&amp;quot;,&amp;quot;?:Fv6&amp;quot;]]]},&lt;br /&gt;
{&amp;quot;@question&amp;quot;: [&amp;quot;$def0&amp;quot;]}&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NB! There is also actually _doing_ something:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;John drove the red car&amp;quot;:&lt;br /&gt;
[and&lt;br /&gt;
   [prop,red,the_c2_car,$generic,$generic,[$ctxt,Past,1]]&lt;br /&gt;
   [isa,car,the_c2_car]&lt;br /&gt;
   [exists,[?:A2],[act2,drive,c1_John,the_c2_car,?:A2,[$ctxt,Past,1]]]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
------------&lt;br /&gt;
&lt;br /&gt;
        &amp;quot;comparative&amp;quot;  arity 3    subject bigger subject2&lt;br /&gt;
        &lt;br /&gt;
------------&lt;br /&gt;
&lt;br /&gt;
The schema predicate is rel2_than for non-measurable and &amp;quot;=&amp;quot;, &amp;quot;$less&amp;quot;, &amp;quot;$lesseq&amp;quot;, &amp;quot;$greater&amp;quot;, &amp;quot;$greatereq&amp;quot; for measurable:&lt;br /&gt;
[rel2_than,property_compared,more_object,less_object,action_id,context]&lt;br /&gt;
[&amp;quot;=&amp;quot;, counted_measure1, counted_measure2]&lt;br /&gt;
where the &amp;quot;counter_measure&amp;quot; has the same structure/meaning as above for the &amp;quot;having&amp;quot; relation.&lt;br /&gt;
&lt;br /&gt;
NB!! We should probably modify rel2_than to contain the somewhat/much distinction,&lt;br /&gt;
or add the distinction to the action id, or drop the action id.&lt;br /&gt;
&lt;br /&gt;
Example for non-measurable comparison:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;John is nicer than Eve.&amp;quot; &lt;br /&gt;
&lt;br /&gt;
[exists,[?:A1],[rel2_than,nice,c2_John,c1_Eve,?:A1,[$ctxt,?:Tense2,1]]]&lt;br /&gt;
&lt;br /&gt;
which is normalized to&lt;br /&gt;
&lt;br /&gt;
[&amp;quot;rel2_than&amp;quot;,&amp;quot;nice&amp;quot;,&amp;quot;c2_John&amp;quot;,&amp;quot;c1_Eve&amp;quot;,&amp;quot;cs3&amp;quot;,[&amp;quot;$ctxt&amp;quot;,&amp;quot;?:Tense2&amp;quot;,1]]&lt;br /&gt;
&lt;br /&gt;
Example for measurable:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;The length of Nile is equal to the length of Amazon.&amp;quot; &lt;br /&gt;
&lt;br /&gt;
which is normalized to&lt;br /&gt;
&lt;br /&gt;
[&amp;quot;rel2&amp;quot;,&amp;quot;have&amp;quot;,&amp;quot;c1_Nile&amp;quot;,[&amp;quot;$measure1&amp;quot;,&amp;quot;length&amp;quot;,&amp;quot;c1_Nile&amp;quot;,&amp;quot;$generic&amp;quot;,[&amp;quot;$ctxt&amp;quot;,&amp;quot;Pres&amp;quot;,1]],[&amp;quot;$ctxt&amp;quot;,&amp;quot;Pres&amp;quot;,1]]&lt;br /&gt;
[&amp;quot;isa&amp;quot;,&amp;quot;length&amp;quot;,[&amp;quot;$measure1&amp;quot;,&amp;quot;length&amp;quot;,&amp;quot;c1_Nile&amp;quot;,&amp;quot;$generic&amp;quot;,[&amp;quot;$ctxt&amp;quot;,&amp;quot;Pres&amp;quot;,1]]]&lt;br /&gt;
[&amp;quot;rel2&amp;quot;,&amp;quot;have&amp;quot;,&amp;quot;c2_Amazon&amp;quot;,[&amp;quot;$measure1&amp;quot;,&amp;quot;length&amp;quot;,&amp;quot;c2_Amazon&amp;quot;,&amp;quot;$generic&amp;quot;,[&amp;quot;$ctxt&amp;quot;,&amp;quot;Pres&amp;quot;,1]],[&amp;quot;$ctxt&amp;quot;,&amp;quot;Pres&amp;quot;,1]]&lt;br /&gt;
[&amp;quot;isa&amp;quot;,&amp;quot;length&amp;quot;,[&amp;quot;$measure1&amp;quot;,&amp;quot;length&amp;quot;,&amp;quot;c2_Amazon&amp;quot;,&amp;quot;$generic&amp;quot;,[&amp;quot;$ctxt&amp;quot;,&amp;quot;Pres&amp;quot;,1]]]},&lt;br /&gt;
[&amp;quot;=&amp;quot;,[&amp;quot;$count&amp;quot;,[&amp;quot;$measure1&amp;quot;,&amp;quot;length&amp;quot;,&amp;quot;c1_Nile&amp;quot;,&amp;quot;$generic&amp;quot;,[&amp;quot;$ctxt&amp;quot;,&amp;quot;Pres&amp;quot;,1]]],[&amp;quot;$count&amp;quot;,[&amp;quot;$measure1&amp;quot;,&amp;quot;length&amp;quot;,&amp;quot;c2_Amazon&amp;quot;,&amp;quot;$generic&amp;quot;,[&amp;quot;$ctxt&amp;quot;,&amp;quot;Pres&amp;quot;,1]]]]&lt;br /&gt;
&lt;br /&gt;
where probably only the last one is actually needed and the rest can be skipped.&lt;br /&gt;
&lt;br /&gt;
---------------&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;partof&amp;quot;     membership&lt;br /&gt;
    &lt;br /&gt;
---------------&lt;br /&gt;
&lt;br /&gt;
The schema predicate is rel2_of in combination with &amp;quot;part&amp;quot; or &amp;quot;rel2&amp;quot; in combination with &amp;quot;in&amp;quot;&lt;br /&gt;
[&amp;quot;rel2_of&amp;quot;,&amp;quot;part&amp;quot;,what_is_the_part,who_has_the_part,action_relation_id,ctxt]&lt;br /&gt;
[&amp;quot;rel2&amp;quot;,&amp;quot;in&amp;quot;,wha_is_in,in_what,context],&lt;br /&gt;
&lt;br /&gt;
NB! Maybe the action_relation_id should be dropped, or maybe some sensible use can be found?&lt;br /&gt;
NB! Also, maybe a special relation should be created?&lt;br /&gt;
&lt;br /&gt;
Example for &amp;quot;rel2_of&amp;quot;+&amp;quot;part&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Trunks are a part of an elephant.&amp;quot;&lt;br /&gt;
[forall,[?:S2],[[isa,trunk,?:S2],=&amp;gt;,[and,[isa,elephant,the_c1_elephant],&lt;br /&gt;
                                         [exists,[?:A3],[rel2_of,part,?:S2,the_c1_elephant,?:A3,[$ctxt,?:Tense4,1]]]]]]&lt;br /&gt;
&lt;br /&gt;
normalized to&lt;br /&gt;
&lt;br /&gt;
[&amp;quot;or&amp;quot;,&lt;br /&gt;
    [&amp;quot;rel2_of&amp;quot;,&amp;quot;part&amp;quot;,&amp;quot;?:S2&amp;quot;,&amp;quot;the_c1_elephant&amp;quot;,[&amp;quot;cs2&amp;quot;,&amp;quot;?:S2&amp;quot;],[&amp;quot;$ctxt&amp;quot;,&amp;quot;?:Tense4&amp;quot;,1]],&lt;br /&gt;
    [&amp;quot;-isa&amp;quot;,&amp;quot;trunk&amp;quot;,&amp;quot;?:S2&amp;quot;],&lt;br /&gt;
    [&amp;quot;$block&amp;quot;,[&amp;quot;$&amp;quot;,&amp;quot;trunk&amp;quot;,1],[&amp;quot;$not&amp;quot;,[&amp;quot;rel2_of&amp;quot;,&amp;quot;part&amp;quot;,&amp;quot;?:S2&amp;quot;,&amp;quot;the_c1_elephant&amp;quot;,[&amp;quot;cs2&amp;quot;,&amp;quot;?:S2&amp;quot;],[&amp;quot;$ctxt&amp;quot;,&amp;quot;?:Tense4&amp;quot;,1]]]]],&lt;br /&gt;
    &lt;br /&gt;
Example for &amp;quot;rel2&amp;quot;+&amp;quot;in&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Elephants contain trunks&amp;quot;&lt;br /&gt;
[forall,[?:S2],[[isa,elephant,?:S2],=&amp;gt;,[exists,[?:O1],[and,[isa,trunk,?:O1],&lt;br /&gt;
                                                           [rel2,in,?:O1,?:S2,[$ctxt,Pres,1]]]]]]&lt;br /&gt;
&lt;br /&gt;
which is normalized to&lt;br /&gt;
&lt;br /&gt;
[&amp;quot;or&amp;quot;,&lt;br /&gt;
    [&amp;quot;rel2&amp;quot;,&amp;quot;in&amp;quot;,[&amp;quot;cs1&amp;quot;,&amp;quot;?:S2&amp;quot;],&amp;quot;?:S2&amp;quot;,[&amp;quot;$ctxt&amp;quot;,&amp;quot;Pres&amp;quot;,1]],&lt;br /&gt;
    [&amp;quot;-isa&amp;quot;,&amp;quot;elephant&amp;quot;,&amp;quot;?:S2&amp;quot;],&lt;br /&gt;
    [&amp;quot;$block&amp;quot;,[&amp;quot;$&amp;quot;,&amp;quot;elephant&amp;quot;,1],[&amp;quot;$not&amp;quot;,[&amp;quot;rel2&amp;quot;,&amp;quot;in&amp;quot;,[&amp;quot;cs1&amp;quot;,&amp;quot;?:S2&amp;quot;],&amp;quot;?:S2&amp;quot;,[&amp;quot;$ctxt&amp;quot;,&amp;quot;Pres&amp;quot;,1]]]]],&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
---------&lt;br /&gt;
&lt;br /&gt;
        &amp;quot;subjectto&amp;quot;   what happens to it (can include events)&lt;br /&gt;
        &lt;br /&gt;
------------&lt;br /&gt;
&lt;br /&gt;
Have not thought about it: needs work asap.&lt;br /&gt;
&lt;br /&gt;
------------&lt;br /&gt;
&lt;br /&gt;
        &amp;quot;location&amp;quot;   where is it normally found&lt;br /&gt;
        &lt;br /&gt;
------------&lt;br /&gt;
&lt;br /&gt;
For actual location the&lt;br /&gt;
schema is &amp;quot;rel2&amp;quot; in combination with in  &amp;quot;in&amp;quot;,&amp;quot;on&amp;quot;,&amp;quot;at&amp;quot;,&amp;quot;near&amp;quot;,&amp;quot;above&amp;quot;,&amp;quot;under&amp;quot;:&lt;br /&gt;
[&amp;quot;rel2&amp;quot;,in_on_at_etc,object_in_location,object_where_is_located,context]},&lt;br /&gt;
&lt;br /&gt;
However, for typical location we should think a bit more, see below.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;John is in a room.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[and&lt;br /&gt;
   [isa,room,the_c2_room]&lt;br /&gt;
   [rel2,in,c1_John,the_c2_room,[$ctxt,Pres,1]]]&lt;br /&gt;
&lt;br /&gt;
which is normalized to&lt;br /&gt;
&lt;br /&gt;
[&amp;quot;isa&amp;quot;,&amp;quot;room&amp;quot;,&amp;quot;the_c2_room&amp;quot;]&lt;br /&gt;
[&amp;quot;rel2&amp;quot;,&amp;quot;in&amp;quot;,&amp;quot;c1_John&amp;quot;,&amp;quot;the_c2_room&amp;quot;,[&amp;quot;$ctxt&amp;quot;,&amp;quot;Pres&amp;quot;,1]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NB! I propose the typical generic location to be represented like this with a low probability and blocker attached:&lt;br /&gt;
&lt;br /&gt;
[forall,[?:S1,?:Ctxt],[[isa,dog,?:S1],=&amp;gt;,[exists,[?:O2],[rel2,in,?:S1,?O1,?:Ctxt]]]]&lt;br /&gt;
&lt;br /&gt;
This latter thing is currently not properly implemented in the parser.&lt;br /&gt;
Alternative ideas are also welcome.&lt;br /&gt;
&lt;br /&gt;
-----------------&lt;br /&gt;
        &lt;br /&gt;
These need thought, no clear ideas yet:        &lt;br /&gt;
        &lt;br /&gt;
meta stuff.&lt;br /&gt;
mostly clear how these can connect events  (X, Y)&lt;br /&gt;
mostly unclear how to combine e.g. causes and property&lt;br /&gt;
        &amp;quot;causes&amp;quot;     causes X&lt;br /&gt;
        &amp;quot;prevents&amp;quot;     Y prevents doing X&lt;br /&gt;
        &amp;quot;dependency&amp;quot;    X requires Y&lt;br /&gt;
        &amp;quot;usedfor&amp;quot;      subject is used for X&lt;br /&gt;
        &amp;quot;createdby&amp;quot;     subject is created by X&lt;br /&gt;
        &amp;quot;madeof&amp;quot;        subject is made of object (substance)&lt;br /&gt;
        &amp;quot;have_goal&amp;quot;    subject wants to do X / X to happen&lt;br /&gt;
        &lt;br /&gt;
------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		&amp;quot;time&amp;quot;         X happens at time&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
-------------&lt;br /&gt;
&lt;br /&gt;
Time is represented (a) in a context, (b) like location above, with words  &amp;quot;in&amp;quot;,&amp;quot;at&amp;quot;,&amp;quot;on&amp;quot;,&amp;quot;during&amp;quot;,&amp;quot;before&amp;quot;,&amp;quot;after&amp;quot;,&lt;br /&gt;
plus the &amp;quot;$time&amp;quot; constructor:&lt;br /&gt;
[&amp;quot;rel2&amp;quot;,in_at_etc,event,time_object,context]&lt;br /&gt;
where the time constructed element is used as a special typed variable:&lt;br /&gt;
[$time,type_of_time_indicator,time_indicator]&lt;br /&gt;
where the &amp;quot;type_of_time_indicator&amp;quot; can be &amp;quot;$generic&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;On Monday, John jumped in a house.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[exists,[?:A1],[and,[exists,[[$time,$generic,Monday]],&lt;br /&gt;
                       [rel2,on,?:A1,[$time,$generic,Monday],[$conf,1,False],[$ctxt,Past,1]]],&lt;br /&gt;
                    [exists,[?:O6],[and,[isa,house,?:O6,[$conf,1,False]],&lt;br /&gt;
                                               [rel2,in,?:A1,?:O6,[$conf,1,False],[$ctxt,Past,1]]]],&lt;br /&gt;
                    [act1,jump,c1_John,[$conf,1,True],?:A1,[$ctxt,Past,1]]]]&lt;br /&gt;
&lt;br /&gt;
which is normalized as&lt;br /&gt;
&lt;br /&gt;
[rel2,on,cs2,[$time,$generic,Monday],[$ctxt,Past,1]],&lt;br /&gt;
[isa,house,cs3],&lt;br /&gt;
[rel2,in,cs2,cs3,[$ctxt,Past,1]],&lt;br /&gt;
[act1,jump,c1_John,cs2,[$ctxt,Past,1]],&lt;br /&gt;
&lt;br /&gt;
---------------&lt;br /&gt;
&lt;br /&gt;
event roles&lt;br /&gt;
        &amp;quot;event_type&amp;quot;     stab&lt;br /&gt;
        &amp;quot;event_actor&amp;quot;    senators&lt;br /&gt;
        &amp;quot;event_theme&amp;quot;     Caesar&lt;br /&gt;
        &amp;quot;event_method&amp;quot;    brutally&lt;br /&gt;
        &amp;quot;event_instrument&amp;quot;   knife&lt;br /&gt;
        &amp;quot;event_type_modifier&amp;quot;  if type is go: go IN, go OUT, ...&lt;br /&gt;
        &lt;br /&gt;
--------------&lt;br /&gt;
&lt;br /&gt;
These may need more thought, but for now we have:&lt;br /&gt;
&lt;br /&gt;
* type,actor,theme are given as act1/act2 arguments, see above&lt;br /&gt;
* method and instrument are properties of the action id, indicated with &amp;quot;rel2&amp;quot; &lt;br /&gt;
  in combination with the actual word like &amp;quot;with&amp;quot;: what does the &amp;quot;with&amp;quot; mean,&lt;br /&gt;
  needs additional reasoning rules or procedural derivation of new facts.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Senators stabbed Caesar with a knife in curia&amp;quot;&lt;br /&gt;
&lt;br /&gt;
is normalized as&lt;br /&gt;
&lt;br /&gt;
[isa,senator,the_c2_senator]},&lt;br /&gt;
[isa,knife,the_c3_knife]},&lt;br /&gt;
[isa,curia,the_c4_curia]},&lt;br /&gt;
[rel2,in,the_c3_knife,the_c4_curia,[$ctxt,Pres,1]]},&lt;br /&gt;
[isa,knife,cs6]},&lt;br /&gt;
[rel2,with,cs5,cs6,[$ctxt,Past,1]]},&lt;br /&gt;
[act2,stab,the_c2_senator,c1_Caesar,cs5,[$ctxt,Past,1]]},&lt;br /&gt;
&lt;br /&gt;
Observe that the fact that there were several senators should be given,&lt;br /&gt;
but currently is not done for that example.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----------&lt;br /&gt;
&lt;br /&gt;
These need further thinking:&lt;br /&gt;
&lt;br /&gt;
event meta&lt;br /&gt;
		&amp;quot;event_parallel&amp;quot;    X and Y are simultaneous&lt;br /&gt;
		&amp;quot;event_after&amp;quot;		Y happens after X&lt;br /&gt;
		&amp;quot;event_content&amp;quot;		Y is subevent of X (may be broken, other mixed use in db)&lt;br /&gt;
special use&lt;br /&gt;
		&amp;quot;similar&amp;quot;	semantic similarity&lt;br /&gt;
&lt;br /&gt;
---------&lt;br /&gt;
&lt;br /&gt;
I am attaching the current small ruleset I am using while debugging the parser:&lt;br /&gt;
it is intentionally small.&lt;br /&gt;
&lt;br /&gt;
very high level commonsense rules&lt;br /&gt;
	transitivity of &amp;quot;be&amp;quot;&lt;br /&gt;
	symmetry of &amp;quot;similar&amp;quot;&lt;br /&gt;
	inference using taxonomy of object (can leap |- can jump)&lt;br /&gt;
&lt;br /&gt;
--------&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tammet</name></author>
	</entry>
</feed>