(=>
(and
(fullName ?NAMESTRING ?THING)
(keyName ?FIRST ?NAMESTRING)
(stringConcatenation ?FIRST ?REST ?NAMESTRING))
(fullNameIndexOrder ?NAMESTRING ?THING)) |
Media.kif 3227-3232 |
If the full name of X is Y, Z is a key in Y, and the concatenation of Z and W is Y, then the index order name of X is Y |
(=>
(and
(fullNameIndexOrder ?NAMESTRING ?THING)
(keyName ?FIRST ?NAMESTRING)
(equal ?START
(StringLengthFn ?FIRST))
(equal ?END
(StringLengthFn ?NAMESTRING))
(equal ?REST
(SubstringFn ?NAMESTRING ?START ?END)))
(stringConcatenation ?FIRST ?REST ?NAMESTRING)) |
Media.kif 3234-3241 |
If the index order name of X is Y, Z is a key in Y, equal W and the length of Z, equal V and the length of Y, and equal U and the sub-string of Y from W to V, then the concatenation of Z and U is Y |
(=>
(and
(names ?NAMESTRING ?THING)
(keyName ?FIRST ?NAMESTRING)
(stringConcatenation ?FIRST ?REST ?NAMESTRING))
(nameIndexOrder ?NAMESTRING ?THING)) |
Media.kif 3254-3259 |
If X has name Y, Z is a key in Y, and the concatenation of Z and W is Y, then Y is the indexable name for X |
(=>
(and
(nameIndexOrder ?NAMESTRING ?THING)
(keyName ?FIRST ?NAMESTRING)
(equal ?START
(StringLengthFn ?FIRST))
(equal ?END
(StringLengthFn ?NAMESTRING))
(equal ?REST
(SubstringFn ?NAMESTRING ?START ?END)))
(stringConcatenation ?FIRST ?REST ?NAMESTRING)) |
Media.kif 3261-3268 |
If X is the indexable name for Y, Z is a key in X, equal W and the length of Z, equal V and the length of X, and equal U and the sub-string of X from W to V, then the concatenation of Z and U is X |
(=>
(and
(keyName ?KEY ?NAMESTRING)
(precedesInString ?KEY ?STRING ?NAMESTRING))
(nameAfterKeyName ?STRING ?KEY ?NAMESTRING)) |
Media.kif 3301-3305 |
If X is a key in Y and X precedes Z in Y, then Z is after key X in Y |
(=>
(and
(keyName ?KEY ?NAMESTRING)
(precedesInString ?STRING ?KEY ?NAMESTRING))
(nameBeforeKeyName ?STRING ?KEY ?NAMESTRING)) |
Media.kif 3328-3332 |
If X is a key in Y and Z precedes X in Y, then Z is before key X in Y |