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.
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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