"The body can only absorb 20-30 g of protein per meal; the rest is wasted."
This is one of the most persistent myths in nutrition, and the research is unambiguous: the "20-30 g rule" does not reflect how your body actually handles protein.
What Was Claimed?
The claim holds that your digestive system hits a hard ceiling at around 20-30 grams of protein per meal — and that anything above that amount is simply wasted, excreted without benefit. You've probably heard this at a gym or seen it in fitness content, often used to justify eating protein every few hours. The implication is that a 60 g protein meal is no better than a 25 g one.
What Did We Find?
Your gut absorbs essentially all the protein you eat, regardless of how much is in a single meal. Gut absorption of dietary protein runs above 90% for common protein sources — there is no 20-30 g ceiling in your intestine. What happens after absorption is where things get more nuanced, and that nuance is exactly what the myth confuses.
A 2023 randomized controlled trial gave participants 100 grams of protein in a single sitting and tracked what happened to those amino acids using isotope tracers — essentially chemical tags that let researchers follow protein through the body in real time. The anabolic response, meaning the body's use of that protein to build and maintain tissue, continued for more than 12 hours and showed no sign of a ceiling. More protein produced more response, not waste.
Two independent review papers, one from 2013 and one from 2018, reached the same conclusion from different angles. The 2018 review examined the full body of dose-response evidence and found that while higher protein doses do increase amino acid oxidation (burning for energy), this is not the fate of all the extra protein — a meaningful portion still goes toward tissue building. The 2013 review added another piece: high protein intake also suppresses muscle protein breakdown, so even if synthesis rates aren't dramatically higher, net muscle balance keeps improving.
So where did the "20-30 g rule" come from? Studies from the mid-2000s found that muscle protein synthesis rates — the speed at which your muscles are building new protein — plateaued around 20 grams of fast-digesting whey protein in tightly controlled post-exercise conditions. That finding was real but narrow. It applied to isolated whey protein, in short measurement windows, in specific exercise contexts. It said nothing about gut absorption capacity, and it never claimed the rest was excreted unused.
What Should You Keep In Mind?
There is a genuine, evidence-based insight buried in the myth: for maximizing the rate of muscle protein synthesis immediately after exercise, roughly 20-40 grams of a fast-digesting protein is often cited as a useful target. That's an optimization recommendation for a specific context, not a physiological ceiling. Eating more protein at a given meal isn't wasteful — it just means the utilization window stretches longer.
The studies most often cited in support of the myth used isolated whey protein, which digests unusually quickly. Mixed meals with whole foods digest more slowly, extending the window over which amino acids are absorbed and used. The myth also ignores that "extra" amino acids don't disappear — they're used for energy, gluconeogenesis, or other protein synthesis in the body.
If you eat one large high-protein meal rather than several smaller ones, you'll likely absorb and use that protein — it just happens over a longer time frame. Protein distribution across meals may matter for other reasons, but not because large amounts are wasted.
How Was This Verified?
This claim was evaluated by searching for peer-reviewed evidence directly addressing both the absorption ceiling and the waste assertion, checking the studies most commonly cited in support of the rule, and testing whether any interpretation of the evidence could rescue it. See the structured proof report for the full evidence summary and logic, the full verification audit for source verification details and adversarial checks, or re-run the proof yourself to reproduce the results.
What could challenge this verdict?
Do any peer-reviewed studies directly support a hard 20-30 g absorption ceiling? Searched PubMed and Google Scholar for "protein absorption 20g per meal limit," "protein meal size muscle protein synthesis ceiling," and "maximum protein per meal." Found Moore et al. 2009 (Am J Clin Nutr) and Areta et al. 2013 (J Physiol), often cited in support of the claim. However, neither study measures gut absorption capacity, and neither claims protein above 20 g is excreted unused. Both used fast-digesting isolated whey protein in short acute post-exercise windows; the Trommelen 2023 RCT (B2) directly tested 100 g in a single meal and refutes the ceiling interpretation.
Does the ISSN position stand endorse a hard 20-40 g per meal limit? Reviewed Jager et al. 2017 (ISSN protein position stand, PMC5477153). The ISSN recommends 0.25 g/kg or 20-40 g per meal as a performance optimization target for MPS — not as a physiological absorption ceiling. The same document makes no claim that protein above 40 g is wasted.
Does the absorption vs. utilization distinction rescue the claim? Reviewed Boirie et al. 1997, Guadagni & Biolo 2009, and the Schoenfeld & Aragon 2018 discussion. Gut absorption of dietary protein is essentially complete (>90%) for all common protein sources — the intestine has no 20-30 g ceiling. Rescuing the claim via this distinction would require redefining "absorb" as "maximally stimulate MPS from whey in isolation," which is not the plain meaning of the claim.
No adversarial check produced counter-evidence that breaks the disproof.
Sources
| Source | ID | Type | Verified |
|---|---|---|---|
| Schoenfeld BJ, Aragon AA. How much protein can the body use in a single meal for muscle-building? Implications for daily protein distribution. J Int Soc Sports Nutr. 2018;15(1):10. PMC5828430. | B1 | Government | Yes |
| Trommelen J, van Lieshout GAA, Nyakayiru J, Holwerda AM, Smeets JSJ, Hendriks FK, van Kranenburg JMX, Zorenc AH, Senden JM, Goessens JPB, Gijsen AP, van Loon LJC. The anabolic response to protein ingestion during recovery from exercise has no upper limit in magnitude and duration in vivo in humans. Cell Rep Med. 2023;4(12):101324. PMC10772463. | B2 | Government | Yes |
| Deutz NE, Wolfe RR. Is there a maximal anabolic response to protein intake with a meal? Clin Nutr. 2013;32(2):309-313. PMC3595342. | B3 | Government | Yes |
| Verified source count (peer-reviewed sources rejecting the 20-30 g cap claim) | A1 | — | Computed |
detailed evidence
Evidence Summary
| ID | Fact | Verified |
|---|---|---|
| B1 | Schoenfeld & Aragon 2018 (JISSN) — protein dose-response review | Yes |
| B2 | Trommelen et al. 2023 (Cell Reports Medicine) — 100 g single-meal RCT | Yes |
| B3 | Deutz & Wolfe 2013 (Clinical Nutrition) — anabolic upper limit review | Yes |
| A1 | Verified source count (peer-reviewed sources rejecting the 20-30 g cap claim) | Computed: 3 independent sources confirmed |
Source: proof.py JSON summary
Proof Logic
Three independent peer-reviewed sources directly contradict both components of the claim.
B1 — Schoenfeld & Aragon 2018 is a systematic review published in the Journal of the International Society of Sports Nutrition (PMC5828430). It addresses exactly the question posed by the claim, concluding that "the preponderance of data indicate that while consumption of higher protein doses (> 20 g) results in greater AA oxidation, this is not the fate for all the additional ingested AAs as some are utilized for tissue-building purposes" (B1). This directly contradicts both components: absorption/utilization exceeds 20 g, and the excess is not wasted (it goes to tissue building).
B2 — Trommelen et al. 2023 is a randomized controlled trial published in Cell Reports Medicine (PMC10772463). Using quadruple stable-isotope tracer methodology — the most rigorous technique available for measuring protein kinetics in vivo — the study fed participants either 25 g or 100 g of protein after exercise and tracked amino acid incorporation into muscle protein for 12 hours. The authors conclude: "The anabolic response to protein ingestion has no apparent upper limit in magnitude and duration in vivo in humans" (B2). The 100 g dose produced a greater and more prolonged anabolic response than the 25 g dose, with protein incorporation continuing throughout the measurement window — directly refuting the 20-30 g ceiling.
B3 — Deutz & Wolfe 2013 is a review published in Clinical Nutrition (PMC3595342). It provides mechanistic context: studies measuring only MPS rates miss the full picture because higher protein intakes also suppress protein breakdown (via insulin), increasing net anabolism beyond what MPS rate alone would suggest. The authors conclude: "There is no practical upper limit to the anabolic response to protein or amino acid intake in the context of a meal" (B3).
All three sources come from different research groups, institutions, and journals, and all were verified live on PubMed Central (A1: 3/3 verified).
Conclusion
Verdict: DISPROVED
Three independent peer-reviewed sources — all verified live on PubMed Central — directly contradict both components of the claim. The intestine absorbs essentially all dietary protein regardless of meal size. The anabolic response to protein ingestion has no apparent upper limit per a 2023 RCT using 100 g in a single meal. Excess amino acids are used for energy, gluconeogenesis, or protein synthesis — not wasted. The popular "20-30 g rule" conflates MPS rate optimization in specific acute post-exercise conditions with a universal absorption ceiling, a conflation the scientific literature does not support.
All three disproof citations are fully verified (no unverified citations).
audit trail
All 3 citations verified.
Original audit log
B1 — Schoenfeld & Aragon 2018 - Status: verified - Method: full_quote - Fetch mode: live - Coverage: N/A (full quote match)
B2 — Trommelen et al. 2023 - Status: verified - Method: full_quote - Fetch mode: live - Coverage: N/A (full quote match)
B3 — Deutz & Wolfe 2013 - Status: verified - Method: full_quote - Fetch mode: live - Coverage: N/A (full quote match)
Source: proof.py JSON summary
| Field | Value |
|---|---|
| Subject | Human protein absorption and utilization per meal |
| Property | Number of independent peer-reviewed sources establishing that (1) there is no fixed 20-30 g per-meal ceiling on protein absorption or utilization, AND (2) protein ingested above any such threshold is not simply 'wasted' (excreted unused) |
| Operator | >= |
| Threshold | 3 |
| Proof direction | disprove |
| Operator note | The claim makes two assertions: (A) a hard 20-30 g per-meal protein absorption ceiling exists, and (B) protein above that ceiling is wasted. Both are tested together: a source qualifies as a rebuttal if it establishes that protein utilization or anabolism continues beyond 20-30 g/meal, or that excess amino acids are metabolized for energy/other purposes rather than excreted unused. Proof direction is 'disprove' — sources must REJECT the claim. Threshold of 3 independent peer-reviewed sources is required. Note: studies showing that MPS rates plateau around 20 g of whey protein in the short-term post-exercise window do NOT support the claim as stated, because they measure synthesis rate optimization, not absorption capacity, and do not show that excess protein is excreted unused. |
Source: proof.py JSON summary
Natural-language claim: "The body can only absorb 20-30 g of protein per meal; the rest is wasted."
Formal interpretation: The claim has two components:
- (A) Absorption ceiling: A hard 20-30 g per-meal limit on protein absorption or utilization exists.
- (B) Waste: Protein ingested above that ceiling is wasted (excreted unused).
Both components are tested together. A source qualifies as a rebuttal if it establishes that protein utilization or anabolism continues beyond 20-30 g/meal, or that excess amino acids are metabolized rather than excreted. The proof direction is "disprove" — three independent peer-reviewed sources must reject the claim.
Operator: >= 3 verified sources (threshold = 3, proof direction = disprove).
Note: Studies showing that muscle protein synthesis (MPS) rates plateau around 20 g of fast-digesting whey protein in short-term post-exercise windows do not support the claim as stated. Those studies measure synthesis rate optimization under specific conditions, not gut absorption capacity, and none claim that excess protein is excreted unused.
| Fact ID | Domain | Type | Tier | Note |
|---|---|---|---|---|
| B1 | nih.gov | government | 5 | Government domain (.gov) — PubMed Central open-access archive |
| B2 | nih.gov | government | 5 | Government domain (.gov) — PubMed Central open-access archive |
| B3 | nih.gov | government | 5 | Government domain (.gov) — PubMed Central open-access archive |
All sources are Tier 5 (highest credibility). No low-credibility sources cited.
Source: proof.py JSON summary
[✓] schoenfeld_aragon_2018: Full quote verified for schoenfeld_aragon_2018 (source: tier 5/government)
[✓] trommelen_2023: Full quote verified for trommelen_2023 (source: tier 5/government)
[✓] deutz_wolfe_2013: Full quote verified for deutz_wolfe_2013 (source: tier 5/government)
Confirmed sources: 3 / 3
SC: peer-reviewed sources rejecting the 20-30 g absorption cap claim: 3 >= 3 = True
Source: proof.py inline output (execution trace)
| Description | Sources Consulted | Sources Verified | Agreement |
|---|---|---|---|
| Multiple independent peer-reviewed sources consulted | 3 | 3 | Yes (3/3) |
Source verification statuses:
| Key | Status |
|---|---|
| schoenfeld_aragon_2018 | verified |
| trommelen_2023 | verified |
| deutz_wolfe_2013 | verified |
Independence note: Sources are from different research groups and journals: Schoenfeld/Aragon (review, multiple US institutions, JISSN), Trommelen et al. (RCT, Maastricht University, Cell Reports Medicine), Deutz/Wolfe (review, Texas A&M/UT Medical Branch, Clinical Nutrition). All published in different peer-reviewed journals.
Source: proof.py JSON summary
Check 1: Do peer-reviewed studies directly support a hard 20-30 g per-meal protein absorption ceiling?
- Verification performed: Searched PubMed and Google Scholar for "protein absorption 20g per meal limit," "protein meal size muscle protein synthesis ceiling," and "maximum protein per meal." Found Moore et al. 2009 (Am J Clin Nutr 89:161-168) showing MPS plateaus around 20 g of whey post-exercise, and Areta et al. 2013 (J Physiol 591:2319-2331) showing 20 g every 3 hours was optimal for MPS during a 12-hour recovery window.
- Finding: Moore et al. 2009 and Areta et al. 2013 showed that 20 g of whey protein optimized MUSCLE PROTEIN SYNTHESIS RATES in acute, tightly-controlled post-exercise windows. Neither study measures gut absorption capacity, and neither claims protein above 20 g is excreted unused. Moore et al. used fast-digesting isolated whey; mixed meals with slower proteins extend the utilization window. Neither study addresses the "wasted" claim. The Trommelen 2023 study (B2) directly tested 100 g in a single meal using isotope tracers and found protein incorporation into muscle continued for 12+ hours, refuting the ceiling interpretation.
- Breaks proof: No
Check 2: Does the ISSN position stand endorse a hard 20-40 g per meal limit that would support the claim?
- Verification performed: Searched for ISSN protein exercise position stand; reviewed Jager et al. 2017 (J Int Soc Sports Nutr, PMC5477153) and the ISSN nutrient timing position stand (Kerksick et al. 2017, PMC5596471).
- Finding: The ISSN position (Jager et al. 2017) frames 0.25 g/kg or 20-40 g per meal as a performance optimization recommendation for muscle protein synthesis. It does NOT claim protein above this amount is wasted or that intestinal absorption is capped. The recommendation is an ergogenic dosing target, not a physiological absorption limit.
- Breaks proof: No
Check 3: Is there a meaningful distinction between gut "absorption" and cellular "utilization" that could rescue any part of the claim?
- Verification performed: Searched "intestinal protein absorption capacity per meal physiology" and reviewed Boirie et al. 1997 (PNAS 94:14930) on fast vs slow proteins and Guadagni & Biolo 2009 (Curr Opin Clin Nutr Metab Care 12:58) on protein kinetics. Also reviewed the discussion section of Schoenfeld & Aragon 2018.
- Finding: Gut absorption of dietary protein is essentially complete (>90%) for all common protein sources regardless of meal size — the intestine does not have a 20-30 g ceiling. What studies sometimes show is that MUSCLE PROTEIN SYNTHESIS STIMULATION has diminishing returns above ~20 g of fast whey in certain contexts. However, Schoenfeld & Aragon 2018 explicitly state that additional AAs go to tissue-building beyond 20 g, and Deutz & Wolfe 2013 note that higher protein also suppresses protein breakdown (net anabolism continues). Any rescue of the claim via this distinction would require redefining "absorb" to mean "maximally stimulate MPS from whey in isolation" — which is not the plain meaning of the claim.
- Breaks proof: No
Source: proof.py JSON summary
- Rule 1 (No hand-typed values): N/A — qualitative consensus proof; no numeric value extraction from quotes.
- Rule 2 (Citations verified by fetching): ✓
verify_all_citations()called; all 3 citations verified live (full_quote, live fetch). - Rule 3 (System time anchoring): N/A — no date-dependent computation in this proof.
- Rule 4 (Explicit claim interpretation): ✓
CLAIM_FORMALdict present withoperator_noteexplaining both sub-claims, operator choice, threshold, and proof direction. - Rule 5 (Adversarial checks): ✓ Three adversarial checks performed via web search; Moore et al. 2009 and Areta et al. 2013 (the studies most commonly cited to support the claim) evaluated and rebutted; ISSN position stand assessed; absorption/utilization distinction examined.
- Rule 6 (Independent cross-checks): ✓ 3 sources from different research groups, institutions, and journals verified independently.
- Rule 7 (No hard-coded constants): N/A — no numeric constants or formulas used.
- validate_proof.py result: PASS (15/15 checks, 0 issues, 0 warnings)
For qualitative/consensus proofs, extraction records capture citation verification status per source rather than numeric values.
| Fact ID | Value (citation status) | Countable (verified or partial) | Quote snippet |
|---|---|---|---|
| B1 | verified | Yes | "the preponderance of data indicate that while consumption of higher protein dose" |
| B2 | verified | Yes | "The anabolic response to protein ingestion has no apparent upper limit in magnit" |
| B3 | verified | Yes | "There is no practical upper limit to the anabolic response to protein or amino a" |
Source: proof.py JSON summary
Cite this proof
Proof Engine. (2026). Claim Verification: “The body can only absorb 20-30 g of protein per meal; the rest is wasted.” — Disproved. https://doi.org/10.5281/zenodo.19489801
Proof Engine. "Claim Verification: “The body can only absorb 20-30 g of protein per meal; the rest is wasted.” — Disproved." 2026. https://doi.org/10.5281/zenodo.19489801.
@misc{proofengine_the_body_can_only_absorb_20_30_g_of_protein_per_meal_the_rest_is_wasted,
title = {Claim Verification: “The body can only absorb 20-30 g of protein per meal; the rest is wasted.” — Disproved},
author = {{Proof Engine}},
year = {2026},
url = {https://proofengine.info/proofs/the-body-can-only-absorb-20-30-g-of-protein-per-meal-the-rest-is-wasted/},
note = {Verdict: DISPROVED. Generated by proof-engine v1.3.1},
doi = {10.5281/zenodo.19489801},
}
TY - DATA TI - Claim Verification: “The body can only absorb 20-30 g of protein per meal; the rest is wasted.” — Disproved AU - Proof Engine PY - 2026 UR - https://proofengine.info/proofs/the-body-can-only-absorb-20-30-g-of-protein-per-meal-the-rest-is-wasted/ N1 - Verdict: DISPROVED. Generated by proof-engine v1.3.1 DO - 10.5281/zenodo.19489801 ER -
View proof source
This is the exact proof.py that was deposited to Zenodo and runs when you re-execute via Binder. Every fact in the verdict above traces to code below.
"""
Proof: The body can only absorb 20-30 g of protein per meal; the rest is wasted.
Generated: 2026-04-01
"""
import json
import os
import sys
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.verify_citations import verify_all_citations, build_citation_detail
from scripts.computations import compare
# 1. CLAIM INTERPRETATION (Rule 4)
CLAIM_NATURAL = "The body can only absorb 20-30 g of protein per meal; the rest is wasted."
CLAIM_FORMAL = {
"subject": "Human protein absorption and utilization per meal",
"property": (
"Number of independent peer-reviewed sources establishing that "
"(1) there is no fixed 20-30 g per-meal ceiling on protein absorption or utilization, "
"AND (2) protein ingested above any such threshold is not simply 'wasted' (excreted unused)"
),
"operator": ">=",
"operator_note": (
"The claim makes two assertions: (A) a hard 20-30 g per-meal protein absorption ceiling "
"exists, and (B) protein above that ceiling is wasted. Both are tested together: a source "
"qualifies as a rebuttal if it establishes that protein utilization or anabolism continues "
"beyond 20-30 g/meal, or that excess amino acids are metabolized for energy/other purposes "
"rather than excreted unused. Proof direction is 'disprove' — sources must REJECT the claim. "
"Threshold of 3 independent peer-reviewed sources is required. "
"Note: studies showing that MPS rates plateau around 20 g of whey protein in the "
"short-term post-exercise window do NOT support the claim as stated, because "
"they measure synthesis rate optimization, not absorption capacity, and do not show "
"that excess protein is excreted unused."
),
"threshold": 3,
"proof_direction": "disprove",
}
# 2. FACT REGISTRY
FACT_REGISTRY = {
"B1": {"key": "schoenfeld_aragon_2018", "label": "Schoenfeld & Aragon 2018 (JISSN) — protein dose-response review"},
"B2": {"key": "trommelen_2023", "label": "Trommelen et al. 2023 (Cell Reports Medicine) — 100 g single-meal RCT"},
"B3": {"key": "deutz_wolfe_2013", "label": "Deutz & Wolfe 2013 (Clinical Nutrition) — anabolic upper limit review"},
"A1": {"label": "Verified source count (peer-reviewed sources rejecting the 20-30 g cap claim)", "method": None, "result": None},
}
# 3. EMPIRICAL FACTS — sources that REJECT the claim (confirm it is false)
# These are all open-access PMC articles; quotes are from the abstract or main body.
empirical_facts = {
"schoenfeld_aragon_2018": {
"quote": (
"the preponderance of data indicate that while consumption of higher protein doses "
"(> 20 g) results in greater AA oxidation, this is not the fate for all the "
"additional ingested AAs as some are utilized for tissue-building purposes"
),
"url": "https://pmc.ncbi.nlm.nih.gov/articles/PMC5828430/",
"source_name": (
"Schoenfeld BJ, Aragon AA. How much protein can the body use in a single meal "
"for muscle-building? Implications for daily protein distribution. "
"J Int Soc Sports Nutr. 2018;15(1):10. PMC5828430."
),
},
"trommelen_2023": {
"quote": (
"The anabolic response to protein ingestion has no apparent upper limit in "
"magnitude and duration in vivo in humans"
),
"url": "https://pmc.ncbi.nlm.nih.gov/articles/PMC10772463/",
"source_name": (
"Trommelen J, van Lieshout GAA, Nyakayiru J, Holwerda AM, Smeets JSJ, "
"Hendriks FK, van Kranenburg JMX, Zorenc AH, Senden JM, Goessens JPB, "
"Gijsen AP, van Loon LJC. The anabolic response to protein ingestion during "
"recovery from exercise has no upper limit in magnitude and duration in vivo "
"in humans. Cell Rep Med. 2023;4(12):101324. PMC10772463."
),
},
"deutz_wolfe_2013": {
"quote": (
"There is no practical upper limit to the anabolic response to protein or "
"amino acid intake in the context of a meal"
),
"url": "https://pmc.ncbi.nlm.nih.gov/articles/PMC3595342/",
"source_name": (
"Deutz NE, Wolfe RR. Is there a maximal anabolic response to protein intake "
"with a meal? Clin Nutr. 2013;32(2):309-313. PMC3595342."
),
},
}
# 4. CITATION VERIFICATION (Rule 2)
citation_results = verify_all_citations(empirical_facts, wayback_fallback=True)
# 5. COUNT VERIFIED SOURCES
COUNTABLE_STATUSES = ("verified", "partial")
n_confirmed = sum(
1 for key in empirical_facts
if citation_results[key]["status"] in COUNTABLE_STATUSES
)
print(f" Confirmed sources: {n_confirmed} / {len(empirical_facts)}")
# 6. CLAIM EVALUATION — uses compare(), never hardcoded
claim_holds = compare(
n_confirmed,
CLAIM_FORMAL["operator"],
CLAIM_FORMAL["threshold"],
label="SC: peer-reviewed sources rejecting the 20-30 g absorption cap claim",
)
# 7. ADVERSARIAL CHECKS (Rule 5)
# These check for evidence that *supports* the claim (sources searched during Step 2).
adversarial_checks = [
{
"question": (
"Do peer-reviewed studies directly support a hard 20-30 g per-meal "
"protein absorption ceiling?"
),
"verification_performed": (
"Searched PubMed and Google Scholar for 'protein absorption 20g per meal limit', "
"'protein meal size muscle protein synthesis ceiling', and 'maximum protein per meal'. "
"Found Moore et al. 2009 (Am J Clin Nutr 89:161-168) showing MPS plateaus around "
"20 g of whey post-exercise, and Areta et al. 2013 (J Physiol 591:2319-2331) showing "
"20 g every 3 hours was optimal for MPS during a 12-hour recovery window."
),
"finding": (
"Moore et al. 2009 and Areta et al. 2013 showed that 20 g of whey protein "
"optimized MUSCLE PROTEIN SYNTHESIS RATES in acute, tightly-controlled post-exercise "
"windows. Neither study measures gut absorption capacity, and neither claims protein "
"above 20 g is excreted unused. Moore et al. used fast-digesting isolated whey; "
"mixed meals with slower proteins extend the utilization window. Neither study "
"addresses the 'wasted' claim. The Trommelen 2023 study (B2) directly tested 100 g "
"in a single meal using isotope tracers and found protein incorporation into muscle "
"continued for 12+ hours, refuting the ceiling interpretation."
),
"breaks_proof": False,
},
{
"question": (
"Does the ISSN position stand endorse a hard 20-40 g per meal limit "
"that would support the claim?"
),
"verification_performed": (
"Searched for ISSN protein exercise position stand; reviewed "
"Jager et al. 2017 (J Int Soc Sports Nutr, PMC5477153) and the ISSN nutrient "
"timing position stand (Kerksick et al. 2017, PMC5596471)."
),
"finding": (
"The ISSN position (Jager et al. 2017) frames 0.25 g/kg or 20-40 g per meal as "
"a performance optimization recommendation for muscle protein synthesis. It does NOT "
"claim protein above this amount is wasted or that intestinal absorption is capped. "
"The recommendation is an ergogenic dosing target, not a physiological absorption limit."
),
"breaks_proof": False,
},
{
"question": (
"Is there a meaningful distinction between gut 'absorption' and cellular 'utilization' "
"that could rescue any part of the claim?"
),
"verification_performed": (
"Searched 'intestinal protein absorption capacity per meal physiology' and reviewed "
"Boirie et al. 1997 (PNAS 94:14930) on fast vs slow proteins and Guadagni & Biolo "
"2009 (Curr Opin Clin Nutr Metab Care 12:58) on protein kinetics. Also reviewed "
"the discussion section of Schoenfeld & Aragon 2018."
),
"finding": (
"Gut absorption of dietary protein is essentially complete (>90%) for all common "
"protein sources regardless of meal size — the intestine does not have a 20-30 g "
"ceiling. What studies sometimes show is that MUSCLE PROTEIN SYNTHESIS STIMULATION "
"has diminishing returns above ~20 g of fast whey in certain contexts. However, "
"Schoenfeld & Aragon 2018 explicitly state that additional AAs go to tissue-building "
"beyond 20 g, and Deutz & Wolfe 2013 note that higher protein also suppresses protein "
"breakdown (net anabolism continues). Any rescue of the claim via this distinction "
"would require redefining 'absorb' to mean 'maximally stimulate MPS from whey in "
"isolation' — which is not the plain meaning of the claim."
),
"breaks_proof": False,
},
]
# 8. VERDICT AND STRUCTURED OUTPUT
if __name__ == "__main__":
any_unverified = any(
cr["status"] != "verified" for cr in citation_results.values()
)
is_disproof = CLAIM_FORMAL.get("proof_direction") == "disprove"
any_breaks = any(ac.get("breaks_proof") for ac in adversarial_checks)
if any_breaks:
verdict = "UNDETERMINED"
elif claim_holds and not any_unverified:
verdict = "DISPROVED" if is_disproof else "PROVED"
elif claim_holds and any_unverified:
verdict = (
"DISPROVED (with unverified citations)" if is_disproof
else "PROVED (with unverified citations)"
)
elif not claim_holds:
verdict = "UNDETERMINED"
else:
verdict = "UNDETERMINED"
FACT_REGISTRY["A1"]["method"] = f"count(verified citations) = {n_confirmed}"
FACT_REGISTRY["A1"]["result"] = str(n_confirmed)
citation_detail = build_citation_detail(FACT_REGISTRY, citation_results, empirical_facts)
extractions = {}
for fid, info in FACT_REGISTRY.items():
if not fid.startswith("B"):
continue
ef_key = info["key"]
cr = citation_results.get(ef_key, {})
extractions[fid] = {
"value": cr.get("status", "unknown"),
"value_in_quote": cr.get("status") in COUNTABLE_STATUSES,
"quote_snippet": empirical_facts[ef_key]["quote"][:80],
}
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,
"citations": citation_detail,
"extractions": extractions,
"cross_checks": [
{
"description": "Multiple independent peer-reviewed sources consulted",
"n_sources_consulted": len(empirical_facts),
"n_sources_verified": n_confirmed,
"sources": {k: citation_results[k]["status"] for k in empirical_facts},
"independence_note": (
"Sources are from different research groups and journals: "
"Schoenfeld/Aragon (review, multiple US institutions, JISSN), "
"Trommelen et al. (RCT, Maastricht University, Cell Reports Medicine), "
"Deutz/Wolfe (review, Texas A&M/UT Medical Branch, Clinical Nutrition). "
"All published in different peer-reviewed journals."
),
}
],
"adversarial_checks": adversarial_checks,
"verdict": verdict,
"key_results": {
"n_confirmed": n_confirmed,
"threshold": CLAIM_FORMAL["threshold"],
"operator": CLAIM_FORMAL["operator"],
"claim_holds": claim_holds,
"proof_direction": "disprove",
},
"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))
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 the exact bytes deposited at Zenodo.
Re-execute in Binder runs in your browser · ~60s · no installFirst run takes longer while Binder builds the container image; subsequent runs are cached.
machine-readable formats
Downloads & raw data
found this useful? ★ star on github