Skip to content

tnf16's phi_distance is the value for a mantissa it does not have, and the field means three different things #2787

Description

@gHashTag

Two defects in specs/numeric/formats_catalog.t27 that #2788 deliberately did not touch, because they are numeric data rather than classification.

1. tnf16's phi_distance is stale under the catalog's own convention

The record says e=4 m=11 phi_distance=0.086. Under the convention the file documents for tnf*"e= is a count of balanced-ternary TRITS, not bits. The bit-equivalent is Et·log2(3)" — the value is:

|4·log2(3) / 11 − 1/φ| = 0.0417      the record's own m
|4·log2(3) /  9 − 1/φ| = 0.0864      recorded 0.086

0.086 is the value for m = 9. The record and specs/numeric/tnf16.t27 both say m = 11.

The other eight tnf rungs reproduce the documented convention to ≤ 0.0005, so this is one stale field, not a wrong convention. It was flagged by the catalog gate — for the wrong reason, as part of 41 findings that came from the φ rule being misapplied — and it is the one of those 41 that a record could actually fix.

2. phi_distance carries three different conventions inside one cluster

Measured across cluster=GoldenFloat:

family convention
gf*, bnf* E / M — matches the gate's formula
gft* raw trits / M
tnf* Et·log2(3) / M — the bit-equivalent

One field name, three meanings, no marker distinguishing them. Any consumer that averages, sorts or compares phi_distance across the cluster is comparing three different quantities — and the gate's gf-phi-distance check assumes the first convention for all of them.

This is the same shape as the rule-scoping defect #2788 fixed, one field down: the catalog states the convention in prose that only humans read, while the machine-readable record carries no way to tell which is in force.

Why this issue and not a patch

Both are the owner's numeric data. Changing 0.086 to 0.0417 is almost certainly right, and "almost certainly" is not the standard for editing a published format catalog — phi_distance appears in generated artifacts and in material outside this repository. The convention question needs a decision (a phi_distance_basis= field? separate field names?) before any value moves.

Measured with

python3 -c "import math; phi=(1+5**0.5)/2; l3=math.log2(3); print(abs(4*l3/11-1/phi), abs(4*l3/9-1/phi))"

Refs #2762

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions