SKIP TO CONTENT
Fjärrstridsgrupp Alfa
SV UK EDITION 2026-Q2 ACTIVE
UNCLASSIFIED
FSG-A // MATHEMATICS // PROVABLE CLAIMS

MATHEMATICALLY PROVEN CLAIMS
15 NUMERICAL CLAIMS BACKED BY EXECUTABLE CODE

Author: FSG-A — CC BY-SA 4.0
COMPLETE MATHEMATICS
KEY TAKEAWAY
This page lists every numerical claim in the FSG-A wiki backed by executable mathematics. 15 claims from jammer range 11,150m to Weissberger vegetation loss to LiPo capacity at arctic temperatures. Each claim has a formula, a source (ITU-R, Dempster-Shafer, Friis), and a link to the code that calculates the value. Run python3 provable_claims.py to verify all 15 at once. Swedish Armed Forces/FMV can modify the parameters and reproduce the calculations themselves. This is the honest alternative to "trust us" claims: every number is a formula you can run.

How this works

Mathematical support is not the same as operational validation. If the wiki says "jammer range 11,150m", this can be supported at three levels:

  1. Mathematically proven (this page): Friis formula run with concrete parameters gives 11,150m. Reproducible by anyone with a Python interpreter.
  2. Simulated: ArduPlane SITL flight with virtual jammer shows realistic range effect. More credible but requires more resources.
  3. Field-validated: Physical Fischer 26 with real jammer measured against real target sensor in forest terrain. Definitive proof.

FSG-A has only reached level 1 — mathematical proof. This page is transparency about exactly WHAT we have proven and WHAT we have not proven. Implementing agency must build prototype to reach level 3.

The 15 proven claims

ID Claim Formula Result
JAM_RANGE_F262W jammer @ 2.4 GHz vs DJI drone (-80 dBm) reaches ~11,150mFriis: d = 10^((P+G-S-20log(f)+147.55)/20)11,150 m ✓

RF Vegetation Penetration (3 claims)

ID Claim Formula Result
VEG_LOSS_VHF140 MHz through 100m boreal forest: 11.4 dB lossWeissberger ITU-R P.833-911.4 dB ✓
VEG_LOSS_5GHZ5.8 GHz through 100m boreal forest: 32.9 dB lossWeissberger ITU-R P.833-932.9 dB ✓
VEG_ADVANTAGE_RATIOVHF gives ~140× more signal through forest than 5.8 GHzratio = 10^((L_5.8 - L_0.14)/10)140× ✓

Important finding during this page's creation: Earlier versions of the wiki stated 11.2 dB and 31.5 dB for these values — incorrectly rounded down. provable_claims.py exposed these mathematical errors, and they have been corrected to 11.4 dB and 32.9 dB which give the exact mathematical output from the Weissberger formula. This illustrates the value of having executable mathematics instead of bare numbers.

Sensor Fusion (2 claims)

ID Claim Formula Result
DS_FUSION_2Two sensors 70% + 65% → 89.5% combinedm = 1-(1-m₁)(1-m₂)0.895 ✓
DS_FUSION_3Three sensors 70%+65%+60% → 95.8% combinedm = 1-∏(1-mᵢ)0.958 ✓

Cryptography (1 claim)

ID Claim Formula Result
HMAC_COLLISION_YEARSHMAC-SHA256 56-bit requires ~2.28 million years at 1000 attempts/syears = 2^56 / (1000 × 31.56M)2.28 Myr ✓

Anti-Jam (2 claims)

ID Claim Formula Result
CRPA_NULL_POWER_RATIO25 dB null = 316× power reductionratio = 10^(dB/10)316.2× ✓
FHSS_NARROWBAND_MISSNarrowband jammer misses 99.98% of 4600 channelsmiss_rate = (N-1)/N × 10099.978% ✓

Antenna (2 claims)

ID Claim Formula Result
BEAM_WIDTH_500M30m CEP at 500m requires 6.87° beamwidthθ = 2·atan(CEP/dist)6.87° ✓
ANTENNA_GAIN_7DEG7° beam gives ~28 dBi antenna gainG ≈ 10·log10(32400/θ²)28.2 dBi ✓

Arctic Operations (2 claims)

ID Claim Formula Result
LIPO_CAPACITY_MINUS1510Ah LiPo @ -15°C delivers ~6Ah (60%)Tattu/Gens Ace datasheet interpolation6000 mAh ✓
LIPO_CAPACITY_MINUS2010Ah LiPo @ -20°C delivers 5Ah (50%)Published cell chemistry literature5000 mAh ✓

Energy Budget (2 claims)

ID Claim Formula Result
FISCHER26_ENDURANCE22.2V × 10Ah × 0.85 / 140W loiter = 1.35h (81 min)t = (V·Ah·util) / P_avg1.35 h ✓
FHSS_JAM_POWER_RATIOJamming 4600-channel FHSS requires 4600× more powerN_ch × P_per_ch4600× ✓

Run the proof yourself

Download the code package. The verification harness is a plain Python script with no dependencies beyond the standard library plus NumPy:

# pip install numpy
# Reproduce the CRPA null-power claim from provable_claims.py
import numpy as np

def crpa_null_power_ratio(null_depth_db):
    """Return linear power reduction from dB null depth."""
    return 10 ** (null_depth_db / 10)

# Verified claim: a 25 dB CRPA null = 316x power reduction
ratio = crpa_null_power_ratio(25)
assert abs(ratio - 316.2278) < 0.01, "CRPA null claim failed"
print(f"CRPA 25 dB null = {ratio:.4f}x power reduction ✓")

# Run the full suite:
#   python3 provable_claims.py
# Expected output:
#   ✓ ALL 15 CLAIMS MATHEMATICALLY PROVEN
#   Verified: 15/15

The full harness output on a clean run:

$ python3 provable_claims.py
  Total 15 claims verified with executable code
  Verified: 15/15

  ▸ Anti-Jam
    [CRPA_NULL_POWER_RATIO] CRPA 25 dB null = 316× power reduction
      Formula:      ratio = 10^(dB/10)
      Calculated:   316.2278
      Expected:     316.2300
      Status:       ✓ VERIFIED

  [... 14 more ...]

  ✓ ALL 15 CLAIMS MATHEMATICALLY PROVEN

What this does NOT prove

Mathematical proof is not field validation. The following remain unproven:

The mathematics is correct. The question is whether reality matches the mathematics. That is determined only by field validation, which FSG-A has not done.

License

Creative Commons Attribution-ShareAlike 4.0 International. Copy the code. Modify the parameters. Run in your own environment. Share improvements back if you wish.