Theory WorldView
section ‹ WorldView ›
text ‹This theory defines worldview transformations. These form the ultimate
foundation for all of GenRel's axioms.›
theory WorldView
imports Points
begin
class WorldView = Points +
fixes
W :: "Body ⇒ Body ⇒ 'a Point ⇒ bool" (‹_ sees _ at _›)
begin
abbreviation ev :: "Body ⇒ 'a Point ⇒ Body set"
where "ev h x ≡ { b . h sees b at x }"
fun wvt :: "Body ⇒ Body ⇒ 'a Point ⇒ 'a Point set"
where "wvt m k p = { q. (∃ b . (m sees b at p)) ∧ (ev m p = ev k q) }"
abbreviation wvtFunc :: "Body ⇒ Body ⇒ ('a Point ⇒ 'a Point ⇒ bool)"
where "wvtFunc m k ≡ (λ p q . q ∈ wvt m k p)"
abbreviation wvtLine :: "Body ⇒ Body ⇒ 'a Point set ⇒ 'a Point set ⇒ bool"
where "wvtLine m k l l' ≡ ∃ p q p' q' . (
(wvtFunc m k p p') ∧ (wvtFunc m k q q') ∧
(l = lineJoining p q) ∧ (l' = lineJoining p' q'))"
end
end