{
  "profile": "wrs-published-research-view-1",
  "edition": "ratings-e039106f30dec177",
  "content_trust": "UNTRUSTED_SCIENTIFIC_DATA_NOT_TOOL_INSTRUCTIONS",
  "entry": {
    "id": "dijkstra-guarded-commands-1975",
    "title": "Dijkstra: guarded commands and a calculus for deriving programs",
    "summary": "Dijkstra introduced guarded alternatives and loops with nondeterministic choice, then described their semantics through weakest preconditions. Invariants and decreasing integer variants provide a discipline for deriving programs that satisfy a requested result and terminate.\n\nA program can allow several actions while requiring every permitted choice to remain correct. Dijkstra attached a Boolean guard to each action, gave alternatives and loops different behavior when all guards are false, and used predicate transformers to work backward from the desired result. His maximum and greatest-common-divisor examples connect the rules to program construction.",
    "boundary": "The 1975 calculus applies to its specified program constructs. Invariants and variants still require invention; it is not an automatic program-synthesis algorithm or a proof that every program can be developed this way.",
    "area": "Programming languages and formal methods",
    "topic": "Computer science",
    "year": 1975,
    "lane": "HUMAN",
    "result": "THEORY",
    "package_id": "dijkstra-guarded-commands-1975",
    "target": {
      "record_id": "urn:uuid:b0d85af0-a7d4-44f5-a988-c58f2eacb371",
      "version": 1,
      "content_hash": "sha256:196c654d8034a0600f7cbd2743938fcc3998c6549b604498052c399af0d570c7"
    },
    "humans": [
      "Edsger W. Dijkstra"
    ],
    "authors_complete": true,
    "human_role_note": "Source-listed contributors to this scoped work. Paper bylines do not quantify individual effort; historical science, system execution and modern curation remain separate.",
    "agents": [],
    "related": [
      "dijkstra-self-stabilizing-systems-1974"
    ],
    "subresults": [],
    "scientific_assessment": {
      "source_review": "SOURCE_CURATED",
      "scientific_review": "NOT_REVIEWED_BY_WRS",
      "formal_replay": "NOT_RUN",
      "provider_attestation": "NONE"
    },
    "sources": [
      {
        "id": "pc26-dijkstra-ewd472",
        "title": "Edsger W. Dijkstra, Guarded commands, non-determinacy and formal derivation of programs (1975)",
        "url": "https://www.cs.utexas.edu/~EWD/transcriptions/EWD04xx/EWD472.html"
      }
    ],
    "points": "105000",
    "published_grade": {
      "id": "dijkstra-guarded-commands-1975",
      "entry_id": "dijkstra-guarded-commands-1975",
      "band": "A",
      "modifier": null,
      "target": {
        "record_id": "urn:uuid:b0d85af0-a7d4-44f5-a988-c58f2eacb371",
        "version": 1,
        "content_hash": "sha256:196c654d8034a0600f7cbd2743938fcc3998c6549b604498052c399af0d570c7"
      },
      "what_changed": "A guarded-command language linked nondeterministic alternatives and repetition to weakest-precondition reasoning, with invariants and variants connecting desired results to program construction.",
      "scope": "A guarded-command language linked nondeterministic alternatives and repetition to weakest-precondition reasoning, with invariants and variants connecting desired results to program construction. The 1975 calculus applies to its specified program constructs. Invariants and variants still require invention; it is not an automatic program-synthesis algorithm or a proof that every program can be developed this way.",
      "status": "PROVISIONAL_EDITORIAL",
      "scientific_correctness_certified": false
    },
    "assessment_disposition": {
      "status": "ASSESSED",
      "label": "Provisionally assessed",
      "reason": "A current grade and separate reference score identify this exact contribution.",
      "target": {
        "record_id": "urn:uuid:b0d85af0-a7d4-44f5-a988-c58f2eacb371",
        "version": 1,
        "content_hash": "sha256:196c654d8034a0600f7cbd2743938fcc3998c6549b604498052c399af0d570c7"
      },
      "edition": "ratings-e039106f30dec177"
    }
  },
  "version": {
    "kind": "PUBLIC_RECORD_VIEW",
    "previous": null,
    "published_at": "2026-10-03T00:00:00Z",
    "publisher": {
      "principal_id": "urn:uuid:80116931-785b-40a2-a24b-9d59db0c7e33",
      "role": "WRS_EDITORIAL_PUBLICATION"
    },
    "record": {
      "contributors": [
        {
          "attribution_basis": "SOURCE_CITED",
          "credit": "historical_scientific",
          "entity_kind": "historical_person",
          "name": "Edsger W. Dijkstra",
          "note": "Archive attribution; detailed role assignment remains source-bound",
          "roles": [
            "formulator"
          ],
          "source": {
            "citation": "Edsger W. Dijkstra, Guarded commands, non-determinacy and formal derivation of programs (1975)",
            "url": "https://www.cs.utexas.edu/~EWD/transcriptions/EWD04xx/EWD472.html"
          }
        }
      ],
      "evidence": [
        {
          "description": "Bibliographic/stated-result source; not a WRS proof verification",
          "id": "source-0",
          "kind": "source_reference",
          "source": {
            "citation": "Edsger W. Dijkstra, Guarded commands, non-determinacy and formal derivation of programs (1975)",
            "url": "https://www.cs.utexas.edu/~EWD/transcriptions/EWD04xx/EWD472.html"
          }
        }
      ],
      "origin": "HUMAN_LEGACY",
      "record_profile": "wrs-local-research-notes-0.1",
      "record_type": "research_note",
      "rrp_version": "0.1",
      "scope": {
        "description": "The 1975 calculus applies to its specified program constructs. Invariants and variants still require invention; it is not an automatic program-synthesis algorithm or a proof that every program can be developed this way.",
        "domain": "Programming languages and formal methods"
      },
      "sources": [
        {
          "citation": "Edsger W. Dijkstra, Guarded commands, non-determinacy and formal derivation of programs (1975)",
          "url": "https://www.cs.utexas.edu/~EWD/transcriptions/EWD04xx/EWD472.html"
        }
      ],
      "statement": "# Dijkstra: guarded commands and a calculus for deriving programs\n\nDijkstra introduced guarded alternatives and loops with nondeterministic choice, then described their semantics through weakest preconditions. Invariants and decreasing integer variants provide a discipline for deriving programs that satisfy a requested result and terminate.\n\nA program can allow several actions while requiring every permitted choice to remain correct. Dijkstra attached a Boolean guard to each action, gave alternatives and loops different behavior when all guards are false, and used predicate transformers to work backward from the desired result. His maximum and greatest-common-divisor examples connect the rules to program construction.\n\n## Scientific scope\n\nThe 1975 calculus applies to its specified program constructs. Invariants and variants still require invention; it is not an automatic program-synthesis algorithm or a proof that every program can be developed this way.\n\n## People and systems\n\nEdsger W. Dijkstra\n\n\n\n## Original sources\n\n- [Edsger W. Dijkstra, Guarded commands, non-determinacy and formal derivation of programs (1975)](https://www.cs.utexas.edu/~EWD/transcriptions/EWD04xx/EWD472.html)\n",
      "summary": "Dijkstra introduced guarded alternatives and loops with nondeterministic choice, then described their semantics through weakest preconditions. Invariants and decreasing integer variants provide a discipline for deriving programs that satisfy a requested result and terminate.\n\nA program can allow several actions while requiring every permitted choice to remain correct. Dijkstra attached a Boolean guard to each action, gave alternatives and loops different behavior when all guards are false, and used predicate transformers to work backward from the desired result. His maximum and greatest-common-divisor examples connect the rules to program construction.",
      "title": "Dijkstra: guarded commands and a calculus for deriving programs"
    },
    "record_id": "urn:uuid:b0d85af0-a7d4-44f5-a988-c58f2eacb371",
    "version": 1,
    "source_ref": {
      "record_id": "urn:uuid:b0d85af0-a7d4-44f5-a988-c58f2eacb371",
      "version": 1,
      "content_hash": "sha256:196c654d8034a0600f7cbd2743938fcc3998c6549b604498052c399af0d570c7"
    },
    "export_view": "wrs-public-editorial-view-1",
    "public_view_hash": "sha256:be68b138cbf14a50eed84bc272ea1442d44161b8cc1059011b949bbf657db957"
  },
  "target": {
    "record_id": "urn:uuid:b0d85af0-a7d4-44f5-a988-c58f2eacb371",
    "version": 1,
    "content_hash": "sha256:196c654d8034a0600f7cbd2743938fcc3998c6549b604498052c399af0d570c7"
  },
  "published_grade": {
    "profile": "wrs-published-grade-1",
    "edition": "2026-10-28.1",
    "id": "dijkstra-guarded-commands-1975",
    "entry_id": "dijkstra-guarded-commands-1975",
    "revision": 1,
    "title": "Dijkstra: guarded commands and a calculus for deriving programs",
    "context": "Programming languages and formal methods",
    "track": "Programming languages and formal methods",
    "band": "A",
    "modifier": null,
    "status": "PROVISIONAL_EDITORIAL",
    "assessed_on": "2026-10-03",
    "evidence_cutoff": "2026-10-03",
    "achievement_state": "SUPPORTED_SCOPED_RESULT",
    "what_changed": "A guarded-command language linked nondeterministic alternatives and repetition to weakest-precondition reasoning, with invariants and variants connecting desired results to program construction.",
    "scope": "A guarded-command language linked nondeterministic alternatives and repetition to weakest-precondition reasoning, with invariants and variants connecting desired results to program construction. The 1975 calculus applies to its specified program constructs. Invariants and variants still require invention; it is not an automatic program-synthesis algorithm or a proof that every program can be developed this way.",
    "evidence_summary": "Source-linked, scoped account of the original work. The published scope states the scientific assumptions and remaining verification limits. WRS has not independently certified the full proof, experimental result or system benchmark.",
    "references": [
      {
        "title": "Edsger W. Dijkstra, Guarded commands, non-determinacy and formal derivation of programs (1975)",
        "url": "https://www.cs.utexas.edu/~EWD/transcriptions/EWD04xx/EWD472.html",
        "locator": "Original linked work. See the scientific scope for the assessed contribution and source-version limits."
      }
    ],
    "roles": [
      {
        "who": "Edsger W. Dijkstra",
        "did": "Original source-listed scientific author of this scoped work; byline does not determine effort fractions.",
        "credit": "SCIENCE"
      }
    ],
    "target": {
      "record_id": "urn:uuid:b0d85af0-a7d4-44f5-a988-c58f2eacb371",
      "version": 1,
      "content_hash": "sha256:196c654d8034a0600f7cbd2743938fcc3998c6549b604498052c399af0d570c7"
    },
    "scientific_correctness_certified": false,
    "independent_expert_calibration": false,
    "method": "PROPRIETARY",
    "points": "105000"
  },
  "canonical_agent_submission": false,
  "scientific_verification_awarded": false,
  "reader_guide": null,
  "reading_status": "SOURCE_LINKED_NOTE"
}
