{
  "type": "failure-mode",
  "name": "Letting the lookup argument be an afterthought",
  "slug": "letting-the-lookup-argument-be-an-afterthought",
  "section": {
    "id": "proof-systems",
    "number": "01",
    "title": "Choosing a proof system",
    "url": "https://zkpick.com/proof-systems/"
  },
  "url": "https://zkpick.com/proof-systems/failure-modes/letting-the-lookup-argument-be-an-afterthought/",
  "markdown": "https://zkpick.com/md/proof-systems/failure-modes/letting-the-lookup-argument-be-an-afterthought.md",
  "detail": "Enormous effort goes into choosing between proof systems while the lookup argument — which dominates prover time for range checks, bitwise operations and instruction decoding — is inherited from whatever the library defaulted to.",
  "mitigation": "Count lookups explicitly and evaluate the lookup argument as a first-class decision. Constrain multiplicity columns carefully: an unconstrained multiplicity silently breaks soundness.",
  "relatedOptions": [
    {
      "name": "Lookup arguments: Plookup, LogUp, cq, Lasso/Shout/Twist",
      "url": "https://zkpick.com/proof-systems/lookup-arguments/"
    }
  ],
  "updated": "2026-09-12",
  "version": "1.3",
  "canonical": "https://zkpick.com/proof-systems/failure-modes/letting-the-lookup-argument-be-an-afterthought/",
  "license": "https://creativecommons.org/licenses/by/4.0/",
  "authors": [
    "MarketComp"
  ]
}