{
  "check": "quota_curve",
  "n_pairs": 5,
  "pairs": [
    {
      "B_mem": 65536,
      "s_min": 16384,
      "n_max": 4,
      "forced": true,
      "attained": true,
      "tight": true,
      "ok": true
    },
    {
      "B_mem": 65536,
      "s_min": 7533,
      "n_max": 8,
      "forced": true,
      "attained": true,
      "tight": true,
      "ok": true
    },
    {
      "B_mem": 32768,
      "s_min": 16384,
      "n_max": 2,
      "forced": true,
      "attained": true,
      "tight": true,
      "ok": true
    },
    {
      "B_mem": 1048576,
      "s_min": 7533,
      "n_max": 139,
      "forced": true,
      "attained": true,
      "tight": true,
      "ok": true
    },
    {
      "B_mem": 8388608,
      "s_min": 7533,
      "n_max": 1113,
      "forced": true,
      "attained": true,
      "tight": true,
      "ok": true
    }
  ],
  "n_max": {
    "65536:16384": 4,
    "65536:7533": 8,
    "32768:16384": 2,
    "1048576:7533": 139,
    "8388608:7533": 1113
  },
  "all_pairs_tight": true,
  "symbolic_implication": {
    "query": "forall N,s_min,B_mem>=1: N*s_min<=B_mem -> N<=B_mem div s_min",
    "negation_check": "unsat",
    "decided": true
  },
  "z3_version": "4.15.4",
  "claim": "For budget B and per-session floor s_min, no policy that keeps aggregate memory <= B admits more than floor(B/s_min) unauthenticated sessions, and a quota of exactly floor(B/s_min) attains B.",
  "honest_scope": "Model-relative (filing #12's abstraction: sessions cost at least s_min, aggregate is the sum). Says nothing about which sessions to refuse, only how many can be live; the reservation interlock that enforces it is ApBound.lean / lib/wifipqc/ap_admission.py.",
  "qmc_cap_slots_c": 1113,
  "matches_qmc_cap_slots": true,
  "verdict": "real"
}
