Up: Corpus of Examples
Previous: Holes
Next: Dynamics
feasible(S : situation) -- Predicate.
Formalism:
feasible(S) < = >
forall (O1,O2 in objects(S) O1 != O2 =>
holds(S1,rcc_DS*(O1,O2))]
A history is kinematic iff (a) no two objects overlap in any situation in the history; (b) all objects move continuously; (c) fixed objects have a constant position.
Declaration: kinematic(H : history) -- Predicate.
Formalism:
kinematic(H) < = >
[forall(S in situations(H)) feasible(S)] ^
[forall(O in objects(H)) continuous(motion(O,H)) ^
[fixed(O,H) => motionless(O,H)]].
Formalism:
kinematic(H1) ^ subhistory(H2,H1) => kinematic(H2).
kinematic(H1) ^ kinematic(H2) ^ start(H1)=end(H2) =>
kinematic(splice(H1,H2)).
Formalism:
[kinematic(H) ^
forall(O in objects(H1)) O in objects(H) ^ motion(O,H1) = motion(O,H)] =>
kinematic(H1).
Formalism: kinematic(H) => kinematic(reverse(H)).
Declaration: k_separable(O1,O2 : object; S : situation)
Formalism:
k_separable(O1,O2,S) < = >
forall (D : distance) exists(H : history) kinematic(H) ^ start(H) = S ^
value(end(H),distance(O1,O2)) > D.
Formalism: holds(S,plane_separates(P,O1 : object, O2 : object)) => k_separable(O1,O2,S).