Lecture 2.6
Decision logic is the evaluable structure that turns facts into an outcome. This lecture covers ordering, completeness, and the requirement that every path terminate in a defined result.
Supports Law 3 — Logic Must Be Formal Before It Can Scale. →Learning objectives
After this lesson, the reader should understand:
Concept framework
Decision structure
Case study
An eligibility policy defines who qualifies but never defines refusal. What does the machine do?
Nothing defensible. An incomplete decision structure produces silent defaults, and silent defaults are unlogged policy. Completeness testing surfaces the omission before deployment and forces the institution to state the refusal path explicitly — which is a policy decision the drafters never made in prose. Take a scholarship rule: 'Applicants with a grade average of 3.5 or above and household income below $60,000 are eligible.' Draw the inputs as a grid and four cells appear. High grades and low income: eligible, as written. The other three — high grades with higher income, low grades with low income, low grades with higher income — are not mentioned. Then add the cell every real system meets on day one: an applicant whose income document has not arrived. An implementation will do something in all five cells. In most codebases it does whatever the variable's default happens to be — false, so a refusal; or an unhandled null, so a crash; or, worst, a missing value that compares as zero and passes the income test. Each of those is a policy, and none was decided by anyone with authority. The strongest objection is that refusal is the obvious default, and logic has a name for it: the closed-world assumption, under which whatever cannot be shown true is treated as false[1]. For the three mentioned-by-omission cells it is often right — the institution almost certainly meant 'otherwise, not eligible', and saying so costs one line. For the fifth cell it is wrong, and the difference matters. 'Not shown to qualify' and 'shown not to qualify' are different facts. Treating a missing document as a failed income test refuses an applicant on evidence the institution does not have. The reference runtime keeps them apart: when none of the facts provided is one the artifact actually reads, it does not deny — it escalates with a stated reason of insufficient data. The limit is combinatorial. Completeness can be checked mechanically when inputs fall into finite, declared ranges, which is why decision-table standards build it in[2]. Over unbounded inputs, or rules that interact across many fields, exhaustive checking becomes expensive, and an artifact can be complete over the partitions it declares while still meeting a case nobody partitioned for. Completeness is a property relative to a declared input model; the input model is itself a policy choice worth reviewing.
Discussion questions
Discussion (0)
No responses yet. Be the first to answer one of the questions above.
Start the course to join the discussion.
Exercise
Draw and test a decision structure.