The KIF vocabulary for set theory as defined in the KIF 3.0 specification.
No theories were included by Kif-Sets.
Kif-Ontology Kif-Meta Configuration-Design Vt-Design Simple-Bikes Vt-Domain Vt-Example Kif-Ontology Kif-Relations Frame-Ontology Vt-Domain ... Configuration-Design ... 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
Bounded Empty Individual Mutually-Disjoint Pairwise-Disjoint Set Simple-Set Proper-Set Finite-Set Unbounded
The following constants were used from theories not included:
All constants that were mentioned were defined.
A set is a collection of objects, both individuals and sets of various sorts. It is a KIF primitive.
Something that can be a member of a set.
(<=> (Bounded ?X) (Forall (?Bounded-Object) (Member ?X (Setofall ?Bounded-Object True)) ))
Something in the universe of discourse that can't be a member of a set. Paradoxical beasts go here.
(<=> (Unbounded ?X) (Not (Bounded ?X)))
The sentence {tt (member $tau_1$ $tau_2$)} is true if and only if the object denoted by $tau_1$ is contained in the set denoted by $tau_2$. As mentioned above, an object can be a member of another object if and only if the former is bounded and the latter is a set.
SETOF is the set constructor function for KIF. It takes any finite number of arguments and denotes the set of those things.
(Undefined (Arity Setof))
Two sets are identical if and only if they have the same members.
'(=> (And (Set ?S1) (Set ?S2)) (<=> (Forall (?X) (<=> (Member ?X ?S1) (Member ?X ?S2))) (= ?S1 ?S2) ))
An individual is something that is not a set.
(<=> (Individual ?X) (Not (Set ?X)))
A simple set is a set that can be a member of another set.
A proper set is a set that cannot be a member of another set.
True of the empty set.
(<=> (Empty ?X) (= ?X (Setof)))
(<=> (Cardinality ?Set ?Integer) (And (Set ?Set) (Integer ?Integer) (Exists (@Elements) (And (= ?Set (Setof @Elements)) (Length (Listof @Elements) ?Integer) ))))
A set that has only finite elements
(<=> (Finite-Set ?F-Set) (And (Set ?F-Set) (Exists (@Elements) (= ?F-Set (Setof @Elements))) ))
(Undefined (Arity Union)) (Undefined (Arity Union))
(Undefined (Arity Intersection)) (Undefined (Arity Intersection))
(Undefined (Arity Difference)) (Nth-Domain Difference 3 Set) (Nth-Domain Difference 1 Set) (Undefined (Arity Difference))
(= (Complement ?S) (Setofall ?X (Not (Member ?X ?S))))
(= (Generalized-Union ?Set-Of-Sets) (Setofall ?X (Exists (?S) (And (Member ?S ?Set-Of-Sets) (Member ?X ?S)) ))) (=> (Generalized-Union ?Set-Of-Sets ?Set) (Forall (?S) (=> (Member ?S ?Set-Of-Sets) (Set ?S))) )
(= (Generalized-Intersection ?Set-Of-Sets) (Setofall ?X (Exists (?S) (=> (Member ?S ?Set-Of-Sets) (Member ?X ?S)) ))) (=> (Generalized-Intersection ?Set-Of-Sets ?Set) (Forall (?S) (=> (Member ?S ?Set-Of-Sets) (Set ?S))) )
The sentence {tt (subset $tau_1$ $tau_2$)} is true if and only if $tau_1$ and $tau_2$ are sets and the objects in the set denoted by $tau_1$ are contained in the set denoted by $tau_2$.
(<=> (Subset ?S1 ?S2) (And (Set ?S1) (Set ?S2) (Forall (?X) (=> (Member ?X ?S1) (Member ?X ?S2))) ))
The sentence {tt (proper-subset $tau_1$ $tau_2$)} is true if the set denoted by $tau_1$ is a subset of the set denoted by $tau_2$ but not vice-versa.
(<=> (Proper-Subset ?S1 ?S2) (And (Subset ?S1 ?S2) (Not (Subset ?S2 ?S1))) )
Two sets are disjoint if and only if there is no object that is a member of both sets.
(<=> (Disjoint ?S1 ?S2) (Empty (Intersection ?S1 ?S2)))
Sets are pairwise-disjoint if and only if every set is disjoint from every other set.
(Undefined (Arity Pairwise-Disjoint)) (<=> (Pairwise-Disjoint @Sets) (Forall (?S1 ?S2) (=> (Item ?S1 (Listof @Sets)) (Item ?S2 (Listof @Sets)) (Or (= ?S1 ?S2) (Disjoint ?S1 ?S2)) )))
Sets are mutually-disjoint if and only if there is no object that is a member of all of the sets.
(Undefined (Arity Mutually-Disjoint)) (<=> (Mutually-Disjoint @Sets) (Empty (Intersection @Sets)))
(Undefined (Arity Set-Partition)) (<=> (Set-Partition ?S @Sets) (And (= ?S (Union @Sets)) (Pairwise-Disjoint @Sets)) )
(Undefined (Arity Set-Cover)) (<=> (Set-Cover ?S @Sets) (Subset ?S (Union @Sets)))
every non-empty set has an element with which it has no members in common.
'(Forall (?S) (=> (Not (Empty ?S)) (Exists (?U) (And (Member ?U ?S) (Disjoint ?U ?S))) ))
There is a set that associates every bounded set with a distinguished element of that set. In effect, it {it chooses} an element from every bounded set.
'(Exists (?S) (And (Set ?S) (Forall (?X) (=> (Member ?X ?S) (Double ?X))) (Forall (?X ?Y ?Z) (=> (And (Member (Listof ?X ?Y) ?S) (Member (Listof ?X ?Z) ?S) ) (= ?Y ?Z) )) (Forall (?U) (=> (And (Bounded ?U) (Not (Empty ?U))) (Exists (?V) (And (Member ?V ?U) (Member (Listof ?U ?V) ?S) ))))))
Any finite set of bounded sets is itself a bounded set.
'(=> (Finite-Set ?S) (Bounded ?S))
The set of all of subsets of a bounded set is also a bounded set.
'(=> (Bounded ?V) (Bounded (Setofall ?U (Subset ?U ?V))))
'(=> (And (Bounded ?U) (Forall (?X) (=> (Member ?X ?U) (Bounded ?X))) ) (Bounded (Generalized-Union ?U)) )
The intersection of a bounded set and any other set is a bounded set. So long as one of the sets defining the intersection is bounded, the resulting set is bounded.
'(=> (And (Bounded ?U) (Set ?S)) (Bounded (Intersection ?U ?S)))
There is a bounded set containing a set, a set that properly contains that set, a third set that properly contains the second set, and so forth. In short, there is at least one bounded set of infinite cardinality.
'(Exists (?U) (And (Bounded ?U) (Not (Empty ?U)) (Forall (?X) (=> (Member ?X ?U) (Exists (?Y) (And (Member ?Y ?U) (Proper-Subset ?X ?Y) ))))))
= is the equality relation for KIF. It is defined as an operator, but is in practice like every other relation. Two things are = to each other if they are exactly the same thing. How these two things are denoted in some theory is an entirely different issue.
/= means not equal. It is a KIF operator.
(<=> (/= ?X ?Y) (Not (= ?X ?Y)))