From: <mcu...@us...> - 2013-10-28 01:33:01
|
Revision: 1529 http://sourceforge.net/p/orm/code/1529 Author: mcurland Date: 2013-10-28 01:32:57 +0000 (Mon, 28 Oct 2013) Log Message: ----------- Ongoing derivation rule verbalization adjustments: * Add 'is by definition' to the subtype derivation rules to clarify the intent of the subtype derivation. * Fixed some variable subscripting cases during verbalization and adjusted when variables are descoped in negations. Modified Paths: -------------- trunk/ORMModel/ObjectModel/Verbalization.cs trunk/ORMModel/ObjectModel/VerbalizationCoreSnippets/VerbalizationCoreSnippets.xml trunk/ORMModel/ObjectModel/VerbalizationCoreSnippets/VerbalizationCoreSnippets.xsd trunk/ORMModel/ObjectModel/VerbalizationCoreSnippetsDocumentation.html trunk/ORMModel/ObjectModel/VerbalizationDocumentation.xml trunk/ORMModel/ObjectModel/VerbalizationGenerator.cs Modified: trunk/ORMModel/ObjectModel/Verbalization.cs =================================================================== --- trunk/ORMModel/ObjectModel/Verbalization.cs 2013-10-18 03:44:19 UTC (rev 1528) +++ trunk/ORMModel/ObjectModel/Verbalization.cs 2013-10-28 01:32:57 UTC (rev 1529) @@ -4135,6 +4135,7 @@ private StateFlags myFlags; private ObjectType myRolePlayer; private int mySubscript; + private int mySubscriptOffset; private int myUsePhase; private int myDescopedUseCount; /// <summary> @@ -4145,6 +4146,7 @@ { myRolePlayer = rolePlayer; mySubscript = -1; + mySubscriptOffset = 0; } /// <summary> /// Get the associated role player @@ -4163,7 +4165,7 @@ /// consistent across use phases, so once a subscript /// for a variable has been set it does not change. /// </summary> - public int Subscript + public int BaseSubscript { get { @@ -4175,6 +4177,37 @@ } } /// <summary> + /// Get or set the subscript offset, which is calculated + /// from the descoped counts on variables of this type + /// when this is set. + /// </summary> + public int SubscriptOffset + { + get + { + return mySubscriptOffset; + } + set + { + mySubscriptOffset = value; + } + } + /// <summary> + /// Get the current displayed subscript for this variable. + /// </summary> + public int Subscript + { + get + { + int retVal = mySubscript; + if (retVal > 0) + { + retVal += mySubscriptOffset; + } + return retVal; + } + } + /// <summary> /// Return the current use phase for this variable /// </summary> public int UsePhase @@ -4221,6 +4254,7 @@ { myUsePhase = 0; mySubscript = -1; + mySubscriptOffset = 0; ++myDescopedUseCount; } /// <summary> @@ -4434,12 +4468,12 @@ else { RolePlayerVariable currentVariable = node.Value; - retVal = Math.Max(currentVariable.Subscript, retVal); + retVal = Math.Max(currentVariable.BaseSubscript, retVal); descopedCount += currentVariable.DescopedCount; while (nextNode != null) { currentVariable = nextNode.Value; - retVal = Math.Max(currentVariable.Subscript, retVal); + retVal = Math.Max(currentVariable.BaseSubscript, retVal); descopedCount += currentVariable.DescopedCount; nextNode = nextNode.Next; } @@ -4449,11 +4483,12 @@ } ++retVal; } + variable.BaseSubscript = retVal; + variable.SubscriptOffset = descopedCount; if (retVal != 0) { retVal += descopedCount; } - variable.Subscript = retVal; } return retVal; } @@ -7570,6 +7605,7 @@ { collapseBlockingSnippets = new CoreVerbalizationSnippetType[] { }; } + myCollapseBlockingSnippets = collapseBlockingSnippets; } switch (collapseBlockingSnippets.Length) { @@ -10665,22 +10701,71 @@ VerbalizationPlanBranchType childBranchType; VerbalizationPlanNodeType previousChildNodeType = (VerbalizationPlanNodeType)(-1); VerbalizationPlanNode previousChildNode = null; + bool pushPopPairing = true; + bool popPairingAfterOnly = false; + if (childNodeLink != null) + { + switch (renderingStyle) + { + case VerbalizationPlanBranchRenderingStyle.IsolatedList: + pushPopPairing = false; + break; + case VerbalizationPlanBranchRenderingStyle.OperatorSeparated: + switch (branchType) + { + case VerbalizationPlanBranchType.None: + case VerbalizationPlanBranchType.AndSplit: + pushPopPairing = false; + break; + case VerbalizationPlanBranchType.Chain: + VerbalizationPlanNode testLeadNegation = childNodeLink.Value; + if (testLeadNegation.NodeType == VerbalizationPlanNodeType.VariableExistence && + testLeadNegation.NegateExistence) + { + popPairingAfterOnly = true; + } + else + { + pushPopPairing = false; + } + break; + case VerbalizationPlanBranchType.NegatedAndSplit: + case VerbalizationPlanBranchType.NegatedChain: + popPairingAfterOnly = true; + break; + } + break; + } + } while (childNodeLink != null) { snippet = (CoreVerbalizationSnippetType)(-1); childNode = childNodeLink.Value; switch (renderingStyle) { - case VerbalizationPlanBranchRenderingStyle.HeaderList: - if (!first) + case VerbalizationPlanBranchRenderingStyle.IsolatedList: + BeginQuantificationUsePhase(); + break; + default: + if (pushPopPairing) { - PopPairingUsePhase(); + if (popPairingAfterOnly) + { + if (first) + { + PushPairingUsePhase(); + } + } + else + { + if (!first) + { + PopPairingUsePhase(); + } + PushPairingUsePhase(); + } } - PushPairingUsePhase(); break; - case VerbalizationPlanBranchRenderingStyle.IsolatedList: - BeginQuantificationUsePhase(); - break; } string requiredVariableContextPhrase = null; LinkedNode<object> requiredVariableUseKeyLink = childNode.RequiredContextVariableUseKeys; @@ -10994,7 +11079,7 @@ outdentPosition = nestedOutdent; } } - if (renderingStyle == VerbalizationPlanBranchRenderingStyle.HeaderList) + if (pushPopPairing) { PopPairingUsePhase(); } @@ -11452,14 +11537,17 @@ { // Skip partnering if possible. Pretend that the variables are the same variable by giving them // the same subscript. - int partnerSubscript = partnerWithVariable.Subscript; - int primarySubscript = primaryVariable.Subscript; + int partnerSubscript = partnerWithVariable.BaseSubscript; + int primarySubscript = primaryVariable.BaseSubscript; + int partnerSubscriptOffset = partnerWithVariable.SubscriptOffset; + int primarySubscriptOffset = primaryVariable.SubscriptOffset; if (primarySubscript == -1) { if (partnerSubscript != -1) { // Use the existing subscript - primaryVariable.Subscript = primarySubscript = partnerSubscript; + primaryVariable.BaseSubscript = primarySubscript = partnerSubscript; + primaryVariable.SubscriptOffset = primarySubscriptOffset = partnerSubscriptOffset; if (IsPairingUsePhaseInScope(partnerWithVariable.UsePhase)) { UseVariable(primaryVariable, CurrentQuantificationUsePhase, false); @@ -11475,7 +11563,8 @@ } if (partnerSubscript == -1) { - partnerWithVariable.Subscript = primarySubscript = partnerSubscript = primaryVariable.Subscript; // Primary subscript now reserved and set by GetSubscriptedRolePlayerName, read off new value + partnerWithVariable.BaseSubscript = primarySubscript = partnerSubscript = primaryVariable.BaseSubscript; // Primary subscript now reserved and set by GetSubscriptedRolePlayerName, read off new value + partnerWithVariable.SubscriptOffset = primarySubscriptOffset = partnerSubscriptOffset = primaryVariable.SubscriptOffset; } } else @@ -11486,7 +11575,8 @@ } if (partnerSubscript == -1) { - partnerWithVariable.Subscript = partnerSubscript = primarySubscript; + partnerWithVariable.BaseSubscript = partnerSubscript = primarySubscript; + partnerWithVariable.SubscriptOffset = partnerSubscriptOffset = primarySubscriptOffset; if (IsPairingUsePhaseInScope(primaryVariable.UsePhase)) { UseVariable(partnerWithVariable, CurrentQuantificationUsePhase, false); Modified: trunk/ORMModel/ObjectModel/VerbalizationCoreSnippets/VerbalizationCoreSnippets.xml =================================================================== --- trunk/ORMModel/ObjectModel/VerbalizationCoreSnippets/VerbalizationCoreSnippets.xml 2013-10-18 03:44:19 UTC (rev 1528) +++ trunk/ORMModel/ObjectModel/VerbalizationCoreSnippets/VerbalizationCoreSnippets.xml 2013-10-28 01:32:57 UTC (rev 1529) @@ -96,11 +96,11 @@ <Snippet type="PartialFactTypeDerivation"><![CDATA[<span class="quantifier"><sup style="font-size:smaller;">+</sup></span>{0} <span class="quantifier">if</span><br/>{1}<br/>]]></Snippet> <Snippet type="PartialFactTypeStoredDerivation"><![CDATA[<span class="quantifier"><sup style="font-size:smaller;">++</sup></span>{0} <span class="quantifier">if</span><br/>{1}<br/>]]></Snippet> <Snippet type="PartialStoredFactTypeDescription"><![CDATA[<span class="indent"><span class="quantifier">derived instances of this fact type are also stored immediately after they are derived</span></span>]]></Snippet> - <Snippet type="FullSubtypeDerivation"><![CDATA[<span class="quantifier">*Each</span> {0} <span class="quantifier">is</span> {1}]]></Snippet> - <Snippet type="FullSubtypeStoredDerivation"><![CDATA[<span class="quantifier">**Each</span> {0} <span class="quantifier">is</span> {1}]]></Snippet> + <Snippet type="FullSubtypeDerivation"><![CDATA[<span class="quantifier">*Each</span> {0} <span class="quantifier">is by definition</span> {1}]]></Snippet> + <Snippet type="FullSubtypeStoredDerivation"><![CDATA[<span class="quantifier">**Each</span> {0} <span class="quantifier">is by definition</span> {1}]]></Snippet> <Snippet type="FullStoredSubtypeDescription"><![CDATA[<span class="smallIndent"><span class="quantifier">instances of this subtype are stored immediately after they are derived</span></span>]]></Snippet> - <Snippet type="PartialSubtypeDerivation"><![CDATA[<span class="quantifier"><sup style="font-size:smaller;">+</sup>each derived</span> {0} <span class="quantifier">is</span> {1}]]></Snippet> - <Snippet type="PartialSubtypeStoredDerivation"><![CDATA[<span class="quantifier"><sup style="font-size:smaller;">++</sup>each derived</span> {0} <span class="quantifier">is</span> {1}]]></Snippet> + <Snippet type="PartialSubtypeDerivation"><![CDATA[<span class="quantifier"><sup style="font-size:smaller;">+</sup>each derived</span> {0} <span class="quantifier">is by definition</span> {1}]]></Snippet> + <Snippet type="PartialSubtypeStoredDerivation"><![CDATA[<span class="quantifier"><sup style="font-size:smaller;">++</sup>each derived</span> {0} <span class="quantifier">is by definition</span> {1}]]></Snippet> <Snippet type="PartialStoredSubtypeDescription"><![CDATA[<span class="smallIndent"><span class="quantifier">derived instances of this subtype are also stored immediately after they are derived</span></span>]]></Snippet> <Snippet type="QueryParameterContainer"><![CDATA[<span class="quantifier">given</span> {0} ]]></Snippet> <Snippet type="QueryNamedParameter"><![CDATA[{1}<span class="logicalOperator">=</span>{0}]]></Snippet> @@ -312,7 +312,7 @@ <Snippet type="RolePathHeaderListDirective"><![CDATA[!And !Or Xor !Xor]]></Snippet> <Snippet type="RolePathCollapsibleLeadDirective"><![CDATA[And Or Chain]]></Snippet> <Snippet type="RolePathCollapsibleListOpenForBackReferenceDirective"><![CDATA[And Or Chain]]></Snippet> - <Snippet type="RolePathBlockLeadCollapseForSnippetDirective"><![CDATA[AndTailListOpen OrTailListOpen]]></Snippet> + <Snippet type="RolePathBlockLeadCollapseForSnippetDirective"><![CDATA[AndTailListOpen OrTailListOpen ChainedListLocalRestrictionSeparator ChainedListComplexRestrictionSeparator ChainedListComplexRestrictionSeparator ChainedListTopLevelComplexRestrictionSeparator]]></Snippet> <Snippet type="ImpersonalIdentityCorrelation"><![CDATA[{0} <span class="quantifier">that is</span> {1}]]></Snippet> <Snippet type="ImpersonalLeadIdentityCorrelation"><![CDATA[{1} <span class="quantifier">is</span> {0} <span class="quantifier">that</span>]]></Snippet> <Snippet type="PersonalIdentityCorrelation"><![CDATA[{0} <span class="quantifier">who is</span> {1}]]></Snippet> Modified: trunk/ORMModel/ObjectModel/VerbalizationCoreSnippets/VerbalizationCoreSnippets.xsd =================================================================== --- trunk/ORMModel/ObjectModel/VerbalizationCoreSnippets/VerbalizationCoreSnippets.xsd 2013-10-18 03:44:19 UTC (rev 1528) +++ trunk/ORMModel/ObjectModel/VerbalizationCoreSnippets/VerbalizationCoreSnippets.xsd 2013-10-28 01:32:57 UTC (rev 1529) @@ -1201,13 +1201,13 @@ <xs:enumeration value="FullSubtypeDerivation"> <xs:annotation> <xs:documentation>Description: Used to specify a fully derived subtype derivation rule. -Format: *each {0} is {1}</xs:documentation> +Format: *each {0} is by definition {1}</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="FullSubtypeStoredDerivation"> <xs:annotation> <xs:documentation>Description: Used to specify a fully derived (and stored) subtype derivation rule. -Format: **each {0} is {1}</xs:documentation> +Format: **each {0} is by definition {1}</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="FullStoredSubtypeDescription"> @@ -1219,13 +1219,13 @@ <xs:enumeration value="PartialSubtypeDerivation"> <xs:annotation> <xs:documentation>Description: Used to specify a partially derived subtype derivation rule. -Format: +each derived {0} is {1}</xs:documentation> +Format: +each derived {0} is by definition {1}</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="PartialSubtypeStoredDerivation"> <xs:annotation> <xs:documentation>Description: Used to specify a partially derived (and stored) subtype derivation rule. -Format: ++each derived {0} is {1}</xs:documentation> +Format: ++each derived {0} is by definition {1}</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="PartialStoredSubtypeDescription"> @@ -1267,7 +1267,7 @@ <xs:documentation>Description: Specify a space-separated list of snippet names to specify list snippets that would allow lead role collapsing based on the RolePathCollapsibleLeadDirective, but do not actually support this construct. This allows a final override to block the collapsing behavior for specific snippets. This is checked for the -(Negated)[And|Or|Xor][Tail|Nested]List[(Collapsed)Open|Separator] snippets. +(Negated)[Chained|And|Or|Xor][Tail|Nested]List[(Collapsed)Open|Separator] and the ChainedList*Restrction* snippets. Format: AndTailListOpen OrTailListOpen</xs:documentation> </xs:annotation> </xs:enumeration> Modified: trunk/ORMModel/ObjectModel/VerbalizationCoreSnippetsDocumentation.html =================================================================== --- trunk/ORMModel/ObjectModel/VerbalizationCoreSnippetsDocumentation.html 2013-10-18 03:44:19 UTC (rev 1528) +++ trunk/ORMModel/ObjectModel/VerbalizationCoreSnippetsDocumentation.html 2013-10-28 01:32:57 UTC (rev 1529) @@ -4401,13 +4401,13 @@ <div class="snippetStatement"> <strong>Description: </strong> Used to specify a fully derived subtype derivation rule. <br /> - <strong>Format: </strong> *each {0} is {1}</div> + <strong>Format: </strong> *each {0} is by definition {1}</div> <div class="snippetReplacementFieldCount"> <span class="reportItem">Number of replacement fields: </span>2</div> <div class="snippetUnformattedText"> <span class="reportItem">Unformatted version: </span> <div class="unformattedSnippet"> - <pre class="unformattedSnippetDecorator">*Each {0} is {1}</pre> + <pre class="unformattedSnippetDecorator">*Each {0} is by definition {1}</pre> </div> </div> </div> @@ -4418,13 +4418,13 @@ <div class="snippetStatement"> <strong>Description: </strong> Used to specify a fully derived (and stored) subtype derivation rule. <br /> - <strong>Format: </strong> **each {0} is {1}</div> + <strong>Format: </strong> **each {0} is by definition {1}</div> <div class="snippetReplacementFieldCount"> <span class="reportItem">Number of replacement fields: </span>2</div> <div class="snippetUnformattedText"> <span class="reportItem">Unformatted version: </span> <div class="unformattedSnippet"> - <pre class="unformattedSnippetDecorator">**Each {0} is {1}</pre> + <pre class="unformattedSnippetDecorator">**Each {0} is by definition {1}</pre> </div> </div> </div> @@ -7473,13 +7473,13 @@ <div class="snippetStatement"> <strong>Description: </strong> Used to specify a partially derived subtype derivation rule. <br /> - <strong>Format: </strong> +each derived {0} is {1}</div> + <strong>Format: </strong> +each derived {0} is by definition {1}</div> <div class="snippetReplacementFieldCount"> <span class="reportItem">Number of replacement fields: </span>2</div> <div class="snippetUnformattedText"> <span class="reportItem">Unformatted version: </span> <div class="unformattedSnippet"> - <pre class="unformattedSnippetDecorator">+each derived {0} is {1}</pre> + <pre class="unformattedSnippetDecorator">+each derived {0} is by definition {1}</pre> </div> </div> </div> @@ -7490,13 +7490,13 @@ <div class="snippetStatement"> <strong>Description: </strong> Used to specify a partially derived (and stored) subtype derivation rule. <br /> - <strong>Format: </strong> ++each derived {0} is {1}</div> + <strong>Format: </strong> ++each derived {0} is by definition {1}</div> <div class="snippetReplacementFieldCount"> <span class="reportItem">Number of replacement fields: </span>2</div> <div class="snippetUnformattedText"> <span class="reportItem">Unformatted version: </span> <div class="unformattedSnippet"> - <pre class="unformattedSnippetDecorator">++each derived {0} is {1}</pre> + <pre class="unformattedSnippetDecorator">++each derived {0} is by definition {1}</pre> </div> </div> </div> Modified: trunk/ORMModel/ObjectModel/VerbalizationDocumentation.xml =================================================================== --- trunk/ORMModel/ObjectModel/VerbalizationDocumentation.xml 2013-10-18 03:44:19 UTC (rev 1528) +++ trunk/ORMModel/ObjectModel/VerbalizationDocumentation.xml 2013-10-28 01:32:57 UTC (rev 1529) @@ -1318,16 +1318,16 @@ </snippet> <snippet name="FullSubtypeDerivation" replacementCount="2"> <statement>Description: Used to specify a fully derived subtype derivation rule. -Format: *each {0} is {1}</statement> - <unformattedSnippet>*Each {0} is {1}</unformattedSnippet> +Format: *each {0} is by definition {1}</statement> + <unformattedSnippet>*Each {0} is by definition {1}</unformattedSnippet> <contains /> <containedIn /> <usedBy /> </snippet> <snippet name="FullSubtypeStoredDerivation" replacementCount="2"> <statement>Description: Used to specify a fully derived (and stored) subtype derivation rule. -Format: **each {0} is {1}</statement> - <unformattedSnippet>**Each {0} is {1}</unformattedSnippet> +Format: **each {0} is by definition {1}</statement> + <unformattedSnippet>**Each {0} is by definition {1}</unformattedSnippet> <contains /> <containedIn /> <usedBy /> @@ -2593,16 +2593,16 @@ </snippet> <snippet name="PartialSubtypeDerivation" replacementCount="2"> <statement>Description: Used to specify a partially derived subtype derivation rule. -Format: +each derived {0} is {1}</statement> - <unformattedSnippet>+each derived {0} is {1}</unformattedSnippet> +Format: +each derived {0} is by definition {1}</statement> + <unformattedSnippet>+each derived {0} is by definition {1}</unformattedSnippet> <contains /> <containedIn /> <usedBy /> </snippet> <snippet name="PartialSubtypeStoredDerivation" replacementCount="2"> <statement>Description: Used to specify a partially derived (and stored) subtype derivation rule. -Format: ++each derived {0} is {1}</statement> - <unformattedSnippet>++each derived {0} is {1}</unformattedSnippet> +Format: ++each derived {0} is by definition {1}</statement> + <unformattedSnippet>++each derived {0} is by definition {1}</unformattedSnippet> <contains /> <containedIn /> <usedBy /> Modified: trunk/ORMModel/ObjectModel/VerbalizationGenerator.cs =================================================================== --- trunk/ORMModel/ObjectModel/VerbalizationGenerator.cs 2013-10-18 03:44:19 UTC (rev 1528) +++ trunk/ORMModel/ObjectModel/VerbalizationGenerator.cs 2013-10-28 01:32:57 UTC (rev 1529) @@ -422,11 +422,11 @@ FullStoredSubtypeDescription, /// <summary>The 'FullSubtypeDerivation' format string snippet. Contains 2 replacement fields.</summary> /// <remark>Description: Used to specify a fully derived subtype derivation rule. - /// Format: *each {0} is {1}</remark> + /// Format: *each {0} is by definition {1}</remark> FullSubtypeDerivation, /// <summary>The 'FullSubtypeStoredDerivation' format string snippet. Contains 2 replacement fields.</summary> /// <remark>Description: Used to specify a fully derived (and stored) subtype derivation rule. - /// Format: **each {0} is {1}</remark> + /// Format: **each {0} is by definition {1}</remark> FullSubtypeStoredDerivation, /// <summary>The 'GreaterThanOrEqualValueComparator' format string snippet. Contains 2 replacement fields.</summary> /// <remark>Description: Used to compare the two values in a value comparison constraint with a 'greater than or equal' operator. @@ -855,11 +855,11 @@ PartialStoredSubtypeDescription, /// <summary>The 'PartialSubtypeDerivation' format string snippet. Contains 2 replacement fields.</summary> /// <remark>Description: Used to specify a partially derived subtype derivation rule. - /// Format: +each derived {0} is {1}</remark> + /// Format: +each derived {0} is by definition {1}</remark> PartialSubtypeDerivation, /// <summary>The 'PartialSubtypeStoredDerivation' format string snippet. Contains 2 replacement fields.</summary> /// <remark>Description: Used to specify a partially derived (and stored) subtype derivation rule. - /// Format: ++each derived {0} is {1}</remark> + /// Format: ++each derived {0} is by definition {1}</remark> PartialSubtypeStoredDerivation, /// <summary>The 'PeriodSeparator' format string snippet. Contains 2 replacement fields.</summary> /// <remark>Description: Used to delimit two snippet replacements by a snippet. @@ -922,7 +922,7 @@ /// <remark>Description: Specify a space-separated list of snippet names to specify list snippets that /// would allow lead role collapsing based on the RolePathCollapsibleLeadDirective, but do not actually support this construct. /// This allows a final override to block the collapsing behavior for specific snippets. This is checked for the - /// (Negated)[And|Or|Xor][Tail|Nested]List[(Collapsed)Open|Separator] snippets. + /// (Negated)[Chained|And|Or|Xor][Tail|Nested]List[(Collapsed)Open|Separator] and the ChainedList*Restrction* snippets. /// Format: AndTailListOpen OrTailListOpen</remark> RolePathBlockLeadCollapseForSnippetDirective, /// <summary>The 'RolePathCollapsibleLeadDirective' simple snippet value.</summary> @@ -1282,8 +1282,8 @@ @"<span class=""quantifier"">**</span>{0} <span class=""quantifier"">if and only if</span><br/>{1}<br/>", @"<span class=""indent""><span class=""quantifier"">instances of this fact type are stored immediately after they are derived</span></span>", @"<span class=""smallIndent""><span class=""quantifier"">instances of this subtype are stored immediately after they are derived</span></span>", - @"<span class=""quantifier"">*Each</span> {0} <span class=""quantifier"">is</span> {1}", - @"<span class=""quantifier"">**Each</span> {0} <span class=""quantifier"">is</span> {1}", + @"<span class=""quantifier"">*Each</span> {0} <span class=""quantifier"">is by definition</span> {1}", + @"<span class=""quantifier"">**Each</span> {0} <span class=""quantifier"">is by definition</span> {1}", @"{0}<span class=""quantifier""> is greather than or equal to </span>{1}", @"{0}<span class=""quantifier""> is greater than </span>{1}", @"<span class=""quantifier"">all or none of the following hold:</span> {0}", @@ -1412,8 +1412,8 @@ @"<span class=""quantifier""><sup style=""font-size:smaller;"">++</sup></span>{0} <span class=""quantifier"">if</span><br/>{1}<br/>", @"<span class=""indent""><span class=""quantifier"">derived instances of this fact type are also stored immediately after they are derived</span></span>", @"<span class=""smallIndent""><span class=""quantifier"">derived instances of this subtype are also stored immediately after they are derived</span></span>", - @"<span class=""quantifier""><sup style=""font-size:smaller;"">+</sup>each derived</span> {0} <span class=""quantifier"">is</span> {1}", - @"<span class=""quantifier""><sup style=""font-size:smaller;"">++</sup>each derived</span> {0} <span class=""quantifier"">is</span> {1}", + @"<span class=""quantifier""><sup style=""font-size:smaller;"">+</sup>each derived</span> {0} <span class=""quantifier"">is by definition</span> {1}", + @"<span class=""quantifier""><sup style=""font-size:smaller;"">++</sup>each derived</span> {0} <span class=""quantifier"">is by definition</span> {1}", @"{0}<span class=""listSeparator"">.</span>{1}", @"{0} <span class=""quantifier"">who is</span> {1}", @"{1} <span class=""quantifier"">is</span> {0} <span class=""quantifier"">who</span>", @@ -1430,7 +1430,7 @@ @"<span class=""smallIndent""><span class=""quantifier"">Reference Scheme:</span> {0}</span>", @"<span class=""quantifier"">itself</span>", @"{0} <span class=""quantifier"">itself</span>", - "AndTailListOpen OrTailListOpen", + "AndTailListOpen OrTailListOpen ChainedListLocalRestrictionSeparator ChainedListComplexRestrictionSeparator ChainedListComplexRestrictionSeparator ChainedListTopLevelComplexRestrictionSeparator", "And Or Chain", "And Or Chain", "!And !Or Xor !Xor", @@ -1636,8 +1636,8 @@ @"<span class=""quantifier"">**</span>{0} <span class=""quantifier"">if and only if</span><br/>{1}<br/>", @"<span class=""indent""><span class=""quantifier"">instances of this fact type are stored immediately after they are derived</span></span>", @"<span class=""smallIndent""><span class=""quantifier"">instances of this subtype are stored immediately after they are derived</span></span>", - @"<span class=""quantifier"">*Each</span> {0} <span class=""quantifier"">is</span> {1}", - @"<span class=""quantifier"">**Each</span> {0} <span class=""quantifier"">is</span> {1}", + @"<span class=""quantifier"">*Each</span> {0} <span class=""quantifier"">is by definition</span> {1}", + @"<span class=""quantifier"">**Each</span> {0} <span class=""quantifier"">is by definition</span> {1}", @"{0}<span class=""quantifier""> is greather than or equal to </span>{1}", @"{0}<span class=""quantifier""> is greater than </span>{1}", @"<span class=""quantifier"">all or none of the following hold:</span> {0}", @@ -1766,8 +1766,8 @@ @"<span class=""quantifier""><sup style=""font-size:smaller;"">++</sup></span>{0} <span class=""quantifier"">if</span><br/>{1}<br/>", @"<span class=""indent""><span class=""quantifier"">derived instances of this fact type are also stored immediately after they are derived</span></span>", @"<span class=""smallIndent""><span class=""quantifier"">derived instances of this subtype are also stored immediately after they are derived</span></span>", - @"<span class=""quantifier""><sup style=""font-size:smaller;"">+</sup>each derived</span> {0} <span class=""quantifier"">is</span> {1}", - @"<span class=""quantifier""><sup style=""font-size:smaller;"">++</sup>each derived</span> {0} <span class=""quantifier"">is</span> {1}", + @"<span class=""quantifier""><sup style=""font-size:smaller;"">+</sup>each derived</span> {0} <span class=""quantifier"">is by definition</span> {1}", + @"<span class=""quantifier""><sup style=""font-size:smaller;"">++</sup>each derived</span> {0} <span class=""quantifier"">is by definition</span> {1}", @"{0}<span class=""listSeparator"">.</span>{1}", @"{0} <span class=""quantifier"">who is</span> {1}", @"{1} <span class=""quantifier"">is</span> {0} <span class=""quantifier"">who</span>", @@ -1784,7 +1784,7 @@ @"<span class=""smallIndent""><span class=""quantifier"">Reference Scheme:</span> {0}</span>", @"<span class=""quantifier"">itself</span>", @"{0} <span class=""quantifier"">itself</span>", - "AndTailListOpen OrTailListOpen", + "AndTailListOpen OrTailListOpen ChainedListLocalRestrictionSeparator ChainedListComplexRestrictionSeparator ChainedListComplexRestrictionSeparator ChainedListTopLevelComplexRestrictionSeparator", "And Or Chain", "And Or Chain", "!And !Or Xor !Xor", @@ -1990,8 +1990,8 @@ @"<span class=""quantifier"">**</span>{0} <span class=""quantifier"">if and only if</span><br/>{1}<br/>", @"<span class=""indent""><span class=""quantifier"">instances of this fact type are stored immediately after they are derived</span></span>", @"<span class=""smallIndent""><span class=""quantifier"">instances of this subtype are stored immediately after they are derived</span></span>", - @"<span class=""quantifier"">*Each</span> {0} <span class=""quantifier"">is</span> {1}", - @"<span class=""quantifier"">**Each</span> {0} <span class=""quantifier"">is</span> {1}", + @"<span class=""quantifier"">*Each</span> {0} <span class=""quantifier"">is by definition</span> {1}", + @"<span class=""quantifier"">**Each</span> {0} <span class=""quantifier"">is by definition</span> {1}", @"{0}<span class=""quantifier""> is greather than or equal to </span>{1}", @"{0}<span class=""quantifier""> is greater than </span>{1}", @"<span class=""quantifier"">all or none of the following hold:</span> {0}", @@ -2120,8 +2120,8 @@ @"<span class=""quantifier""><sup style=""font-size:smaller;"">++</sup></span>{0} <span class=""quantifier"">if</span><br/>{1}<br/>", @"<span class=""indent""><span class=""quantifier"">derived instances of this fact type are also stored immediately after they are derived</span></span>", @"<span class=""smallIndent""><span class=""quantifier"">derived instances of this subtype are also stored immediately after they are derived</span></span>", - @"<span class=""quantifier""><sup style=""font-size:smaller;"">+</sup>each derived</span> {0} <span class=""quantifier"">is</span> {1}", - @"<span class=""quantifier""><sup style=""font-size:smaller;"">++</sup>each derived</span> {0} <span class=""quantifier"">is</span> {1}", + @"<span class=""quantifier""><sup style=""font-size:smaller;"">+</sup>each derived</span> {0} <span class=""quantifier"">is by definition</span> {1}", + @"<span class=""quantifier""><sup style=""font-size:smaller;"">++</sup>each derived</span> {0} <span class=""quantifier"">is by definition</span> {1}", @"{0}<span class=""listSeparator"">.</span>{1}", @"{0} <span class=""quantifier"">who is</span> {1}", @"{1} <span class=""quantifier"">is</span> {0} <span class=""quantifier"">who</span>", @@ -2138,7 +2138,7 @@ @"<span class=""smallIndent""><span class=""quantifier"">Reference Scheme:</span> {0}</span>", @"<span class=""quantifier"">itself</span>", @"{0} <span class=""quantifier"">itself</span>", - "AndTailListOpen OrTailListOpen", + "AndTailListOpen OrTailListOpen ChainedListLocalRestrictionSeparator ChainedListComplexRestrictionSeparator ChainedListComplexRestrictionSeparator ChainedListTopLevelComplexRestrictionSeparator", "And Or Chain", "And Or Chain", "!And !Or Xor !Xor", @@ -2344,8 +2344,8 @@ @"<span class=""quantifier"">**</span>{0} <span class=""quantifier"">if and only if</span><br/>{1}<br/>", @"<span class=""indent""><span class=""quantifier"">instances of this fact type are stored immediately after they are derived</span></span>", @"<span class=""smallIndent""><span class=""quantifier"">instances of this subtype are stored immediately after they are derived</span></span>", - @"<span class=""quantifier"">*Each</span> {0} <span class=""quantifier"">is</span> {1}", - @"<span class=""quantifier"">**Each</span> {0} <span class=""quantifier"">is</span> {1}", + @"<span class=""quantifier"">*Each</span> {0} <span class=""quantifier"">is by definition</span> {1}", + @"<span class=""quantifier"">**Each</span> {0} <span class=""quantifier"">is by definition</span> {1}", @"{0}<span class=""quantifier""> is greather than or equal to </span>{1}", @"{0}<span class=""quantifier""> is greater than </span>{1}", @"<span class=""quantifier"">all or none of the following hold:</span> {0}", @@ -2474,8 +2474,8 @@ @"<span class=""quantifier""><sup style=""font-size:smaller;"">++</sup></span>{0} <span class=""quantifier"">if</span><br/>{1}<br/>", @"<span class=""indent""><span class=""quantifier"">derived instances of this fact type are also stored immediately after they are derived</span></span>", @"<span class=""smallIndent""><span class=""quantifier"">derived instances of this subtype are also stored immediately after they are derived</span></span>", - @"<span class=""quantifier""><sup style=""font-size:smaller;"">+</sup>each derived</span> {0} <span class=""quantifier"">is</span> {1}", - @"<span class=""quantifier""><sup style=""font-size:smaller;"">++</sup>each derived</span> {0} <span class=""quantifier"">is</span> {1}", + @"<span class=""quantifier""><sup style=""font-size:smaller;"">+</sup>each derived</span> {0} <span class=""quantifier"">is by definition</span> {1}", + @"<span class=""quantifier""><sup style=""font-size:smaller;"">++</sup>each derived</span> {0} <span class=""quantifier"">is by definition</span> {1}", @"{0}<span class=""listSeparator"">.</span>{1}", @"{0} <span class=""quantifier"">who is</span> {1}", @"{1} <span class=""quantifier"">is</span> {0} <span class=""quantifier"">who</span>", @@ -2492,7 +2492,7 @@ @"<span class=""smallIndent""><span class=""quantifier"">Reference Scheme:</span> {0}</span>", @"<span class=""quantifier"">itself</span>", @"{0} <span class=""quantifier"">itself</span>", - "AndTailListOpen OrTailListOpen", + "AndTailListOpen OrTailListOpen ChainedListLocalRestrictionSeparator ChainedListComplexRestrictionSeparator ChainedListComplexRestrictionSeparator ChainedListTopLevelComplexRestrictionSeparator", "And Or Chain", "And Or Chain", "!And !Or Xor !Xor", This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |