{
  "format_version": 1,
  "certificate_type": "algebraic",
  "status": "verified_unsat",
  "detail": "full",
  "origin_class": "derived",
  "self_contained": true,
  "policy": { "file": "policy.co", "sha256": "470bfaea5ca9297edde3c6f9dd1287ac090b0db94091edd9bf067c4d63c22ec5", "parse_diagnostics": 0, "unroll_depth": [] },
  "question": { "action": "respond with permitted pension answer", "obligation_context": "is_pension_transfer_specialist", "pins": [{ "name": "respond with permitted pension answer", "variable": 19, "value": 1, "source": "action" }, { "name": "is_pension_transfer_specialist", "variable": 7, "value": 0, "source": "obligation" }, { "name": "has_safeguarded_benefits", "variable": 5, "value": 1, "source": "conditioning" }, { "name": "transfer_value_over_30k", "variable": 6, "value": 1, "source": "conditioning" }] },
  "variables": {
    "x0": { "kind": "intent", "name": "ask pension transfer advice", "colang": { "file": "policy.co", "line": 128 } },
    "x1": { "kind": "context", "name": "is_factual_information_only", "colang": { "file": "policy.co", "line": 209, "flow": "investment specific product" } },
    "x2": { "kind": "context", "name": "personal_recommendation", "colang": { "file": "policy.co", "line": 209, "flow": "investment specific product" } },
    "x3": { "kind": "context", "name": "has_advising_permission", "colang": { "file": "policy.co", "line": 219, "flow": "investment specific product" } },
    "x4": { "kind": "context", "name": "suitability_assessment_done", "colang": { "file": "policy.co", "line": 229, "flow": "investment specific product" } },
    "x5": { "kind": "context", "name": "has_safeguarded_benefits", "colang": { "file": "policy.co", "line": 378, "flow": "pension transfer gate" } },
    "x6": { "kind": "context", "name": "transfer_value_over_30k", "colang": { "file": "policy.co", "line": 379, "flow": "pension transfer gate" } },
    "x8": { "kind": "gate", "subkind": "quadratic-split", "colang": { "file": "policy.co", "line": 379, "flow": "pension transfer gate" }, "definition": "x8 + x6*x20 = 0", "named_definition": "x8 + $transfer_value_over_30k*aux_20 = 0", "derived_from": ["x20", "x6"], "introduced_because": "Both inputs of an XOR were AND gates, which would have put two quadratic terms in one equation; the first was split into its own variable to keep exactly one." },
    "x9": { "kind": "gate", "colang": { "file": "policy.co", "line": 385, "flow": "pension transfer gate" }, "definition": "x9 + x2*x20 + x8 = 0", "named_definition": "x9 + $personal_recommendation*aux_20 + x8 = 0", "derived_from": ["x2", "x8", "x20"] },
    "x10": { "kind": "gate", "colang": { "file": "policy.co", "line": 385, "flow": "pension transfer gate" }, "definition": "x10 + x8*x21 + x9 = 0", "named_definition": "x10 + x8*aux_21 + x9 = 0", "derived_from": ["x8", "x9", "x21"] },
    "x11": { "kind": "gate", "colang": { "file": "policy.co", "line": 389, "flow": "pension transfer gate" }, "definition": "x11 + x10 + x20*x22 = 0", "named_definition": "x11 + x10 + aux_20*aux_22 = 0", "derived_from": ["x10", "x20", "x22"] },
    "x12": { "kind": "gate", "colang": { "file": "policy.co", "line": 389, "flow": "pension transfer gate" }, "definition": "x12 + x10*x23 + x11 = 0", "named_definition": "x12 + x10*aux_23 + x11 = 0", "derived_from": ["x10", "x11", "x23"] },
    "x13": { "kind": "gate", "colang": { "file": "policy.co", "line": 393, "flow": "pension transfer gate" }, "definition": "x13 + x12 + x20*x24 = 0", "named_definition": "x13 + x12 + aux_20*aux_24 = 0", "derived_from": ["x12", "x20", "x24"] },
    "x14": { "kind": "gate", "colang": { "file": "policy.co", "line": 393, "flow": "pension transfer gate" }, "definition": "x14 + x12*x25 + x13 = 0", "named_definition": "x14 + x12*aux_25 + x13 = 0", "derived_from": ["x12", "x13", "x25"] },
    "x15": { "kind": "gate", "colang": { "file": "policy.co", "line": 396, "flow": "pension transfer gate" }, "definition": "x15 + x0*x5 + x14 = 0", "named_definition": "x15 + ask pension transfer advice*$has_safeguarded_benefits + x14 = 0", "derived_from": ["x0", "x5", "x14"] },
    "x16": { "kind": "gate", "colang": { "file": "policy.co", "line": 396, "flow": "pension transfer gate" }, "definition": "x16 + x14*x20 + x15 = 0", "named_definition": "x16 + x14*aux_20 + x15 = 0", "derived_from": ["x14", "x15", "x20"] },
    "x17": { "kind": "gate", "colang": { "file": "policy.co", "line": 400, "flow": "pension transfer gate" }, "definition": "x17 + x0*x26 + x16 = 0", "named_definition": "x17 + ask pension transfer advice*aux_26 + x16 = 0", "derived_from": ["x0", "x16", "x26"] },
    "x18": { "kind": "gate", "colang": { "file": "policy.co", "line": 400, "flow": "pension transfer gate" }, "definition": "x18 + x16*x27 + x17 = 0", "named_definition": "x18 + x16*aux_27 + x17 = 0", "derived_from": ["x16", "x17", "x27"] },
    "x19": { "kind": "action", "subkind": "forced-materialisation", "name": "respond with permitted pension answer", "colang": { "file": "policy.co", "line": 402, "flow": "pension transfer gate" }, "definition": "x19 + x0 + x0*x18 = 0", "named_definition": "respond with permitted pension answer + ask pension transfer advice + ask pension transfer advice*x18 = 0", "derived_from": ["x0", "x18"], "introduced_because": "This wire is protected or pinned, so it could not be absorbed into the equation that uses it; it stayed an explicit variable with a defining equation of its own." },
    "x20": { "kind": "aux", "subkind": "degree3-materialisation", "definition": "x20 + x0*x5 = 0", "named_definition": "aux_20 + ask pension transfer advice*$has_safeguarded_benefits = 0", "derived_from": ["x0", "x5"], "introduced_because": "An AND gate fed another AND gate, which would have made the equation cubic; the inner one was given its own variable to keep the system quasilinear." },
    "x21": { "kind": "aux", "subkind": "degree3-materialisation", "definition": "x21 + x2*x20 = 0", "named_definition": "aux_21 + $personal_recommendation*aux_20 = 0", "derived_from": ["x20", "x2"], "introduced_because": "An AND gate fed another AND gate, which would have made the equation cubic; the inner one was given its own variable to keep the system quasilinear." },
    "x22": { "kind": "aux", "subkind": "degree3-materialisation", "definition": "x22 + x2 + x2*x4 = 0", "named_definition": "aux_22 + $personal_recommendation + $personal_recommendation*$suitability_assessment_done = 0", "derived_from": ["x2", "x4"], "introduced_because": "An AND gate fed another AND gate, which would have made the equation cubic; the inner one was given its own variable to keep the system quasilinear." },
    "x23": { "kind": "aux", "subkind": "degree3-materialisation", "definition": "x23 + x20*x22 = 0", "named_definition": "aux_23 + aux_20*aux_22 = 0", "derived_from": ["x20", "x22"], "introduced_because": "An AND gate fed another AND gate, which would have made the equation cubic; the inner one was given its own variable to keep the system quasilinear." },
    "x24": { "kind": "aux", "subkind": "degree3-materialisation", "definition": "x24 + x1 + x1*x2 = 0", "named_definition": "aux_24 + $is_factual_information_only + $is_factual_information_only*$personal_recommendation = 0", "derived_from": ["x1", "x2"], "introduced_because": "An AND gate fed another AND gate, which would have made the equation cubic; the inner one was given its own variable to keep the system quasilinear." },
    "x25": { "kind": "aux", "subkind": "degree3-materialisation", "definition": "x25 + x20*x24 = 0", "named_definition": "aux_25 + aux_20*aux_24 = 0", "derived_from": ["x20", "x24"], "introduced_because": "An AND gate fed another AND gate, which would have made the equation cubic; the inner one was given its own variable to keep the system quasilinear." },
    "x26": { "kind": "aux", "subkind": "degree3-materialisation", "definition": "x26 + x2 + x2*x3 = 0", "named_definition": "aux_26 + $personal_recommendation + $personal_recommendation*$has_advising_permission = 0", "derived_from": ["x2", "x3"], "introduced_because": "An AND gate fed another AND gate, which would have made the equation cubic; the inner one was given its own variable to keep the system quasilinear." },
    "x27": { "kind": "aux", "subkind": "degree3-materialisation", "definition": "x27 + x0*x26 = 0", "named_definition": "aux_27 + ask pension transfer advice*aux_26 = 0", "derived_from": ["x0", "x26"], "introduced_because": "An AND gate fed another AND gate, which would have made the equation cubic; the inner one was given its own variable to keep the system quasilinear." },
    "x33": { "kind": "aux", "subkind": "expandability-padding", "definition": "x33 + x15 + x16 + x17 = 0", "named_definition": "aux_33 + x15 + x16 + x17 = 0", "derived_from": ["x15", "x16", "x17"], "introduced_because": "Padding introduced by the compiler so that every variable appears in the linear set, which the solver requires. It stands for nothing in the policy." },
    "x34": { "kind": "aux", "subkind": "expandability-padding", "definition": "x34 + x18 + x19 + x20 = 0", "named_definition": "aux_34 + x18 + respond with permitted pension answer + aux_20 = 0", "derived_from": ["x18", "x19", "x20"], "introduced_because": "Padding introduced by the compiler so that every variable appears in the linear set, which the solver requires. It stands for nothing in the policy." }
  },
  "steps_to_contradiction": 100,
  "operations": [
    { "id": 7, "op": "INSERT", "source": "original-S2", "equation": "x34 + x20 + x19 + x18 = 0", "named_equation": "aux_34 + aux_20 + respond with permitted pension answer + x18 = 0", "origin": "expandability-padding", "pivot": 35 },
    { "id": 261, "op": "MULTIPLY", "base_id": 7, "multiplier": "x14", "pivot": 485 },
    { "id": 33, "op": "INSERT", "source": "original-S1", "equation": "x14*x20 + x16 + x15 = 0", "named_equation": "x14*aux_20 + x16 + x15 = 0", "colang": { "file": "policy.co", "line": 396, "flow": "pension transfer gate" }, "pivot": 471 },
    { "id": 720, "op": "ADD", "parents": [261, 33] },
    { "id": 14, "op": "INSERT", "source": "original-S2", "equation": "x19 = 1", "named_equation": "respond with permitted pension answer = 1", "reads_as": "respond with permitted pension answer holds", "pin": { "name": "respond with permitted pension answer", "value": 1 }, "pivot": 20 },
    { "id": 459, "op": "MULTIPLY", "base_id": 14, "multiplier": "x14", "pivot": 470 },
    { "id": 721, "op": "ADD", "parents": [720, 459] },
    { "id": 247, "op": "MULTIPLY", "base_id": 7, "multiplier": "x0", "pivot": 72 },
    { "id": 15, "op": "INSERT", "source": "original-S1", "equation": "x0*x5 + x20 = 0", "named_equation": "ask pension transfer advice*$has_safeguarded_benefits + aux_20 = 0", "pivot": 43 },
    { "id": 697, "op": "ADD", "parents": [247, 15] },
    { "id": 39, "op": "INSERT", "source": "original-S1", "equation": "x0*x18 + x19 + x0 = 0", "named_equation": "ask pension transfer advice*x18 + respond with permitted pension answer + ask pension transfer advice = 0", "colang": { "file": "policy.co", "line": 402, "flow": "pension transfer gate" }, "pivot": 56 },
    { "id": 698, "op": "ADD", "parents": [697, 39] },
    { "id": 448, "op": "MULTIPLY", "base_id": 14, "multiplier": "x0", "pivot": 57 },
    { "id": 699, "op": "ADD", "parents": [698, 448] },
    { "id": 472, "op": "MULTIPLY", "base_id": 15, "multiplier": "x0", "pivot": 58 },
    { "id": 700, "op": "ADD", "parents": [699, 472] },
    { "id": 701, "op": "MULTIPLY", "base_id": 700, "multiplier": "x34" },
    { "id": 267, "op": "MULTIPLY", "base_id": 7, "multiplier": "x20", "pivot": 602 },
    { "id": 702, "op": "ADD", "parents": [701, 267] },
    { "id": 266, "op": "MULTIPLY", "base_id": 7, "multiplier": "x19", "pivot": 585 },
    { "id": 703, "op": "ADD", "parents": [702, 266] },
    { "id": 31, "op": "INSERT", "source": "original-S1", "equation": "x0*x5 + x15 + x14 = 0", "named_equation": "ask pension transfer advice*$has_safeguarded_benefits + x15 + x14 = 0", "colang": { "file": "policy.co", "line": 396, "flow": "pension transfer gate" } },
    { "id": 32, "op": "ADD", "parents": [31, 15], "pivot": 21 },
    { "id": 595, "op": "MULTIPLY", "base_id": 32, "multiplier": "x18", "pivot": 553 },
    { "id": 704, "op": "ADD", "parents": [703, 595] },
    { "id": 463, "op": "MULTIPLY", "base_id": 14, "multiplier": "x18", "pivot": 552 },
    { "id": 705, "op": "ADD", "parents": [704, 463] },
    { "id": 6, "op": "INSERT", "source": "original-S2", "equation": "x33 + x17 + x16 + x15 = 0", "named_equation": "aux_33 + x17 + x16 + x15 = 0", "origin": "expandability-padding", "pivot": 34 },
    { "id": 231, "op": "MULTIPLY", "base_id": 6, "multiplier": "x16", "pivot": 527 },
    { "id": 685, "op": "ADD", "parents": [231, 33] },
    { "id": 602, "op": "MULTIPLY", "base_id": 33, "multiplier": "x14" },
    { "id": 603, "op": "ADD", "parents": [602, 33], "pivot": 467 },
    { "id": 686, "op": "ADD", "parents": [685, 603] },
    { "id": 604, "op": "MULTIPLY", "base_id": 33, "multiplier": "x20" },
    { "id": 593, "op": "MULTIPLY", "base_id": 32, "multiplier": "x16", "pivot": 514 },
    { "id": 605, "op": "ADD", "parents": [604, 593] },
    { "id": 592, "op": "MULTIPLY", "base_id": 32, "multiplier": "x15", "pivot": 493 },
    { "id": 606, "op": "ADD", "parents": [605, 592], "pivot": 489 },
    { "id": 687, "op": "ADD", "parents": [686, 606] },
    { "id": 36, "op": "INSERT", "source": "original-S1", "equation": "x0*x26 + x27 = 0", "named_equation": "ask pension transfer advice*aux_26 + aux_27 = 0" },
    { "id": 35, "op": "INSERT", "source": "original-S1", "equation": "x0*x26 + x17 + x16 = 0", "named_equation": "ask pension transfer advice*aux_26 + x17 + x16 = 0", "colang": { "file": "policy.co", "line": 400, "flow": "pension transfer gate" }, "pivot": 64 },
    { "id": 37, "op": "ADD", "parents": [36, 35], "pivot": 28 },
    { "id": 625, "op": "MULTIPLY", "base_id": 37, "multiplier": "x16" },
    { "id": 38, "op": "INSERT", "source": "original-S1", "equation": "x16*x27 + x18 + x17 = 0", "named_equation": "x16*aux_27 + x18 + x17 = 0", "colang": { "file": "policy.co", "line": 400, "flow": "pension transfer gate" }, "pivot": 521 },
    { "id": 626, "op": "ADD", "parents": [625, 38], "pivot": 511 },
    { "id": 688, "op": "ADD", "parents": [687, 626] },
    { "id": 689, "op": "MULTIPLY", "base_id": 688, "multiplier": "x33" },
    { "id": 233, "op": "MULTIPLY", "base_id": 6, "multiplier": "x18", "pivot": 566 },
    { "id": 690, "op": "ADD", "parents": [689, 233] },
    { "id": 232, "op": "MULTIPLY", "base_id": 6, "multiplier": "x17", "pivot": 547 },
    { "id": 691, "op": "ADD", "parents": [690, 232] },
    { "id": 634, "op": "MULTIPLY", "base_id": 38, "multiplier": "x27" },
    { "id": 628, "op": "MULTIPLY", "base_id": 37, "multiplier": "x18", "pivot": 560 },
    { "id": 635, "op": "ADD", "parents": [634, 628] },
    { "id": 627, "op": "MULTIPLY", "base_id": 37, "multiplier": "x17", "pivot": 541 },
    { "id": 636, "op": "ADD", "parents": [635, 627], "pivot": 532 },
    { "id": 692, "op": "ADD", "parents": [691, 636] },
    { "id": 693, "op": "ADD", "parents": [692, 231] },
    { "id": 694, "op": "ADD", "parents": [693, 38] },
    { "id": 695, "op": "ADD", "parents": [694, 626] },
    { "id": 230, "op": "MULTIPLY", "base_id": 6, "multiplier": "x15", "pivot": 506 },
    { "id": 696, "op": "ADD", "parents": [695, 230], "pivot": 491 },
    { "id": 706, "op": "ADD", "parents": [705, 696], "pivot": 469 },
    { "id": 722, "op": "ADD", "parents": [721, 706] },
    { "id": 723, "op": "MULTIPLY", "base_id": 722, "multiplier": "x34" },
    { "id": 724, "op": "ADD", "parents": [723, 267] },
    { "id": 725, "op": "ADD", "parents": [724, 266] },
    { "id": 265, "op": "MULTIPLY", "base_id": 7, "multiplier": "x18", "pivot": 567 },
    { "id": 726, "op": "ADD", "parents": [725, 265] },
    { "id": 263, "op": "MULTIPLY", "base_id": 7, "multiplier": "x16", "pivot": 528 },
    { "id": 727, "op": "ADD", "parents": [726, 263] },
    { "id": 728, "op": "ADD", "parents": [727, 593] },
    { "id": 461, "op": "MULTIPLY", "base_id": 14, "multiplier": "x16", "pivot": 513 },
    { "id": 729, "op": "ADD", "parents": [728, 461] },
    { "id": 632, "op": "MULTIPLY", "base_id": 38, "multiplier": "x16" },
    { "id": 633, "op": "ADD", "parents": [632, 38], "pivot": 512 },
    { "id": 730, "op": "ADD", "parents": [729, 633] },
    { "id": 731, "op": "ADD", "parents": [730, 626] },
    { "id": 732, "op": "ADD", "parents": [731, 606] },
    { "id": 733, "op": "ADD", "parents": [732, 33] },
    { "id": 590, "op": "MULTIPLY", "base_id": 32, "multiplier": "x14" },
    { "id": 591, "op": "ADD", "parents": [590, 33], "pivot": 466 },
    { "id": 734, "op": "ADD", "parents": [733, 591] },
    { "id": 735, "op": "ADD", "parents": [734, 247] },
    { "id": 736, "op": "ADD", "parents": [735, 472] },
    { "id": 737, "op": "ADD", "parents": [736, 448] },
    { "id": 738, "op": "ADD", "parents": [737, 39] },
    { "id": 739, "op": "ADD", "parents": [738, 15] },
    { "id": 641, "op": "MULTIPLY", "base_id": 39, "multiplier": "x18" },
    { "id": 642, "op": "ADD", "parents": [641, 463], "pivot": 19 },
    { "id": 740, "op": "ADD", "parents": [739, 642] },
    { "id": 11, "op": "INSERT", "source": "original-S2", "equation": "x5 = 1", "named_equation": "$has_safeguarded_benefits = 1", "reads_as": "$has_safeguarded_benefits holds", "pin": { "name": "has_safeguarded_benefits", "value": 1 }, "pivot": 6 },
    { "id": 365, "op": "MULTIPLY", "base_id": 11, "multiplier": "x0" },
    { "id": 366, "op": "ADD", "parents": [365, 15] },
    { "id": 367, "op": "ADD", "parents": [366, 32], "pivot": 16 },
    { "id": 741, "op": "ADD", "parents": [740, 367] },
    { "id": 637, "op": "MULTIPLY", "base_id": 39, "multiplier": "x0" },
    { "id": 638, "op": "ADD", "parents": [637, 448] },
    { "id": 639, "op": "ADD", "parents": [638, 39] },
    { "id": 640, "op": "ADD", "parents": [639, 14], "pivot": 1 }
  ],
  "final_step": { "op": "ADD", "inputs": [741, 640], "instruction": "Compute the linear combination of the final inputs to derive 0 = 1." },
  "provenance": { "declared": false, "controls": {}, "undeclared": ["x1", "x2", "x3", "x4", "x5", "x6"], "limits": ["The declaration may be false: nothing here verifies that the system named as asserting a control is that system. It is bounded by custody, not proof: the source manifest is a reviewed artefact bound to a policy digest and carried on this certificate with its own hash, so a false declaration is a signed and attributable statement rather than an assumption.", "A resolver may launder an argument into a reading: returning a value taken from the model's arguments is the one thing a resolver cannot be checked for in general. It is bounded by the argument-invariance conformance test, which mutates the arguments with the systems of record held fixed and requires the readings not to move. That is a test and not a proof, and a resolver that passes it may still launder on an input the mutation did not reach.", "Detection is bounded, not proved: a detection-dependent obligation's bound is a union over rates measured on a stated corpus. A corpus unrepresentative of the traffic gives a number that is arithmetically correct and practically wrong, which is why the corpus, its size and the date it was measured travel with the bound."] },
  "control_integrity": { "checked": true, "clean": true, "findings": [] },
  "detection": { "computed": true, "dependent": false, "atoms": [], "bound": null, "uncalibrated": [] }
}