Geometric model verification · Lorentz KGE · August 2026

Do these models implement the geometry they claim?

FHRE, LorentzKG, and FlorE all say they act by Lorentz isometries on a hyperboloid. The printed equations and the public FlorE repository do not agree with that claim. This atlas is a laboratory for those invariants — not a brochure for the MRR tables.

00

Executable findings

19 falsified · 5 holds · 4 blocked · 0 unsupported · 1/5 reproduced families · 62/62 frozen identities. Public code is not the published table until a checkpoint edge closes.

FlorE

fails

inconsistent · Constraint mismatch · Equation mismatch

σᵣ never reaches an isometry

Paper: σᵣ ∈ (−1, 1) and Λᵣ ∈ O(1, k) because Dᵣ is a reflection.

Dᵀ D − I = diag(0,…,0,σ²−1), so ε_group = |σ²−1|. The open interval contains neither ±1. There is no permitted σᵣ in the printed domain for which Dᵣ is an isometry. The useful target group is O⁺(1, n), not all of O(1, n).

σ = 0.5 ε_Lorentz
7.50e-1
σ = ±1 ε_Lorentz
0 (excluded by paper)

FlorE

fails

violates · Parameter mismatch · Default-value mismatch · Constraint mismatch

Public code: one flip_sign per FLG module, init 0

Paper: a relation-specific σᵣ. Code: self.flip_sign = nn.Parameter(0.0), then ww[:,:,-1] *= flip_sign.

One flip_sign Parameter per FLG module (head_linear and tail_linear), shared across all relations in that module, initialized at 0. Not a relation-indexed σᵣ. At init the last column is zero: det(RD) = 0. The matrix is not in O(k), O(1,k), or GL(k).

ε_det at init
1.0
det at init
0.0

FlorE

fails

violates · Constraint mismatch · Algorithm mismatch

rel_center is not a manifold parameter

Paper: cᵣ ∈ ℍⁿ. Code: nn.Embedding + normal_(std=0.01), then expmap(c, ·).

Not merely init: rel_center is an ordinary Euclidean parameter, not a ManifoldParameter. Nothing forces ⟨c,c⟩_L = −k during training. proju’s tangent identity requires that constraint. Later projx can put the *output* on the sheet; that is not exp_{c_r} for c_r ∈ ℍⁿ.

⟨c, c⟩_L typical init
-6.40e-5
|⟨c,c⟩_L + 1|
1.000

FlorE

fails

violates · Equation mismatch · Algorithm mismatch · Constraint mismatch

Executed DO is not the published Riemannian exp

Paper Eq. 8: ξ from a Lorentz tangent projection at cᵣ ∈ ℍⁿ, then exp_{cᵣ}(ξ).

The DO module builds a Euclidean proto-direction (dot + Euclidean norm). Lorentz.expmap then calls proju with the Lorentz inner product — that internal step is real. It does not rescue Eq. 8: rel_center is not structurally on the sheet, so ⟨c, u'⟩_L = ⟨c,v⟩_L (1 + q/k) need not vanish. Post-hoc projx ≠ exp_{c_r}(ξ_r) with c_r ∈ ℍⁿ.

explicit construction
Euclidean
expmap.proju
Lorentz
⟨c,c⟩_L at init
-6.40e-5
⟨c, u'⟩ after proju
1.00e-2

FlorE

fails

violates · Missing operation · Equation mismatch

Eq. 13 term is not in the score

Paper: −d²_L + γ ⟨ξ̂, log(t)⟩_L + biases. Code: margin − cinner2(t′−h′, t′−h′) + tanh biases.

The directional inner product never appears in _forward. DO mutates embeddings first, so direction can leak in — that is not Equation 13.

⟨ξ, log⟩ term in score
absent

FlorE

fails

inconsistent · Equation mismatch

Printed log-map denominator vanishes on the sheet

Eq. 10: denominator √(⟨qᵣ, qᵣ⟩_L + 1) with ⟨q,q⟩_L = −1.

On the unit hyperboloid the radicand is zero, so the printed log map is singular exactly where it is supposed to operate. That is a transcription/formula failure, independent of σ.

⟨q,q⟩_L + 1
0
√(⟨q,q⟩_L + 1)
0

FlorE

blocked

unknown · Equation mismatch · Omitted implementation detail

Eq. 13 pairs vectors from two tangent spaces

