Radar coordinates from two clock readings, and their error bounds #
Category: 3-Local (CV; the interface in which the clock-and-echo capstone states its conclusion). BACKLOG #184 (out of #39; the second of #183–#189).
A single radar exchange is a pair of clock readings at A: the emission reading τ₋ and the return
reading τ₊, with τ₋ ≤ τ₊ as the domain of the assignment. From them
T_A = (τ₊ + τ₋) / 2, D_A = (τ₊ − τ₋) / 2, R_A = c₀ · D_A,
the radar time, the radar separation in time units, and the radar distance once a calibration
constant c₀ > 0 converts time units to length units.
RadarReadings— the two readings with their domain;radarTime,radarSep,radarDist;emit_le_radarTime,radarTime_le_ret,radarSep_nonneg,radarSep_eq_zero_iff— the elementary bounds;- ★
radarTime_sub_radarSep,radarTime_add_radarSep,ext_of_radar— the readings and the coordinates determine each other: equal readings give equal coordinates (bycongrArg), and equal coordinates give equal readings; - ★
radarTime_shift,radarSep_shift,radarDist_shift— a clock-origin shift movesT_Aand fixesD_AandR_A; - ★
radarTime_rescale,radarSep_rescale,radarDist_rescale,radarDist_rescale_eq— a positive rescaling of the clock unit scales both coordinates, and the calibration constant absorbs it: unitλwith constantc₀is unit1with constantc₀ λ; - ★★
abs_radarTime_sub_le,abs_radarSep_sub_le,abs_radarDist_sub_le— bounded endpoint errors give bounded coordinate errors:|T̂ − T| ≤ δ,|D̂ − D| ≤ δ,|R̂ − R| ≤ c₀ δ; radarSep_eq_of_duration_eq— two exchanges of equal duration have equal separation;radarSep_roundTrip— an exchange lasting #183's round trip2 τ_hophas separationτ_hop;- ★★
radar_coordinates— the package.
Honest scope #
- ⚠️ Algebra with a stated domain. Nothing here is a record: the readings are real numbers, not tick counts of a physical clock, and the association of the two readings with one exchange (which emission, which reflection) is part of the input. The record-level statement — that the readings are physical clock records of the constructed experiment and that the association is unambiguous — is #186's, and this module is honest only once #186 consumes it. It says so here.
c₀is a calibration constant and nothing in this file makes it a signal speed;radarDist_rescale_eqis exactly the statement that it absorbs the choice of time unit.- Deterministic endpoint error only (
|τ̂ − τ| ≤ δ); probabilistic failure of a write is #189. - Zero processing delay at
B; a reflection protocol with delay is a later extension of #186. radarSep_roundTripis the arithmetic of #183's witness, not its record: it says what number a clock reading the hop exactly would produce.
References: specs/BACKLOG.md #184, #183, #186, #187, #39; specs/records-to-spacetime-scoping.md
§4 (constants are constraints, not outputs); CV/SignalExchange.lean (hopTime, roundTrip).
Readings and coordinates #
The radar time T_A = (τ₊ + τ₋) / 2.
Instances For
The radar separation in time units, D_A = (τ₊ − τ₋) / 2.
Instances For
The radar distance R_A = c₀ · D_A, with c₀ a calibration constant converting time units to
length units.
Instances For
Elementary bounds #
The readings and the coordinates determine each other #
τ₋ = T_A − D_A.
τ₊ = T_A + D_A.
A clock-origin shift #
Shift the clock origin by s: both readings move by s.
Instances For
★ A clock-origin shift moves the radar time by the shift.
★ A clock-origin shift leaves the radar separation unchanged.
A positive rescaling of the clock unit #
Rescale the clock unit by λ > 0: both readings are multiplied by λ.
Instances For
★ The coordinates transform consistently under a change of clock unit.
The calibration constant absorbs the unit: clock unit λ with constant c₀ gives the same
distance as clock unit 1 with constant c₀ λ. Nothing fixes c₀ on its own.
Bounded endpoint errors give bounded coordinate errors #
Reproducibility, and the arithmetic of #183's witness #
The readings of an exchange emitted at τ and lasting d ≥ 0.
Equations
- CSD.CV.RadarReadings.ofDuration τ d hd = { emit := τ, ret := τ + d, emit_le_ret := ⋯ }
Instances For
The arithmetic of #183's witness: an exchange lasting the round trip 2 τ_hop has radar
separation τ_hop, whatever the emission reading. This is what a clock reading the hop exactly
would produce; that the readings are such records is #186.
The package #
★★ Radar coordinates. On the domain τ₋ ≤ τ₊: τ₋ ≤ T_A ≤ τ₊, D_A ≥ 0; the readings
are recovered from the coordinates; a clock-origin shift moves T_A by the shift and fixes D_A;
a positive rescaling of the clock unit scales both; endpoint errors ≤ δ give coordinate errors
≤ δ and a distance error ≤ c₀ δ.