{% extends "base.html" %} {% block title %}{{ proof.proof_data.claim_natural | strip_latex | truncate(50) }} — Proof Engine{% endblock %} {% block meta_description %}{{ proof.verdict.raw }}: {{ proof.verdict_hook | replace('**', '') | replace('*', '') | replace('[', '') | replace(']', '') | replace('\n', ' ') | strip_latex | truncate(140) | e }} — Proof Engine{% endblock %} {% block og_title %}{{ proof.verdict.raw }}: {{ proof.proof_data.claim_natural | strip_latex }}{% endblock %} {% block og_image %} {% endblock %} {% block head_extra %} {% endblock %} {% block body_attrs %} class="proof-page"{% endblock %} {% block content %} {# ── Verdict color helpers ──────────────────────────────────────────────────── #} {% set ns = namespace(vc_color='', vc_cell='') %} {% if proof.verdict.category == 'proved' %} {% set ns.vc_color = 'v-proved-c' %}{% set ns.vc_cell = '' %} {% elif proof.verdict.category == 'proved-qualified' %} {% set ns.vc_color = 'v-proved-q-c' %}{% set ns.vc_cell = 'amb' %} {% elif proof.verdict.category in ('disproved', 'disproved-qualified') %} {% set ns.vc_color = 'v-disproved-c' %}{% set ns.vc_cell = 'disp' %} {% elif proof.verdict.category == 'partial' %} {% set ns.vc_color = 'v-partial-c' %}{% set ns.vc_cell = 'amb' %} {% elif proof.verdict.category in ('supported', 'supported-qualified') %} {% set ns.vc_color = 'v-supported-c' %}{% set ns.vc_cell = 'sup' %} {% elif proof.verdict.category == 'undetermined' %} {% set ns.vc_color = 'v-undetermined-c' %}{% set ns.vc_cell = 'und' %} {% endif %} {% set adv_checks = proof.proof_data.adversarial_checks or [] %} {% set claim_formal = proof.proof_data.claim_formal or {} %} {# ── Mode bar ──────────────────────────────────────────────────────────────── #}
⟨proof-engine⟩ / proofs {% for tag in proof.tags %} / {{ tag }} {% endfor %}
{% if citation and citation.binder_url %} ▶ re-execute {% endif %}
{# ── Claim bar ─────────────────────────────────────────────────────────────── #}

{{ proof.proof_data.claim_natural }}

{% for tag in proof.tags %}{{ tag }}{% endfor %} {% if adv_checks %}·{{ adv_checks | length }} adversarial check{{ 's' if adv_checks | length != 1 }}{% endif %} {% if citations %}·{{ citations | length }} source{{ 's' if citations | length != 1 }}{% endif %} · generated {{ proof.date }} {% if proof.proof_engine_version %}·v{{ proof.proof_engine_version }}{% endif %}
{{ proof.verdict.raw }}
{% if citation_summary and citation_summary.flagged %}
{{ citation_summary.flagged | length }} of {{ citation_summary.total }} citations unverified
{% elif citation_summary and citation_summary.total > 0 %}
{{ citation_summary.verified }} of {{ citation_summary.total }} citations URL-verified
{% endif %}
{# ── Scoreboard ────────────────────────────────────────────────────────────── #} {% set ns2 = namespace(sb_cols=1) %} {% if citation_summary %} {% set ns2.sb_cols = ns2.sb_cols + 1 %} {% endif %} {% if adv_checks %} {% set ns2.sb_cols = ns2.sb_cols + 1 %} {% endif %} {% if citation and citation.doi %} {% set ns2.sb_cols = ns2.sb_cols + 1 %} {% endif %}
{# Verdict cell #}
verdict
{{ proof.verdict.raw }}
{% if proof.purpose == "methodology_demonstration" %}
methodology demonstration
{% endif %} {% if proof.verdict.qualifier %}
{{ proof.verdict.qualifier }}
{% elif claim_formal.attribution %}
after {{ claim_formal.attribution }}
{% elif citation_summary and citation_summary.flagged %}
{{ citation_summary.flagged | length }} citation{{ 's' if citation_summary.flagged | length != 1 }} unverified
{% endif %}
{# Transparency cell #} {% if citation_summary %}
transparency
{{ citation_summary.verified }} / {{ citation_summary.total }}
citations URL-verified
{% endif %} {# Robustness cell #} {% if adv_checks %} {% set adv_broke = adv_checks | selectattr('breaks_proof') | list | length %} {% set adv_withstood = adv_checks | length - adv_broke %}
robustness
{{ adv_withstood }} / {{ adv_checks | length }}
{% if adv_broke > 0 %}{{ adv_broke }} adversarial check{{ 's' if adv_broke != 1 }} broke the proof{% else %}adversarial challenges withstood{% endif %}
{% endif %} {# DOI cell #} {% if citation and citation.doi %}
doi
{{ citation.doi }}
immutable zenodo deposit
{% endif %}
{# ── Share bar ─────────────────────────────────────────────────────────────── #}
share + cite {% if citation and citation.doi %} {% endif %} 𝕏 post ↓ proof.py {% if citation and citation.doi %} DOI {{ citation.doi }} {% endif %}
{# ── Main grid: content + rail ─────────────────────────────────────────────── #}
{# ── READER mode: clean narrative ──────────────────────────────────────── #}
narrative
{{ rendered_verdict_hook | safe }} {% for section_name in ["What Was Claimed?", "What Did We Find?", "What Should You Keep In Mind?", "How Was This Verified?"] %} {% if section_name in rendered_sections_narrative %}

{{ section_name }}

{{ rendered_sections_narrative[section_name] | safe }} {% endif %} {% endfor %} {# Counter-evidence section #} {% set counter_evidence = rendered_sections_md.get("Counter-Evidence Search") or rendered_sections_md.get("What Could Challenge This Verdict?") %} {% if counter_evidence %}

What could challenge this verdict?

{{ counter_evidence | safe }}
{% endif %}
{# ── Proof body sections from proof.md (universal: renders deductive argument across all claim types). Theorem proofs surface the canonical theorem section list; non-theorem proofs surface the Proof Logic section. Sections already routed elsewhere on the page (Evidence Summary, Counter-Evidence Search, Claim Interpretation, Conclusion) are deliberately excluded here to avoid double-render. #} {% if claim_formal.claim_type == "theorem" %} {% set theorem_section_keys = ["Theorem Statement", "Proof", "Corollaries", "Scope", "Relation To Prior Work"] %} {% set ns_pb = namespace(has_body=false) %} {% for key in theorem_section_keys %} {% if rendered_sections_md.get(key) %}{% set ns_pb.has_body = true %}{% endif %} {% endfor %} {% if ns_pb.has_body %}
proof
{% for key in theorem_section_keys %} {% if rendered_sections_md.get(key) %}

{{ rendered_sections_md.get(key ~ "__heading", key) }}

{{ rendered_sections_md[key] | safe }}
{% endif %} {% endfor %}
{% endif %} {% else %} {% if rendered_sections_md.get("Proof Logic") %}
argument

Proof Logic

{{ rendered_sections_md["Proof Logic"] | safe }}
{% endif %} {% endif %}
{# ── INSPECTOR mode: split pane ───────────────────────────────────────── #}
{# LEFT: prose-pinned narrative #}
narrative — hover paragraphs to highlight source
{{ rendered_verdict_hook | safe }} {% for section_name in ["What Was Claimed?", "What Did We Find?", "What Should You Keep In Mind?", "How Was This Verified?"] %} {% if section_name in rendered_sections_narrative %}

{{ section_name }}

{{ rendered_sections_narrative[section_name] | safe }} {% endif %} {% endfor %}
{# RIGHT: code viewer #}
proof.py
loading proof.py…
{# ── Tabbed inspector panel (always visible) ────────────────────────────── #}
{% if adv_checks %} {% endif %} {% if rendered_sections_audit.get("Computation Traces") %} {% endif %} {% if rendered_sections_audit.get("Adversarial Checks") and not adv_checks %} {% endif %}
{# Evidence ledger #}
{% if citations %} {% set _src_type_labels = {'academic':'Academic','government':'Government','reference':'Reference','news':'News','educational':'Educational','major_news':'Major News','satire':'Satire'} %}
{# Hidden table structure for backward compatibility with tests and screen readers #} {% for fact_id, cit in citations.items() %}{% set _st = cit.status %}{% endfor %}
SourceIDTypeVerified
{{ cit.source_name }}{{ fact_id }}{% if _st == 'verified' %}Yes{% elif _st == 'partial' %}Partial{% elif _st == 'not_found' %}Not Found{% elif _st in ('failed','fetch_failed') %}Fetch Failed{% else %}{{ _st }}{% endif %}
{% for fact_id, cit in citations.items() %} {% set status = cit.status %} {% set cred = cit.credibility or {} %} {% set tier = cred.tier %} {% set src_type_label = _src_type_labels.get(cred.source_type, '') %}
{{ fact_id }}
{% if cit.url %}{{ cit.source_name }}{% else %}{{ cit.source_name }}{% endif %}
{% if cit.url %}
{{ cit.url | replace('https://', '') | replace('http://', '') | truncate(80) }}
{% endif %} {% if cit.quote %}
"{{ cit.quote | truncate(200) }}"
{% endif %}
{% if status == 'verified' %} ✓ verified {% elif status == 'partial' %} ◐ partial {% elif status in ('not_found', 'failed', 'fetch_failed') %} not found {% else %} {{ status or '—' }} {% endif %} {% if tier or src_type_label %} {% if tier %}tier-{{ tier }}{% endif %}{% if tier and src_type_label %} · {% endif %}{% if src_type_label %}{{ src_type_label }}{% endif %} {% endif %}
{% endfor %}
{% else %} {% if claim_formal.claim_type == "theorem" %} {% if claim_formal.attribution %}

No empirical citations — verdict established by the deductive argument of {{ claim_formal.attribution }}. This artifact is a verifiable companion: it re-presents the cited argument and regression-tests the implementation. The mathematical authority is the cited source, not this artifact.

{% if proof.purpose == "methodology_demonstration" %}

This artifact's purpose is methodology demonstration of the proof-engine framework on a known result. Cite this artifact only if your work evaluates the framework or its methodology; for the mathematical result itself, cite the primary source above.

{% endif %} {% else %}

No empirical citations — verdict established by deductive argument; computational checks regression-test the implementation.

{% endif %} {% else %}

No empirical citations — verdict established by computation.

{% endif %} {% endif %}
{# Adversarial checks (structured) #} {% if adv_checks %}

Before any verdict ships, the engine runs adversarial searches for evidence that could break the proof. {{ adv_checks | length }} were run here.

{% for check in adv_checks %} {% set broke = check.breaks_proof %} {% set has_finding = check.finding or check.search_performed or check.verification_performed %}
{{ '%02d' % loop.index }}
{{ check.question }}
{% if broke %}
broke proof
{% elif broke is not none and not broke %}
held
{% endif %}
{% if has_finding %}
{% if check.search_performed or check.verification_performed %}
search performed
{{ check.search_performed or check.verification_performed }}
{% endif %} {% if check.finding %}
finding
{{ check.finding }}
{% endif %}
{% endif %}
{% endfor %}
{% endif %} {# Adversarial checks (prose fallback from audit) #} {% if rendered_sections_audit.get("Adversarial Checks") and not adv_checks %}
{{ rendered_sections_audit["Adversarial Checks"] | safe }}
{% endif %} {# Claim spec #}
{% if claim_formal %} {% if claim_formal.subject %} {% endif %} {% if claim_formal.property %} {% endif %} {% if claim_formal.operator %} {% endif %} {% if claim_formal.threshold is not none and claim_formal.threshold != '' %} {% endif %} {% if claim_formal.operator_note %} {% endif %} {% if claim_formal.direction %} {% endif %} {# sub_claims #} {% set sc = claim_formal.sub_claims %} {% if sc %} {% if sc is iterable and sc is not string and sc is not mapping %} {% for item in sc %} {% endfor %} {% elif sc is mapping %} {% for sc_id, sc_val in sc.items() %} {% endfor %} {% endif %} {% endif %}
subject{{ claim_formal.subject }}
property{{ claim_formal.property }}
operator{{ claim_formal.operator }}
threshold{{ claim_formal.threshold }}
note{{ claim_formal.operator_note }}
direction{{ claim_formal.direction }}
{% if loop.first %}sub-claims{% endif %} {{ item.id if item.id is defined else loop.index }}{% if item.description is defined %} — {{ item.description }}{% elif item is string %} — {{ item }}{% endif %}
{% if loop.first %}sub-claims{% endif %} {{ sc_id }}{% if sc_val is string %} — {{ sc_val }}{% elif sc_val.description is defined %} — {{ sc_val.description }}{% endif %}
{% elif rendered_sections_audit.get("Claim Specification") %}
{{ rendered_sections_audit["Claim Specification"] | safe }}
{% elif rendered_sections_audit.get("Claim Interpretation") %}
{{ rendered_sections_audit["Claim Interpretation"] | safe }}
{% else %}

No structured claim specification available.

{% endif %}
{# Computation trace #} {% if rendered_sections_audit.get("Computation Traces") %}
{{ rendered_sections_audit["Computation Traces"] | safe }}
{% endif %}
{# ── Counter-evidence (inspector only) ────────────────────────────────── #} {% set counter_evidence = rendered_sections_md.get("Counter-Evidence Search") or rendered_sections_md.get("What Could Challenge This Verdict?") %} {% if counter_evidence %}
counter-evidence
{{ counter_evidence | safe }}
{% endif %}
{# /main #} {# ── Rail ──────────────────────────────────────────────────────────────── #}
{# /proof-grid #} {# ── Below-grid sections ───────────────────────────────────────────────────── #}
{# References & relationships #} {% macro render_rel_entry(entry) -%}
  • {% if entry.primary_href %}{{ entry.primary_text }}{% else %}{{ entry.primary_text }}{% endif %} {% if entry.secondary %} {%- for id in entry.secondary -%} {% if id.href %}{{ id.type_label }}{{ id.label }}{% else %}{{ id.type_label }}{{ id.label }}{% endif %} {%- endfor -%} {% endif %}
  • {%- endmacro %} {% if builds_on or related_work or cited_by or used_by %}

    references & relationships

    {% if builds_on %}

    Builds on — prior proofs this one depends on

    {% endif %} {% if related_work %}

    Related work — context, sources, supplements

    {% endif %} {% if cited_by %}

    Cited by — external work that references this proof

    {% endif %} {% if used_by %}

    Used by — other proofs on this site that build on this one

    {% endif %}
    {% endif %} {# Audit trail (collapsible, inspector mode) #}

    audit trail · Detailed Evidence

    {# Citation Verification #} {% if citation_summary %}
    Citation Verification {% if not citation_summary.flagged %} {{ citation_summary.total }}/{{ citation_summary.total }} verified {% else %} {{ citation_summary.unflagged }}/{{ citation_summary.total }} unflagged {%- if citation_summary.partial %} · {{ citation_summary.partial }} partial{% endif %} {%- if citation_summary.not_found %} · {{ citation_summary.not_found }} not found{% endif %} {%- if citation_summary.fetch_failed %} · {{ citation_summary.fetch_failed }} fetch failed{% endif %} {% endif %} {% if citation_summary.flagged %} {{ citation_summary.flagged | length }} flagged {% endif %}
    {% if not citation_summary.flagged %}

    All {{ citation_summary.total }} citations verified.

    {% else %}

    {{ citation_summary.unflagged }}/{{ citation_summary.total }} citations unflagged. {{ citation_summary.flagged | length }} flagged for review:

    {% for flag in citation_summary.flagged %}
    {{ flag.id }} {{ flag.status | replace("_", " ") }} {% if flag.url %}{{ flag.source_name | truncate(60) }}{% else %}{{ flag.source_name | truncate(60) }}{% endif %}
      {% for reason in flag.reasons %}
    • {{ reason }}
    • {% endfor %}
    {% endfor %} {% endif %} {% if rendered_sections_audit.get("Citation Verification Details") %}
    Original audit log
    {{ rendered_sections_audit["Citation Verification Details"] | safe }}
    {% endif %}
    {% endif %} {# Fallback: raw citation verification section #} {% if not citation_summary %} {% set cvd = rendered_sections_audit.get("Citation Verification Details") %} {% if cvd %}
    Citation Verification Details
    {{ cvd | safe }}
    {% endif %} {% endif %} {# Claim Specification #} {% if rendered_sections_audit.get("Claim Specification") %}
    Claim Specification
    {{ rendered_sections_audit["Claim Specification"] | safe }}
    {% endif %} {# Claim Interpretation #} {% set claim_interp = rendered_sections_audit.get("Claim Interpretation") or rendered_sections_md.get("Claim Interpretation") %} {% if claim_interp %}
    Claim Interpretation
    {{ claim_interp | safe }}
    {% endif %} {# Source Credibility #} {% if rendered_sections_audit.get("Source Credibility Assessment") %}
    Source Credibility Assessment
    {{ rendered_sections_audit["Source Credibility Assessment"] | safe }}
    {% endif %} {# Computation Traces #} {% if rendered_sections_audit.get("Computation Traces") %}
    Computation Traces
    {{ rendered_sections_audit["Computation Traces"] | safe }}
    {% endif %} {# Independent Source Agreement #} {% set ns3 = namespace(isa_content=None) %} {% for key in rendered_sections_audit %} {% if key == "Independent Source Agreement" or key.startswith("Independent Source Agreement (") %} {% set ns3.isa_content = rendered_sections_audit[key] %} {% endif %} {% endfor %} {% if ns3.isa_content %}
    Independent Source Agreement
    {{ ns3.isa_content | safe }}
    {% endif %} {# Adversarial Checks (audit prose) — only if no structured checks above #} {% if not adv_checks %} {% set ns4 = namespace(adv_content=None) %} {% for key in rendered_sections_audit %} {% if key == "Adversarial Checks" or key.startswith("Adversarial Checks (") %} {% set ns4.adv_content = rendered_sections_audit[key] %} {% endif %} {% endfor %} {% if ns4.adv_content %}
    Adversarial Checks
    {{ ns4.adv_content | safe }}
    {% endif %} {% endif %} {# Quality Checks #} {% set quality_content = rendered_sections_audit.get("Quality Checks") or rendered_sections_audit.get("Hardening Checklist") %} {% if quality_content %}
    Quality Checks
    {{ quality_content | safe }}
    {% endif %} {# Source Data #} {% set source_data_content = rendered_sections_audit.get("Source Data") or rendered_sections_audit.get("Extraction Records") %} {% if source_data_content %}
    Source Data
    {{ source_data_content | safe }}
    {% endif %} {# Evidence Summary #} {% if "Evidence Summary" in rendered_sections_md %}
    Evidence Summary
    {{ rendered_sections_md["Evidence Summary"] | safe }}
    {% endif %} {# Cite this proof #}
    Cite this proof
    {% if citation and citation.doi %}
    DOI: {{ citation.doi }} {% if citation.concept_doi and citation.concept_doi != citation.doi %} · all versions {% endif %}
    {% endif %}
    {{ citation_formats.apa | e }}
    {{ citation_formats.chicago | e }}
    {{ citation_formats.bibtex | e }}
    {{ citation_formats.ris | e }}
    {# Proof source #} {% if proof.proof_py_html %}
    View proof source {{ proof.proof_py_lines | default("?") }} lines · {{ proof.proof_py_size_human | default("") }}

    {% if claim_formal.claim_type == "theorem" %} {% if citation and citation.doi %} This is the exact proof.py that was deposited to Zenodo and runs when you re-execute via Binder. The proof.py is a regression check on the implementation; the verdict above is established by the deductive argument shown earlier on this page, not by re-executing this code. {% else %} This is the proof.py that produced the verdict above. The proof.py is a regression check on the implementation; the verdict above is established by the deductive argument shown earlier on this page, not by re-executing this code. (This proof has not yet been minted to Zenodo; the source here is the working copy from this repository.) {% endif %} {% else %} {% if citation and citation.doi %} 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. {% else %} 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.) {% endif %} {% endif %}

    {{ proof.proof_py_html | safe }}

    ↓ download proof.py {% if citation and citation.doi %} · view on Zenodo (immutable){% endif %}

    {% endif %} {# Rerun section #} {% if citation and citation.binder_url %}
    {% if claim_formal.claim_type == "theorem" %}

    Re-run the regression checks

    Re-running this proof.py exercises the implementation regression checks (sampling, exhaustive small-case verification, etc.) but does NOT re-establish the verdict — that follows from the deductive argument above. The Binder re-run is useful for verifying that the regression code itself still passes.

    {% if citation.doi %}

    Re-run the exact bytes deposited at Zenodo.

    {% else %}

    Re-run from GitHub commit {{ citation.commit_sha[:7] }} — same bytes shown above.

    {% endif %} Run regression checks in Binder runs in your browser · ~60s · no install

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

    {% else %}

    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.

    {% if citation.doi %}

    Re-execute the exact bytes deposited at Zenodo.

    {% else %}

    Re-execute from GitHub commit {{ citation.commit_sha[:7] }} — same bytes shown above.

    {% endif %} 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.

    {% endif %}
    {% endif %} {# Machine-readable formats #}

    machine-readable formats

    Jupyter Notebook {% if claim_formal.claim_type == "theorem" %} re-runs implementation regression checks {% else %} interactive re-verification {% endif %} W3C PROV-JSON provenance trace RO-Crate 1.1 research object package
    Downloads & raw data
    ↓ structured proof report ↓ narrative summary ↓ run the proof (Python) ↓ original audit log view on github raw data (JSON)
    machine-readable formats
    ↓ interactive notebook (.ipynb) ↓ provenance trace (W3C PROV) ↓ research package (RO-Crate 1.1)
    {% if embed %} {% include "proof_embed_panel.html" %} {% endif %}

    found this useful? ★ star on github

    {% endblock %} {% block scripts %} {% endblock %}