"An object moving at exactly 0.95c relative to a stationary observer experiences a Lorentz factor γ greater than 3.2."

physics mathematics · generated 2026-03-28 · v0.10.0
PROVED pure computation — no citations
Verified by computation — no external sources required.
Verified by Proof Engine — an open-source tool that verifies claims using cited sources and executable code. Reasoning transparent and auditable.
methodology · github · re-run this proof · submit your own

The math checks out — and then some. Three independent methods all confirm the same result, with one of them requiring no approximation whatsoever.

What Was Claimed?

Special relativity predicts that objects moving at high speeds experience time dilation, length contraction, and increased relativistic mass. The severity of these effects is captured by a single number called the Lorentz factor, denoted γ. The claim here is that an object traveling at 95% of the speed of light has a Lorentz factor greater than 3.2 — meaning relativistic effects are amplified by more than a factor of 3.2 relative to a stationary observer. This kind of threshold claim matters when people are checking whether a given speed pushes an object firmly into the "highly relativistic" regime.

What Did We Find?

The Lorentz factor has a precise mathematical definition: γ = 1 divided by the square root of (1 minus the square of the speed ratio). With a speed ratio of exactly 0.95, the arithmetic is fully determined — there is no measurement uncertainty, no sampling, no modeling assumption. This is pure mathematics applied to a fixed input.

The primary calculation gives γ ≈ 3.2026. That is above 3.2 by about 0.0026 — a small margin, but the question is whether it is unambiguous.

To check, the same calculation was run a second time using 50-digit decimal arithmetic, a method with far more precision than standard floating-point. The result matched to every displayed digit.

The most rigorous check went further and bypassed square roots entirely. By expressing 0.95 as the fraction 19/20, the squared speed ratio becomes exactly 361/400, and therefore γ² equals exactly 400/39. The threshold 3.2 squared equals exactly 256/25. Comparing 400/39 against 256/25 using exact rational arithmetic — no approximation of any kind — confirms that γ² is strictly greater than (3.2)². Therefore γ is strictly greater than 3.2. This result is not an approximation; it is exact.

All three methods agree to more than ten decimal places. There is no conflict, no ambiguity, and no rounding issue that could overturn the conclusion.

What Should You Keep In Mind?

The margin above the threshold is real but modest — roughly 0.0026. Had the threshold been set at 3.203, the claim would be false. The claim is precisely true as stated, but it is not true by a large buffer.

The Lorentz factor computation assumes the speed is given as an exact value. In any physical experiment, measuring a speed to be exactly 0.95c is impossible — there will always be measurement uncertainty. This proof applies to the idealized mathematical case, not to any real moving object whose speed is only approximately known.

Nothing in this result should be taken to imply that the object "experiences" relativistic effects in a subjective sense — from the object's own reference frame, nothing unusual is happening. The Lorentz factor describes how things look from the stationary observer's perspective.

How Was This Verified?

This claim was evaluated using the proof-engine verification framework, which applies a formal claim specification, computes results via multiple independent methods, and runs adversarial checks designed to find scenarios that could overturn the verdict. You can read the structured proof report for a step-by-step breakdown of the logic, review the full verification audit for method details and adversarial analysis, or re-run the proof yourself to reproduce every result from scratch.

What could challenge this verdict?

  1. Alternative definitions of γ? — The Lorentz factor γ = 1/√(1-v²/c²) is the only definition used in special relativity. The reciprocal 1/γ is sometimes referenced but is clearly a different quantity. No alternative would change the result.

  2. Floating-point error risk? — Three independent computation methods (float, Decimal, exact Fraction) all agree. The exact rational computation uses no floating-point at all, confirming the result is independent of representation.

  3. Margin too small for confidence? — γ ≈ 3.2026 vs threshold 3.2 gives a margin of ~0.0026. While small, this is confirmed by exact arithmetic (γ² = 400/39 ≈ 10.2564 vs 3.2² = 10.24, margin ~0.016 in squared domain) and is many orders of magnitude above floating-point epsilon.

Source: proof.py JSON summary

detailed evidence

Detailed Evidence

Evidence Summary

ID Fact Verified
A1 Primary computation of γ via direct formula Computed: γ ≈ 3.2025630761
A2 Cross-check via high-precision decimal arithmetic Computed: γ ≈ 3.2025630761 (agrees with A1)
A3 Cross-check via algebraic simplification γ² = 1/(1-β²) Computed: γ² = 400/39 > 256/25 = (3.2)² (exact rational proof)

Source: proof.py JSON summary

Proof Logic

The Lorentz factor is defined as:

γ = 1 / √(1 - β²), where β = v/c

Step 1 — Compute β²: With β = 0.95, β² = 0.9025 (A1).

Step 2 — Compute 1 - β²: 1 - 0.9025 = 0.0975 (A1).

Step 3 — Compute γ: γ = 1/√(0.0975) ≈ 3.2025630761 (A1).

Step 4 — Compare: 3.2026 > 3.2 = True.

Cross-verification: The same result was confirmed via 50-digit Decimal arithmetic (A2), yielding γ = 3.2025630761017426696650733953537... — agreement to all displayed digits. Additionally, exact rational arithmetic (A3) shows β = 19/20, so β² = 361/400, 1 - β² = 39/400, and γ² = 400/39. Since 400/39 > 256/25 (equivalently 10000/975 > 9984/975), we have γ² > (3.2)² and therefore γ > 3.2, proved without any floating-point operations.

Source: author analysis

Conclusion

PROVED. The Lorentz factor for an object moving at v = 0.95c is γ ≈ 3.2026, which is strictly greater than 3.2. This result is confirmed by three mathematically independent computation methods — IEEE 754 floating-point, 50-digit Decimal, and exact rational arithmetic — all in perfect agreement. The exact rational proof (γ² = 400/39 > 256/25 = 3.2²) establishes the result with no floating-point involvement whatsoever.

audit trail

Claim Specification
Field Value
Subject Lorentz factor γ for an object at v = 0.95c
Property γ = 1 / sqrt(1 - β²) where β = v/c = 0.95
Operator >
Threshold 3.2
Operator note "greater than 3.2" interpreted as strict inequality (>). If γ were exactly 3.2, the claim would be FALSE. The Lorentz factor is a standard definition from special relativity with no empirical ambiguity.

Source: proof.py JSON summary

Claim Interpretation

Natural language: An object moving at exactly 0.95c relative to a stationary observer experiences a Lorentz factor γ greater than 3.2.

Formal interpretation: The Lorentz factor γ = 1/√(1 - v²/c²), evaluated at v/c = 0.95 (exact), must be strictly greater than 3.2. "Greater than" is interpreted as the strict inequality (>). If γ were exactly 3.2, the claim would be FALSE. This is the more conservative interpretation — using ≥ would make the claim easier to prove.

The Lorentz factor is a standard, universally accepted definition from special relativity with no competing formulations. With v/c given as an exact value, this is a pure mathematical computation with no empirical ambiguity.

Computation Traces
  β²: beta ** 2 = 0.95 ** 2 = 0.9025
  1 - β²: 1 - beta_squared = 1 - 0.9025 = 0.0975
  γ (primary, float): 1 / sqrt(one_minus_beta_sq) = 1 / sqrt(0.09750000000000003) = 3.2026

Cross-check 1 (Decimal, 50-digit precision): γ = 3.2025630761017426696650733953537407492681846040983
  Primary (float) vs Decimal arithmetic: 3.202563076101742 vs 3.2025630761017427, diff=8.881784197001252e-16, tolerance=1e-10 -> AGREE

Cross-check 2 (exact rational): γ² = 400/39 = 10.2564102564
  threshold² = 256/25 = 10.2400000000
  γ² > threshold²: True
  Primary (float) vs Rational arithmetic: 3.202563076101742 vs 3.2025630761017427, diff=8.881784197001252e-16, tolerance=1e-10 -> AGREE

  γ > 3.2: 3.202563076101742 > 3.2 = True

Source: proof.py inline output (execution trace)

Independent Source Agreement

This is a pure-math proof with no empirical sources. Independence is achieved through mathematically distinct computation methods:

Cross-check Values Compared Agreement
Float vs 50-digit Decimal arithmetic 3.2025630761 vs 3.2025630761 Yes
Float vs exact rational (Fraction) arithmetic 3.2025630761 vs 3.2025630761 Yes
Exact rational squared comparison: γ² = 400/39 > 256/25 = (3.2)² 400/39 vs 256/25 Yes (400/39 > 256/25)

The three methods are structurally independent: - A1 (float): Uses IEEE 754 double-precision math.sqrt(). - A2 (Decimal): Uses Python's decimal module with 50-digit precision and its own sqrt() implementation. - A3 (rational): Uses Python's fractions.Fraction for exact rational arithmetic — no square root, no floating-point. The comparison γ > 3.2 is reduced to γ² > 3.2² using exact fractions, bypassing sqrt entirely.

A bug in any one method (e.g., incorrect sqrt implementation, floating-point edge case) would not propagate to the others.

Source: proof.py JSON summary

Adversarial Checks
# Question Verification Performed Finding Breaks Proof?
1 Is there any alternative definition of the Lorentz factor that would yield a different value? Reviewed standard physics references. The Lorentz factor γ = 1/√(1-v²/c²) is the universal definition in special relativity. There is no competing definition. The reciprocal 1/γ is sometimes used but is clearly distinct. No alternative definition exists that would change the computed value. No
2 Could floating-point representation of 0.95 introduce enough error to change the comparison? Computed γ via three independent methods: IEEE 754 float, 50-digit Decimal, and exact rational (Fraction) arithmetic. All agree to >10 decimal places. The exact rational computation confirms γ² = 400/39 > 256/25 = 3.2² with no floating-point involved. Floating-point representation cannot affect the verdict; exact rational arithmetic confirms γ > 3.2. No
3 Is the margin above 3.2 so small that rounding could flip the result? γ ≈ 3.2026 and threshold is 3.2. The margin is ~0.0026, well above any floating-point uncertainty. Exact rational proof shows γ² = 400/39 ≈ 10.2564 vs 3.2² = 10.24, margin ~0.0164 in squared domain. The margin is small but unambiguous — confirmed by exact arithmetic. No

Source: proof.py JSON summary

Quality Checks
  • Rule 1: N/A — pure computation, no empirical facts.
  • Rule 2: N/A — pure computation, no empirical facts.
  • Rule 3: date.today() used in generator block for output dating.
  • Rule 4: CLAIM_FORMAL with operator_note explicitly documents strict inequality interpretation and notes the consequence if γ were exactly 3.2.
  • Rule 5: Three adversarial checks: alternative definitions, floating-point error risk, margin analysis. None break the proof.
  • Rule 6: N/A — pure computation, no empirical facts. Three mathematically independent methods used as cross-checks (float, Decimal, exact rational).
  • Rule 7: compare() and explain_calc() imported from scripts/computations.py. cross_check() used for method agreement. No hard-coded constants or inline formulas.
  • validate_proof.py result: PASS (14/14 checks passed, 0 issues, 0 warnings)

Source: author analysis

Cite this proof
Proof Engine. (2026). Claim Verification: “An object moving at exactly 0.95c relative to a stationary observer experiences a Lorentz factor γ greater than 3.2.” — Proved. https://proofengine.info/proofs/an-object-moving-at-exactly-0-95c-relative-to-a-st/
Proof Engine. "Claim Verification: “An object moving at exactly 0.95c relative to a stationary observer experiences a Lorentz factor γ greater than 3.2.” — Proved." 2026. https://proofengine.info/proofs/an-object-moving-at-exactly-0-95c-relative-to-a-st/.
@misc{proofengine_an_object_moving_at_exactly_0_95c_relative_to_a_st,
  title   = {Claim Verification: “An object moving at exactly 0.95c relative to a stationary observer experiences a Lorentz factor γ greater than 3.2.” — Proved},
  author  = {{Proof Engine}},
  year    = {2026},
  url     = {https://proofengine.info/proofs/an-object-moving-at-exactly-0-95c-relative-to-a-st/},
  note    = {Verdict: PROVED. Generated by proof-engine v0.10.0},
}
TY  - DATA
TI  - Claim Verification: “An object moving at exactly 0.95c relative to a stationary observer experiences a Lorentz factor γ greater than 3.2.” — Proved
AU  - Proof Engine
PY  - 2026
UR  - https://proofengine.info/proofs/an-object-moving-at-exactly-0-95c-relative-to-a-st/
N1  - Verdict: PROVED. Generated by proof-engine v0.10.0
ER  -
View proof source 243 lines · 9.6 KB

This is the proof.py that produced the verdict above. Every fact traces to code below. (This proof has not yet been minted to Zenodo; the source here is the working copy from this repository.)

"""
Proof: An object moving at exactly 0.95c relative to a stationary observer
experiences a Lorentz factor γ greater than 3.2.
Generated: 2026-03-28
"""
import json
import os
import sys
from math import sqrt
from decimal import Decimal, getcontext

PROOF_ENGINE_ROOT = os.environ.get("PROOF_ENGINE_ROOT")
if not PROOF_ENGINE_ROOT:
    _d = os.path.dirname(os.path.abspath(__file__))
    while _d != os.path.dirname(_d):
        if os.path.isdir(os.path.join(_d, "proof-engine", "skills", "proof-engine", "scripts")):
            PROOF_ENGINE_ROOT = os.path.join(_d, "proof-engine", "skills", "proof-engine")
            break
        _d = os.path.dirname(_d)
    if not PROOF_ENGINE_ROOT:
        raise RuntimeError("PROOF_ENGINE_ROOT not set and skill dir not found via walk-up from proof.py")
sys.path.insert(0, PROOF_ENGINE_ROOT)
from datetime import date

from scripts.computations import compare, explain_calc, cross_check

# ============================================================
# 1. CLAIM INTERPRETATION (Rule 4)
# ============================================================
CLAIM_NATURAL = (
    "An object moving at exactly 0.95c relative to a stationary observer "
    "experiences a Lorentz factor γ greater than 3.2."
)
CLAIM_FORMAL = {
    "subject": "Lorentz factor γ for an object at v = 0.95c",
    "property": "γ = 1 / sqrt(1 - β²) where β = v/c = 0.95",
    "operator": ">",
    "operator_note": (
        "'greater than 3.2' is interpreted as strictly greater than (>). "
        "The Lorentz factor γ is a standard definition from special relativity: "
        "γ = 1 / sqrt(1 - v²/c²). With v/c = 0.95 (exact), this is a pure "
        "mathematical computation with no empirical ambiguity. "
        "If γ were exactly 3.2, the claim would be FALSE."
    ),
    "threshold": 3.2,
}

# ============================================================
# 2. FACT REGISTRY — A-types only for pure math
# ============================================================
FACT_REGISTRY = {
    "A1": {
        "label": "Primary computation of γ via direct formula",
        "method": None,
        "result": None,
    },
    "A2": {
        "label": "Cross-check via high-precision decimal arithmetic",
        "method": None,
        "result": None,
    },
    "A3": {
        "label": "Cross-check via algebraic simplification γ² = 1/(1-β²)",
        "method": None,
        "result": None,
    },
}

# ============================================================
# 3. COMPUTATION — primary method (float arithmetic)
# ============================================================
beta = 0.95  # v/c, exact by claim

beta_squared = explain_calc("beta ** 2", {"beta": beta}, label="β²")
one_minus_beta_sq = explain_calc(
    "1 - beta_squared", {"beta_squared": beta_squared}, label="1 - β²"
)
gamma_primary = explain_calc(
    "1 / sqrt(one_minus_beta_sq)",
    {"one_minus_beta_sq": one_minus_beta_sq, "sqrt": sqrt},
    label="γ (primary, float)",
)

# ============================================================
# 4. CROSS-CHECK 1 — Decimal arithmetic (independent precision path)
# ============================================================
getcontext().prec = 50  # high precision
beta_dec = Decimal("0.95")
beta_sq_dec = beta_dec ** 2
one_minus_dec = Decimal("1") - beta_sq_dec
gamma_decimal = Decimal("1") / one_minus_dec.sqrt()
gamma_crosscheck1 = float(gamma_decimal)

print(f"\nCross-check 1 (Decimal, 50-digit precision): γ = {gamma_decimal}")
cross_check(
    gamma_primary,
    gamma_crosscheck1,
    tolerance=1e-10,
    mode="absolute",
    label="Primary (float) vs Decimal arithmetic",
)

# ============================================================
# 5. CROSS-CHECK 2 — Algebraic: γ² = 1/(1-β²), then sqrt
# ============================================================
# β = 95/100 = 19/20, so β² = 361/400, 1-β² = 39/400, γ² = 400/39
# This uses exact rational arithmetic — structurally independent from
# floating-point or Decimal square root.
from fractions import Fraction

beta_frac = Fraction(19, 20)  # 0.95 = 19/20 exactly
beta_sq_frac = beta_frac ** 2  # 361/400
one_minus_frac = Fraction(1) - beta_sq_frac  # 39/400
gamma_sq_frac = Fraction(1) / one_minus_frac  # 400/39

# γ² = 400/39. We need γ > 3.2, i.e., γ² > 10.24
# 400/39 ≈ 10.2564..., and 3.2² = 10.24
# So we can verify γ > 3.2 by verifying γ² > 3.2²
threshold_sq = Fraction(32, 10) ** 2  # (3.2)² = 1024/100 = 256/25

gamma_sq_exceeds = gamma_sq_frac > threshold_sq
print(f"\nCross-check 2 (exact rational): γ² = {gamma_sq_frac} = {float(gamma_sq_frac):.10f}")
print(f"  threshold² = {threshold_sq} = {float(threshold_sq):.10f}")
print(f"  γ² > threshold²: {gamma_sq_exceeds}")

# Also compute γ from the fraction for numerical cross-check
gamma_crosscheck2 = float(gamma_sq_frac) ** 0.5
cross_check(
    gamma_primary,
    gamma_crosscheck2,
    tolerance=1e-10,
    mode="absolute",
    label="Primary (float) vs Rational arithmetic",
)

# ============================================================
# 6. ADVERSARIAL CHECKS (Rule 5)
# ============================================================
adversarial_checks = [
    {
        "question": "Is there any alternative definition of the Lorentz factor that would yield a different value?",
        "verification_performed": (
            "Reviewed standard physics references. The Lorentz factor γ = 1/√(1-v²/c²) "
            "is the universal definition in special relativity. There is no competing "
            "definition. The reciprocal 1/γ is sometimes used but is clearly distinct."
        ),
        "finding": "No alternative definition exists that would change the computed value.",
        "breaks_proof": False,
    },
    {
        "question": "Could floating-point representation of 0.95 introduce enough error to change the comparison?",
        "verification_performed": (
            "Computed γ via three independent methods: IEEE 754 float, 50-digit Decimal, "
            "and exact rational (Fraction) arithmetic. All agree to >10 decimal places. "
            "The exact rational computation confirms γ² = 400/39 > 256/25 = 3.2² with "
            "no floating-point involved."
        ),
        "finding": "Floating-point representation cannot affect the verdict; exact rational arithmetic confirms γ > 3.2.",
        "breaks_proof": False,
    },
    {
        "question": "Is the margin above 3.2 so small that rounding could flip the result?",
        "verification_performed": (
            "γ ≈ 3.2026 and threshold is 3.2. The margin is ~0.0026, which is well above "
            "any floating-point uncertainty. Additionally, the exact rational proof shows "
            "γ² = 400/39 ≈ 10.2564 vs 3.2² = 10.24, a margin of ~0.0164 in the squared domain."
        ),
        "finding": "The margin is small but unambiguous — confirmed by exact arithmetic.",
        "breaks_proof": False,
    },
]

# ============================================================
# 7. VERDICT AND STRUCTURED OUTPUT
# ============================================================
if __name__ == "__main__":
    print("\n" + "=" * 60)
    print("CLAIM EVALUATION")
    print("=" * 60)

    claim_holds = compare(
        gamma_primary, CLAIM_FORMAL["operator"], CLAIM_FORMAL["threshold"],
        label="γ > 3.2"
    )

    # Pure-math: no citations
    verdict = "PROVED" if claim_holds else "DISPROVED"

    print(f"\nVerdict: {verdict}")

    # Update fact registry
    FACT_REGISTRY["A1"]["method"] = "Direct float computation: γ = 1/√(1 - 0.95²)"
    FACT_REGISTRY["A1"]["result"] = f"{gamma_primary:.10f}"
    FACT_REGISTRY["A2"]["method"] = "50-digit Decimal arithmetic"
    FACT_REGISTRY["A2"]["result"] = f"{gamma_crosscheck1:.10f}"
    FACT_REGISTRY["A3"]["method"] = "Exact rational: γ² = 400/39, verify γ² > (3.2)² = 256/25"
    FACT_REGISTRY["A3"]["result"] = f"γ² = 400/39 ≈ {float(gamma_sq_frac):.10f}, γ ≈ {gamma_crosscheck2:.10f}"

    summary = {
        "fact_registry": {
            fid: {k: v for k, v in info.items()}
            for fid, info in FACT_REGISTRY.items()
        },
        "claim_formal": CLAIM_FORMAL,
        "claim_natural": CLAIM_NATURAL,
        "cross_checks": [
            {
                "description": "Float vs 50-digit Decimal arithmetic",
                "values_compared": [f"{gamma_primary:.10f}", f"{gamma_crosscheck1:.10f}"],
                "agreement": abs(gamma_primary - gamma_crosscheck1) < 1e-10,
            },
            {
                "description": "Float vs exact rational (Fraction) arithmetic",
                "values_compared": [f"{gamma_primary:.10f}", f"{gamma_crosscheck2:.10f}"],
                "agreement": abs(gamma_primary - gamma_crosscheck2) < 1e-10,
            },
            {
                "description": "Exact rational squared comparison: γ² = 400/39 > 256/25 = (3.2)²",
                "values_compared": [str(gamma_sq_frac), str(threshold_sq)],
                "agreement": gamma_sq_exceeds,
            },
        ],
        "adversarial_checks": adversarial_checks,
        "verdict": verdict,
        "key_results": {
            "gamma": gamma_primary,
            "threshold": CLAIM_FORMAL["threshold"],
            "operator": CLAIM_FORMAL["operator"],
            "claim_holds": claim_holds,
            "beta": beta,
            "gamma_exact_rational_squared": str(gamma_sq_frac),
        },
        "generator": {
            "name": "proof-engine",
            "version": open(os.path.join(PROOF_ENGINE_ROOT, "VERSION")).read().strip(),
            "repo": "https://github.com/yaniv-golan/proof-engine",
            "generated_at": date.today().isoformat(),
        },
    }

    print("\n=== PROOF SUMMARY (JSON) ===")
    print(json.dumps(summary, indent=2, default=str))

↓ download proof.py

Re-execute this proof

The verdict above is cached from when this proof was minted. To re-run the exact proof.py shown in "View proof source" and see the verdict recomputed live, launch it in your browser — no install required.

Re-execute from GitHub commit 1ba3732 — same bytes shown above.

Re-execute in Binder runs in your browser · ~60s · no install

First run takes longer while Binder builds the container image; subsequent runs are cached.

machine-readable formats

Jupyter Notebook interactive re-verification W3C PROV-JSON provenance trace RO-Crate 1.1 research object package
Downloads & raw data

found this useful? ★ star on github