ξ̂ᵣ ∈ T_{cᵣ}ℍⁿ compared with log_{Λh}(t) ∈ T_{Λh}ℍⁿ by a Lorentz inner product.

Unless cᵣ = Λh, ξ̂ᵣ is not in T_{Λh}: ⟨Λh, ξ̂⟩_L is generically nonzero. An ambient Minkowski pairing exists. It is not an intrinsic Riemannian inner product on one tangent space without transport or an explicit identification. Medium-confidence geometric issue; not the same class as σ² ≠ 1.

precondition c = Λh
not required by paper

FlorE

qualify

unknown · Evaluation mismatch

Isometry-breaking may explain FLG, not group completeness

Ablations: 40.2 full / 37.3 −DO / 24.1 −FLG. Inference that O(1,k) caused the gain.

FLG contributes. Lorentz-group membership does not follow. A truthful non-isometric R D baseline is required before attributing 0.018 MRR to isometry. Hypothetical until trained.

Δ vs LorentzKG
+0.018
attributed to O(1,k)
unsupported

FlorE

fails

inconsistent · Evaluation mismatch

Table 4 and Table 6 disagree on full FlorE

The same full-model Z-Paradox numbers appear in the main table and the ablation table.

FB15k-237 Z-Paradox: 52.3 in the main relation-pattern table vs 42.3 in the ablation table. WN18RR: 45.8 vs 52.8. No adjacent note of a different checkpoint, seed, split, or evaluator. This is a reporting inconsistency, not a proof that 0.402 is fabricated.

FB Z-Par T4 / T6
52.3 / 42.3
WN Z-Par T4 / T6
45.8 / 52.8

FlorE

fails

violates · Parameter mismatch · Training mismatch

Paper best margins ≠ public best-script margins

The public best scripts reproduce the paper’s stated FB15k-237 / WN18RR margins.

Paper: FB 1.07, WN 1.01. Public best scripts: FB 1.00, WN 1.08. Other hyperparameters (lr, negatives, batch) line up more closely. Which configuration produced 0.402 is unresolved.

paper FB / WN
1.07 / 1.01
script FB / WN
1.00 / 1.08

FlorE

qualify

violates · Default-value mismatch · Omitted implementation detail

Public CLI defaults can invert intended flags

The training entrypoint’s flags match the documented configuration.

Boolean argparse uses type=bool and action=store_true with default=True, so --flag False still stores True. CUDA check is shaped like if torch.cuda.is_available: (missing call). Lower severity than Eq. 5; still a runtime-config discrepancy.

store_true default True
cannot disable
cuda.is_available
not called

FlorE

fails

violates · Evaluation mismatch · Algorithm mismatch

Public evaluator stops after 20 batches

Paper: filtered ranking of the full test set (FB 20,446 / WN 3,134).

Experiment.evaluate at d276d70 sets max_queries=20 and default batch=100, then breaks the main loop when query_counter >= 20. That is at most 2,000 examples. Reverses are appended after originals, so FB never reaches reverse triples. The same evaluate() is used on valid_data for early stopping, so checkpoint selection is truncated too. Does not prove the published 0.402 used this loop.

max examples
2000
FB share of paper test
0.098
WN share of paper test
0.638

FlorE

fails

violates · Evaluation mismatch · Missing operation

Public evaluator cannot emit relation-pattern tables

Tables 4 and 6 are produced by the public evaluate() path.

relation_map = {} is empty. Per-relation collection runs only if rela_id in relation_map.values(), which is never true. If it were populated, hits_level and hit are referenced before assignment. HEAD cannot regenerate the paper’s relation-pattern statistics. Combined with Table 4 ≠ Table 6, the lineage of those numbers is unresolved.

relation_map
{}
hits_level before assign
UnboundLocal if entered

FlorE

fails

violates · Training mismatch · Omitted implementation detail

Training keeps the best state in memory only

Public training writes a checkpoint that can be hashed for Level C.

best_model = deepcopy(model.state_dict()); later load_state_dict(best_model); evaluate(test). No torch.save in this path. Level C against current HEAD requires reconstructing the pipeline, not executing it unchanged.

checkpoint file
none

FlorE

fails

inconsistent · Equation mismatch · Constraint mismatch

Worked example leaves the sheet

Paper: h=(3,0), t₁=(4,1), t₂=(5,3) lie on the Lorentz manifold, ⟨tᵢ,tᵢ⟩_L = 16.

With signature (−+), ⟨h,h⟩_L = −9, ⟨t₁,t₁⟩_L = −15, ⟨t₂,t₂⟩_L = −16. Unit-sheet preconditions fail, so the identity d² = −2−2⟨x,y⟩_L is not applied. The paper then uses that identity anyway.

⟨h,h⟩_L
-9.0
⟨t₁,t₁⟩_L
-15.0
⟨t₂,t₂⟩_L
-16.0

FHRE

fails

inconsistent · Equation mismatch

Printed d² does not vanish at coincidence

FHRE Eq. 6: d²_L = 2/c − 2⟨x,y⟩_L with c = 1 and ⟨x,x⟩_L = −1.

Putting x = y into the printed formula yields 4, not 0. Repairing the sign gives −2 − 2⟨x,y⟩_L = 2(cosh d_ℍ − 1), a nonnegative interval surrogate monotonic in geodesic distance. That is not a proof of the triangle inequality.

printed d²(x,x)
4.0
corrected d²(x,x)
0.0

FHRE

fails

inconsistent · Constraint mismatch · Equation mismatch

c cannot be both +1 and signed curvature

FHRE: ⟨x,x⟩_L = −1, x₀ = √(‖x_s‖² − 1/c), α = √(−c)‖z‖_L, and c = 1.

At c = 1 the printed time formula gives ⟨x,x⟩_L = +1, not −1, and √(−c) is imaginary. Reading c as signed curvature −1 makes the time coordinate, the exp-map scale, and Eq. 6 all consistent. The paper states both conventions at once.

q at c = 1
1.0
q at c = −1
-1.0
√(−c) at c = 1
imaginary
d²(x,x) if c = −1
0.0

LorentzKG

holds

satisfies · Evaluation mismatch

LorentzKG stays in O⁺(1, n)

Householder R ∈ O(n) composed with a boost B(v) is a Lorentz transformation by construction.

Random Householder ⊕ boost on L²: metric residual, determinant residual, and manifold residual all sit at machine precision.

ε_Lorentz
5.10e-16
ε_det
0.00e+0
ε_manifold
6.66e-16

01

The family

Fully hyperbolic means the relation acts linearly in ℝⁿ⁺¹. FHRE and LorentzKG keep exp/log off the scoring path. FlorE’s public forward does not: FLG → DO, and DO calls expmap and Möbius addition (log, parallel transport, exp) before the interval is scored.

2024 · ECAI

FHRE

diag(1, SO(n))

The Givens factor is an isometry. Printed d² and the c=1 time formula disagree with ⟨x,x⟩_L=−1. Reading c as signed curvature −1 repairs all three.

  • Head-only Givens, time fixed
  • Not the full SO⁺ (no boosts)
  • c-convention inconsistent

Liang, Wang, Bao & Gao
Inner Mongolia University

2024 · ACL Findings

LorentzKG

O⁺(1, n)

A Lorentz transformation from the positive orthochronous group: Householder rotation/reflection composed with a boost, applied separately to head and tail.

  • Dual endpoint transforms
  • Boosts mix time and space
  • Householder reflections

Fan, Xu, Chen, Chen, Das & Yang
Visa Research

2026 · AAAI

FlorE

claimed O(1, n)

Claims the full Lorentz group plus a directional offset. The printed σ domain never reaches an isometry; each FLG module has one flip_sign, not σᵣ.

  • Householder products × σᵣ ∈ (−1, 1)
  • cᵣ not on the sheet
  • ξ Euclidean; Eq. 13 absent

Duo, Li, Su & Gao
Inner Mongolia University

02

Scores live in three layers

Three layers, not one formula. The printed FHRE score is not the interval LorentzKG uses. Under ⟨x, x⟩_L = −1 they differ by 4 at coincidence.

ModelPublishedVerified / executedNote
FHRE+2 − 2⟨R vₕ, vₜ⟩_L + b−2 − 2⟨R vₕ, vₜ⟩_L + bPrinted identity is not a distance.
LorentzKG−d²_L(Λ_{r,1} h, Λ_{r,2} t) + b + δsame; d² = −2 − 2⟨·,·⟩_LPaper and algebra agree.
FlorE−d²_L + γ ⟨ξ̂, log⟩_L + bcode: margin − ‖t′ − h′‖²_L onlyEq. 13 term is not executed.

