ris Catacombs](https://s3.us-east-1.amazonaws.com/jialin00.com-assets/blog-v2/as-above-so-below-skulls.webp)

In the film they run downward the whole time, and the exit is up: a manhole cover pushed open onto the street. As above, so below. It's a good title. In Chinese it becomes 忐忑. 忐 is 上 (above) over 心 (heart), and 忑 is 下 (below) over 心 (heart). When I came to Paris, this place was a must.

Twenty metres down, the ceiling is forty-five-million-year-old limestone. The walls are made of human bones. Thousands of them, arranged with real care. A genuinely remarkable thing.

Each section has its own plaque, recording which cemetery the bones came from. Cimetière des Innocents, 1786. Église Saint-Laurent, 1771. Things spanning centuries, piled together here, no different from one another.

There are sentences carved into the walls. I couldn't read any of them at the time, so I photographed them and translated them later. One in Italian: *M'appare il mondo un punto nell'immenso* (the world appears to me as a single point in the immense). One in Latin: *Mors te manet certissima, incerta sed mortis dies* (death awaits you, most certain; the day of it, uncertain). Seen on the scale of time, all of it is reduced and flattened. Everything anyone lived, everything anyone built, ends up as dust, set quietly in place.

![Italian inscription, Aurelio de' Giorgi Bertola](https://s3.us-east-1.amazonaws.com/jialin00.com-assets/blog-v2/as-above-so-below-bertola.webp)

![Latin inscription, Hézette](https://s3.us-east-1.amazonaws.com/jialin00.com-assets/blog-v2/as-above-so-below-hezette.webp)

Up the stairs, Paris in soft sunlight, an ordinary street. In the film the exit comes at dusk; coming out, it was early afternoon. The same sense of surfacing into another world.

---

**The rest of what was on the walls.** Verse first, then scripture, carved along the same stone.

*Ainsi tout passe sur la terre, esprit, beauté, grâces, talent; telle est une fleur éphémère que renverse le moindre vent* (so everything passes on earth: wit, beauty, grace, talent; a brief flower toppled by the lightest wind).

*Où est-elle la Mort? Toujours future ou passée. À peine présente, qu'elle n'est déjà plus* (where is death? Always to come, or already past; barely present before it is gone).

*Ainsi tout change, ainsi tout passe, ainsi nous-mêmes nous passons, hélas, sans laisser plus de trace que cette barque où nous glissons sur cette mer où tout s'efface* (so all things change, so all things pass, so we ourselves pass on, leaving no more trace than the boat we glide in over a sea that erases everything). — Lamartine

*Combien de ceux qui étaient entrés dans le monde avec toi en sont déjà sortis! Leur vie a été moissonnée comme des épis dont les uns sont mûrs et les autres verts* (how many who entered the world with you have already left it; their lives were harvested like ears of grain, some ripe, some still green). — Marcus Aurelius

*Parlate orridi avanzi, or che rimane dei vantati d'onor gradi e contrasti* (speak, dreadful remains: what now is left of the boasted ranks of honour and their quarrels? Where are all those names, all that pomp? And since all must shed this mortal clay, what sets the shepherd apart from the great monarch?).

*Quod seminas non vivificatur nisi prius moriatur* (what you sow is not brought to life unless it first dies). — 1 Corinthians 15:36

*Mihi mori lucrum* (for me, to die is gain). — Philippians 1:21

*Eleemosyna a morte liberat* (almsgiving delivers from death). — Tobit 12:9

*Vidi impium superexaltatum et elevatum sicut cedros Libani: et transivi, et ecce non erat* (I saw the wicked exalted, raised high like the cedars of Lebanon; I passed by, and he was no more). — Psalm 37

*Deposuit potentes de sede et exaltavit humiles* (he has cast down the mighty from their thrones, and lifted up the lowly). — Luke 1:52, the Magnificat

*Deus mortem non fecit* (God did not make death). — Wisdom 1:13

*Consummatum est* (it is finished). — John 19:30, the last words on the cross
