The KIF vocabulary concerning relations and functions.
Kif-Sets
Kif-Lists
Kif-Numbers
Frame-Ontology
Vt-Domain
Vt-Example
Configuration-Design
Vt-Design
Simple-Bikes
Vt-Domain ...
Physical-Quantities
Unary-Scalar-Functions
Cml
Thermodynamics
Dme
Thermodynamics
Standard-Units
Simple-Bikes
Cml ...
Vt-Design ...
Unary-Scalar-Functions ...
Scalar-Quantities
Vt-Design ...
Vector-Quantities
Abstract-Algebra
Physical-Quantities ...
Jat-Generic
Job-Assignment-Task
Generic-Bibliography
Slot-Constraint-Sugar
Generic-Bibliography
Kif-Ontology
Defined
Relation
Function
One-One
Many-One
Unary-Function
Binary-Function
Unary-Relation
Binary-Relation
One-One
Many-One
One-Many
Many-Many
Unary-Function
Undefined
The following constants were used from included theories:
The following constants were used from theories not included:
All constants that were mentioned were defined.
(<=> (Relation ?R)
(And (Set ?R) (Forall (?X) (=> (Member ?X ?R) (List ?X)))) )
(<=> (Function ?F)
(And (Relation ?F)
(Forall (?L ?M)
(=> (Member ?L ?F)
(Member ?M ?F)
(= (Butlast ?L) (Butlast ?M))
(= (Last ?L) (Last ?M)) ))))
The unique object which is the value of functions when applied to arguments on which they are not defined.
True of terms denoting the bottom object, usually meaning that a function is undefined on given arguments. There is exactly one object in the universe of discourse that is undefined, called BOTTOM. Functional terms that are undefined are equal to this special element.
A term is defined if it does not denote the undefined object, called bottom. (defined (F x)) means that the function F is defined for the object x. (F x) denotes its value. In relational terminology, (defined (F x)) means (exists ?y (F x ?y)).
(<=> (Defined ?X) (Not (Undefined ?X)))
If $tau$ denotes a relation, then the sentence {tt (holds $tau$ $tau_1$ ... $tau_k$)} is true if and only if
the list of objects denoted by $tau_1$,...,$tau_k$ is a member of that relation.
(Undefined (Arity Holds)) (<=> (Holds ?R @Args) (And (Relation ?R) (Member (Listof @Args) ?R)))
If $tau$ denotes a function with a value for the objects denoted by $tau_1$,..., $tau_k$, then the term {tt (value $tau$ $tau_1$ ... $tau_k$)} denotes the value of applying that function to the objects denoted by $tau_1$,...,$tau_k$. Otherwise, the value is undefined.
(Undefined (Arity Value)) (Undefined (Arity Value))
The value of the identity function is just its argument.
(Nth-Domain Apply 1 Function)
(<=> (Apply ?F ?List ?Result)
(And (Function ?F)
(= ?List (Listof @Args))
(Value ?F @Args ?Result) ))
(= (Map ?F ?List)
(If (Null ?List)
(Listof)
(Cons (Value ?F (First ?List)) (Map ?F (Rest ?List))) ))
The universe of a relation is the set of all objects occurring in some list contained in that relation.
(<=> (Universe ?R ?Set)
(And (Relation ?R)
(= (Setofall ?X
(Exists (?List)
(And (Member ?List ?R)
(Item ?X ?List) )))
?Set)))
A unary relation is a non-empty relation in which all lists have exactly one item.
(<=> (Unary-Relation ?R)
(And (Relation ?R)
(Not (Empty ?R))
(Forall (?List) (=> (Member ?List ?R) (Single ?List))) ))
A binary relation is a non-empty relation in which all lists have exactly two items.
(<=> (Binary-Relation ?R)
(And (Relation ?R)
(Not (Empty ?R))
(Forall (?List) (=> (Member ?List ?R) (Double ?List))) ))
The inverse of a binary relation is a binary relation with all tuples reversed.
(<=> (Inverse ?R ?Relation)
(And (Binary-Relation ?R)
(= (Setofall (Listof ?Y ?X) (Holds ?R ?X ?Y)) ?Relation) ))
The composition of a binary relation $r_1$ and a binary relation $r_2$ is a binary relation in which an object $x$ is related to an object $z$ if and only if there is an object $y$ such that $x$ is related to $y$ by $r_1$ and $y$ is related to $z$ by $r_2$.
(Nth-Domain Composition 2 Binary-Relation)
(Nth-Domain Composition 1 Binary-Relation)
(<=> (Composition ?R1 ?R2 ?Relation)
(And (Binary-Relation ?R1)
(Binary-Relation ?R2)
(= (Setofall (Listof ?X ?Z)
(Exists (?Y)
(And (Holds ?R1 ?X ?Y)
(Holds ?R2 ?Y ?Z) )))
?Relation)))
Slots Of Instances:
(<=> (One-One ?R)
(And (Binary-Relation ?R)
(Function ?R)
(Value-Type ?R Inverse Function) ))
(<=> (Many-One ?R) (And (Binary-Relation ?R) (Function ?R)))
Slots Of Instances:
(<=> (One-Many ?R)
(And (Binary-Relation ?R) (Value-Type ?R Inverse Function)) )
(<=> (Many-Many ?R)
(And (Binary-Relation ?R)
(Not (Function ?R))
(Not (Function (Inverse ?R))) ))
A unary function is a function with a single argument and a single value. Hence, it is also a binary relation.
(<=> (Unary-Function ?F) (And (Function ?F) (Binary-Relation ?F)))
A binary function is a function with two arguments and one value. Hence, it is a relation with three arguments.
(<=> (Binary-Function ?F)
(And (Function ?F)
(Not (Empty ?F))
(Forall (?List) (=> (Member ?List ?F) (Triple ?List))) ))