FHRE printed d²(x, x)

4.0000

2 − 2⟨x, x⟩_L

Consistent interval d²(x, x)

0

−2 − 2⟨x, x⟩_L

03

The group hierarchy is not a containment of scored systems

diag(1, SO(n)) ⊂ SO⁺ ⊂ O⁺ ⊂ O is real. The architectures are not supersets. FHRE only rotates the spatial block. LorentzKG adds boosts. FlorE also uses dual maps (Eq. 13, head_linear / tail_linear) but no boosts, and D(σ) leaves the group.

FHRE

diag(1, SO(n))

  • diag(1, SO(n)), time fixed
  • Head only
  • det = +1
  • No boosts — not all of SO⁺

LorentzKG

O⁺(1, n)

  • Householder reflections
  • Exact Lorentz boosts
  • Dual Λ_{r,1}, Λ_{r,2}
  • Invariants hold

FlorE

O(1, n) claimed

  • Householder products
  • σᵣ ∈ (−1, 1) — never ±1
  • Directional offset
  • one flip_sign per FLG module

Claimed group; invariants fail.

04

Z-Paradox, with residuals

A head and two symmetric tails on one rapidity circle. Proper rotations reach one cluster. An orientation-reversing isometry reaches the other — when it is actually an isometry. Watch the manifold residual as σ leaves {±1}.

d²(Λh, t₁)

0.0000

d²(Λh, t₂)

1.0059

ε_group

0

det Λ

1.0000

Λ₀₀

1.0000

q(h)

-1.0000

q(Λh)

-1.0000

identity

applicable

  • head sheet yes
  • t₁ sheet yes
  • t₂ sheet yes
  • Λ ∈ O⁺ yes
  • d² applicable yes
Relation group
Open the full lab

05

Reported numbers, qualified

FlorE reports FB15k-237 MRR 0.402 against LorentzKG 0.384, and large Z-Paradox slice gains. Those figures are supported by the FlorE paper. They cannot be attributed to public HEAD (d276d70). Until a checkpoint edge closes, they are a citation, not evidence about a Lorentz isometry or about the current repository.

Reproduction gates closed: 0/5. Bars are citations. The public repository diverges from the paper; which implementation produced the table is unknown.

Overall link prediction, d = 32

Filtered MRR as cited. Not a causal effect of group scope: the architectures are not nested.

0.345
FHRE, ECAI 2024 · Table 3 · FB15k-237 · d=32 · filtered ranking
0.384
FlorE Table 2 citing LorentzKG · FlorE Table 2 · FB15k-237 · d=32 · filtered ranking (FlorE re-report)
0.402
FlorE, AAAI 2026 · Table 2 · FB15k-237 · d=32 · filtered ranking · ckpt unknown; public repo diverges from paper

Z-Paradox relation slices

Accuracy (%). FlorE vs best baseline on annotated slices.

CoDEx, delta blocked

Self-reported. Protocols differ. The Atlas will not compute FlorE − FHRE on these bars.

Δ blocked. Different splits, hard-negative protocol, and baseline set. Provenance: FHRE self-report vs FlorE self-report, CoDEx-S.

Ablations — spatial factors carry the score

FlorE FB MRR (%). LorentzKG drops when only the boost remains. Not evidence about group scope.

FlorE on FB15k-237

  • Full (O(1,n) + offset)40.2
  • Without directional offset37.3
  • Without full group24.1

LorentzKG FB MRR

  • Full (R ⊕ boost, dual)38.4
  • Rotation / reflection only37.5
  • Boost only24.3

06

Capability matrix

The landscape is not a timeline of bigger groups. It is a table of independent degrees of freedom. Reported MRR rises across the three papers; that is not a causal effect of group scope.

ModelGeometryExact isometryBoostsReflectionDual mapsOffsetCurvatureZ-Par (empirical)
FHRELorentzyesnonononofixed −1limited
LorentzKGLorentzyesyesyesyesnofixed −1better
FlorE claimedLorentzclaimednoclaimedyesclaimedfixed −1cited; T4≠T6
FlorE codemixednocommented outper-module scalaryesEuclidean proto + Lorentz projufixed −1unknown
FlorE repairedLorentzyesnoyesoptionalyes, Lorentzfixed −1untested
HybridLorentzyesyesspatial ℤ₂yesyes, Lorentzconfigurableuntested

