/
occupy_def.clif
100 lines (83 loc) · 2.21 KB
/
occupy_def.clif
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
/*******************************************************************************
* Copyright (c) University of Toronto and others. All rights reserved.
* The content of this file is licensed under the Creative Commons Attribution-
* ShareAlike 4.0 Unported license. The legal text of this license can be
* found at http://creativecommons.org/licenses/by-sa/4.0/legalcode.
*
* Contributors:
* Michael Gruninger - initial implementation
*******************************************************************************/
(cl-text http://colore.oor.net/occupy/definitions/occupy_def.clif
(cl-imports http://colore.oor.net/occupy/occupy_root.clif)
(cl-domain region (cl-imports http://colore.oor.net/mereology/definitions/ppart.clif))
(cl-domain region (cl-imports http://colore.oor.net/combined_mereotopology/definitions/mt_def.clif))
(forall (x y)
(iff (physical_overlaps x y)
(exists (z)
(and (physical_part z x)
(physical_part z y)))))
(forall (x y)
(iff (physical_ppart x y)
(and (physical_part x y)
(not (= x y)))))
(forall (x)
(iff (physical_atom x)
(and (physical_object x)
(not (exists (y)
(and (physical_object y)
(physical_ppart y x)))))))
(forall (x)
(iff (atomic_region x)
(and (region x)
(not (exists (y)
(and (region y)
(ppart y x)))))))
(forall (x)
(iff (physical_gunk x)
(and (physical_object x)
(forall (y)
(if (and (physical_object y)
(physical_part y x))
(exists (z)
(and (physical_object z)
(physical_ppart z y))))))))
(forall (x)
(iff (gunky x)
(and (region x)
(forall (y)
(if (and (region y)
(part y x))
(exists (z)
(and (region z)
(ppart z y))))))))
(forall (o r)
(iff (POcc o r)
(exists (z)
(and (part z r)
(occupies o z)))))
(forall (o r)
(iff (WOcc o r)
(exists (z)
(and (part r z)
(occupies o z)))))
(forall (o r)
(iff (IPOcc o r)
(exists (z)
(and (IP z r)
(occupies o z)))))
(forall (o r)
(iff (TPOcc o r)
(exists (z)
(and (TP z r)
(occupies o z)))))
(forall (o r)
(iff (IWOcc o r)
(exists (z)
(and (IP r z)
(occupies o z)))))
(forall (o r)
(iff (TWOcc o r)
(exists (z)
(and (TP r z)
(occupies o z)))))
)