Up: Corpus of Examples
Previous: Fitting
Next: Kinematics
Declaration:
outlet(S: surface; RH,R : region) -- Predicate.
Formalism:
outlet(S,RH,R) < = >
surf_tcc(S,boundary(RH) intersect boundary(R))
Declaration:
extends_through(RH, R : region)
Formalism:
extends_through(RH,R) < = >
exists(SU1,SU2 : surface) outlet(SU1,RH,R) ^ outlet(SU2,RH,R) ^ SU1 != SU2.
Declaration: holes(RHS : set[region]; R, RF : region)
Formalism:
holes(RHS,R,RF) < = >
rcc_TPP(R,RF) ^ RF = R union set-union(RHS) ^
[forall(RH in RHS) rcc_EC(RH,R)] ^
[forall(RH in RHS) extends_though(RH,RF)] ^
[forall(RH1, RH2 in RHS) RH1 !=RH2 => ~thickly_connected(RH1 union RH2)].
Citation: See Varzi and Cassati, Holes for a fascinating discussion of holes, particularly individuation criteria.
Characteristics: Topology.
Formalism:
forall(R : region; SS: set[surface])
[[forall(S in SS) PP(S,boundary(R))] ^
[forall(S1,S2 in SS) S1 != S2 => ~surf_tcc(S1 union S2)]] =>
exists(RH) extends_through(RH,R) ^ SS = \{ S | outlet(S,RH,R) \}
Declaration
slices(S : surface; RR, R1, R2 : region) -- Predicate.
Formalism
slices(S,RR,R1,R2) < = >
RR = R1 union R2 ^
[forall(S1 : surface) surf_tcc(S1,boundary(R1) intersect
boundary(R2)) < = > S1=S]
Declaration:
goes_through(O ; g_object; POH : pseudo-object[region],
POSU1, POSU2 : pseudo-object[surface]) : event --
Function.
Formalism:
occurs(H,goes_through(O,POH,POSU1,POSU2)) < = >
source(POSU1) = source(POSU2) = source(POH) != source(O) ^
[exists(POX) outlet(POSU1,POH,POX) ^ outlet(POSU2,POH,POX)] ^
holds(start(H),C*(O,POSU1)) ^
holds(end(H),C*(O,POSU2)) ^
forall(S in H) start(H) < S < end(H) =>
holds(S,C*(O,interior+(POH))
Characteristics: Topology -- time.
Formalism:
forall
[occurs(H,goes_through(O,POH,POS1,POS2)) ^ forall(S in H)
holds(S,P*(OX :g_object,O))] =>
exists(H1) subhistory(H1,H) ^
occurs(H1,goes_through(OX,POH,POS1,POS2)).
Characteristics: Topology -- time.
Formalism:
occurs(H,goes_through(O,POH,POS1,POS2)) =>
occurs(reverse(H),goes_through(O,POH,POS2,POS1)).
Characteristics: Topology -- time.
Formalism:
[occurs(H,goes_through(O,POH,POS1,POS2)) ^
slices(POSM, POH, POR1, POR2 : g_object) ^
P(POS1,boundary(POR1)) ^
P(POS2,boundary(POR2))] =>
exists(H1,H2) subhistory(H1,H) ^ subhistory(H2,H) ^
occurs(H1,goes_through(O,POR1,POS1,POSM)) ^
occurs(H2,goes_through(O,POR2,POSM,POS2))
Declaration: fits_through(O ; g_object; POH : pseudo-object[region], POSU1, POSU2 : pseudo-object[surface]) -- Predicate.
Formalism:
fits_through(O,POH,POS1,POS2) < = >
exists(H) occurs(H,goes_through(O,POH,POS1,POS2)).
Characteristics: Geometry -- time.
Formalism:
[right_prism(POH,POSU1,POSU2) ^ fits1(projection(O,PS1),POSU1) =>
fits_through(O,POH,POSU1,POSU2).
Characteristics: Geometry.
Formalism:
fits_through(O,POH,POS1,POS2) ^ fits1(sphere(D),O) => exists(L) fits1(circle(D),projection(OS1,L))
Comment: I haven't been able to prove this, and so am not sure it's true. It seems plausible.