Novelty is the combination, not any single column. LorentzKG already has boosts, reflections, and dual maps. FlorE’s claimed extras are orientation reversal and a directional offset — both of which fail their own invariants as printed and as coded. Z-Paradox on repaired/hybrid rows is untested — those models have not been trained. Cited numbers are not reproductions.

07

What the invariants imply

  1. 1

    The σ problem is stronger than an intermediate-value caveat.

    FlorE’s domain is the open interval (−1, 1). The isometry condition is σ² = 1. There is no overlap. The parameterization never reaches the group it names.

  2. 2

    The reference implementation is not a typo in the PDF.

    One flip_sign per FLG module, initialized at 0, unconstrained. Euclidean proto-direction; expmap.proju is Lorentz but rel_center is off-sheet. Score without Eq. 13. The inspected repository diverges from the published specification. The lineage that produced the reported table is unresolved.

  3. 3

    Do not learn a continuous σ and quantize it.

    Represent spatial parity as pᵣ ∈ ℤ₂ inside O⁺(1, n). Build Qᵣ as a product of Householders. det(Qᵣ) = (−1)ᵐ. Do not attempt the two time-reversing components of O(1, n).

  4. 4

    LorentzKG is the cleanest foundation.

    Dual endpoint maps plus genuine boosts are not a subset of repaired FlorE. The next model should take those, add exact orientation parity, and only then add a Lorentz-correct offset.

08

A model the invariants would accept

Target group O⁺(1, n), not O(1, n). Spatial Householders and proper boosts. Dual endpoint maps. Time orientation fixed so embeddings stay on x₀ > 0.

Λ_{r,h} = Q_{r,h} B_{r,h} ∈ O⁺(1, n)

Λ_{r,t} = Q_{r,t} B_{r,t} ∈ O⁺(1, n)

Q = H₁…Hₘ, each Hᵥ = I − 2vvᵀ/vᵀv, det Q = (−1)ᵐ · spatial parity only

B(v) a proper orthochronous boost

h′ = Λ_{r,h} h, t′ = Λ_{r,t} t

Option B — keep the map an isometry. Direction lives in the score:

f = −d²_L(h′, t′) + γ ⟨ξ̂_r, log_{h′}(t′)⟩_L + b

Option A — exp-map displace h′ — is not an isometry. Do not call that relation map Lorentz.

LorentzKG already has Householders, boosts, and dual maps. The narrow addition is explicit spatial parity plus a Lorentz-native directional score that does not move the points. Explore the generators.

09

What still has to be run

  1. 1. Bind FlorE’s table to a commit, config, seed, and checkpoint hash (C = M).
  2. 2. One harness. Ablate isometric factors and a truthful non-isometric RD cell. What D(σ) actually does.
  3. 3. Cross with single vs dual endpoints. Same data hashes, same metric implementation.
  4. 4. Until those gates close, published MRR is a citation. It is not a verified result. Open the harness.

The public FlorE repository diverges from the published specification. The provenance needed to show which implementation produced the reported table is unavailable. Until that edge closes, MRR 0.402 is a citation — not evidence about O(1, n).

References

  1. [1]Fan, X., Xu, M., Chen, H., Chen, Y., Das, M., & Yang, H. (2024). Enhancing hyperbolic knowledge graph embeddings via Lorentz transformations. Findings of ACL 2024.
  2. [2]Duo, Li, Su, & Gao. (2026). FlorE: Integrating full Lorentz group and directional offsets for effective knowledge graph embedding. AAAI 2026, 40(25).
  3. [3]Wang, W., Bao, F., & Gao, G. (2024). Fully hyperbolic rotation for knowledge graph embedding. ECAI 2024; arXiv:2411.03622.
  4. [4]Zhang et al. (2024). MQuinE: A matrix-based model for mitigating the Z-Paradox in knowledge graph embedding. arXiv:2402.03583.
  5. [5]Chami, I., Wolf, A., Juan, D.-C., Sala, F., Ravi, S., & Ré, C. (2020). Low-dimensional hyperbolic knowledge graph embeddings. ACL 2020.
  6. [6]Balažević, I., Allen, C., & Hospedales, T. (2019). Multi-relational Poincaré graph embeddings. NeurIPS 32.
  7. [7]Nickel, M., & Kiela, D. (2018). Learning continuous hierarchies in the Lorentz model of hyperbolic geometry. ICML 2018.