The configuration sounds impossible: a moon tracing circles around empty space. The point of this page is that, dynamically, nothing about it is exotic — replace Earth with an equal point mass and the Moon’s orbit does not care. The immediate question is whether the orbit fits inside the region where the star lets the pair stay bound: the Hill sphere. (Long-term survival is a separate, weaker axis — see the tidal caveat below.)
Code
from lastmoon.physics import constants as cfrom lastmoon.physics.orbits import ( hill_radius, is_moon_orbit_stable, kepler_period, max_stable_moon_semi_major_axis_m,)r_hill_m = hill_radius(c.AU, c.M_EARTH, c.M_SUN)stable_limit_m = max_stable_moon_semi_major_axis_m(c.AU, c.M_EARTH, c.M_SUN)moon_ok = is_moon_orbit_stable(c.LUNAR_SEMI_MAJOR_AXIS, c.AU, c.M_EARTH, c.M_SUN, c.LUNAR_MASS)period_days = kepler_period(c.LUNAR_SEMI_MAJOR_AXIS, c.M_EARTH, c.LUNAR_MASS) /86400.0print(f"Hill radius of an Earth-mass primary at 1 AU: {r_hill_m/1e9:.2f} million km")print(f"Stable ceiling (Domingos 0.49 R_Hill): {stable_limit_m/1e9:.2f} million km")print(f"Lunar orbit (0.38 million km) stable? {moon_ok}; period {period_days:.1f} days")
Hill radius of an Earth-mass primary at 1 AU: 1.50 million km
Stable ceiling (Domingos 0.49 R_Hill): 0.73 million km
Lunar orbit (0.38 million km) stable? True; period 27.3 days
The Moon’s actual orbit sits comfortably well inside the Domingos prograde stability cap (0.49 R_Hill), with its familiar 27-day period intact.
Code
import matplotlib.pyplot as pltimport numpy as npfrom lastmoon.figures.style import apply_stylefrom lastmoon.physics.orbits import hill_radius, max_stable_moon_semi_major_axis_mapply_style()a_outer = np.linspace(0.5, 1.7, 100) * c.AUlimit = [max_stable_moon_semi_major_axis_m(a, c.M_EARTH, c.M_SUN) for a in a_outer]fig, ax = plt.subplots()ax.plot(a_outer / c.AU, np.array(limit) /1e9, label="stability limit (Domingos 0.49 R_Hill)")ax.axhline(c.LUNAR_SEMI_MAJOR_AXIS /1e9, ls="--", label="the Moon's orbit")ax.set_xlabel("orbital distance from a Sun-like star (AU)")ax.set_ylabel("moon orbital radius (million km)")ax.legend()fig
Stable moon orbits (below the line) for an Earth-mass primary across the habitable zone.
NoteWhat this means for the paper
A mass-conserving conversion leaves the moon’s orbit essentially untouched, and that orbit is comfortably Hill-stable everywhere in the habitable zone. (A conversion could also impart a momentum kick, but only a large recoil — above Δvunbind = (√2−1)·vorb ≈ 1.24 km/s at the fiducial — would unbind the moon, so near-circular retention is robust.) The “moon orbiting nothing” is dynamically ordinary — which is exactly what makes it a clean tracer of the invisible primary. Instantaneous Hill stability is not the same as indefinite survival, though: the host star re-pumps the moon’s eccentricity, so a slow moon-side tide drains the orbit toward the Roche limit on a finite, Q- and eccentricity-dependent timescale (~0.14·Q Gyr — of order the stellar age: it reaches ~14 Gyr for Q ≳ 100 with a near-circular host, but falls to ~5 Gyr at the dissipative lunar Q ≈ 38 and to a few Gyr for an eccentric host). Long-term survival is therefore marginal, a genuinely weak axis of the premise, not guaranteed. For reference, this page uses a Sun-like host at 1 AU, where a literal lunar orbit is stable; for an M-dwarf habitable zone the Hill radius is far smaller, and a literal Earth–Moon distance (3.84×10⁵ km) lies outside the Domingos cap (~1.09×10⁵ km), so the paper’s detectability analysis uses a conservative 0.20 R_Hill fiducial instead — which also sits at the conservative zero-kick moon-side tidal inner edge (a floor, not a recoil optimum).
WarningIdealizations
Two-body + Hill-criterion treatment; no long-term resonant effects; long-term moon-side tidal survival is finite and marginal (Q/eccentricity-dependent; see the paper’s §2 survival timescales), not modeled on this page. The paper adopts the Domingos (2006) 0.49 R_Hill prograde stability ceiling and a conservative 0.20 R_Hill detectability fiducial.