{
  "certificate": {
    "certificate_type": "algebraic",
    "control_integrity": {
      "checked": true,
      "clean": true,
      "findings": []
    },
    "detail": "full",
    "detection": {
      "atoms": [],
      "bound": null,
      "computed": true,
      "dependent": false,
      "uncalibrated": []
    },
    "final_step": {
      "inputs": [
        3353,
        3198
      ],
      "instruction": "Compute the linear combination of the final inputs to derive 0 = 1.",
      "op": "ADD"
    },
    "format_version": 1,
    "operations": [
      {
        "colang": {
          "file": "policy.co",
          "flow": "investment generic advice",
          "line": 255
        },
        "equation": "x51 = 1",
        "id": 9,
        "named_equation": "x51 = 1",
        "op": "INSERT",
        "pivot": 52,
        "reads_as": "x51 holds",
        "source": "original-S2"
      },
      {
        "base_id": 9,
        "id": 757,
        "multiplier": "x0",
        "op": "MULTIPLY"
      },
      {
        "colang": {
          "file": "policy.co",
          "flow": "investment generic advice",
          "line": 257
        },
        "equation": "x0*x51 + x52 + x50 = 0",
        "id": 71,
        "named_equation": "ask investment advice*x51 + x52 + x50 = 0",
        "op": "INSERT",
        "pivot": 140,
        "source": "original-S1"
      },
      {
        "id": 758,
        "op": "ADD",
        "parents": [
          757,
          71
        ],
        "pivot": 53
      },
      {
        "base_id": 758,
        "id": 2870,
        "multiplier": "x53",
        "op": "MULTIPLY"
      },
      {
        "colang": {
          "file": "policy.co",
          "flow": "investment generic advice",
          "line": 257
        },
        "equation": "x50*x70 + x53 + x52 = 0",
        "id": 74,
        "named_equation": "x50*aux_70 + x53 + x52 = 0",
        "op": "INSERT",
        "pivot": 3284,
        "source": "original-S1"
      },
      {
        "base_id": 74,
        "id": 2713,
        "multiplier": "x70",
        "op": "MULTIPLY"
      },
      {
        "equation": "x0*x51 + x70 = 0",
        "id": 72,
        "named_equation": "ask investment advice*x51 + aux_70 = 0",
        "op": "INSERT",
        "source": "original-S1"
      },
      {
        "id": 73,
        "op": "ADD",
        "parents": [
          72,
          71
        ],
        "pivot": 71
      },
      {
        "base_id": 73,
        "id": 2700,
        "multiplier": "x53",
        "op": "MULTIPLY",
        "pivot": 3392
      },
      {
        "id": 2714,
        "op": "ADD",
        "parents": [
          2713,
          2700
        ]
      },
      {
        "base_id": 73,
        "id": 2699,
        "multiplier": "x52",
        "op": "MULTIPLY",
        "pivot": 3357
      },
      {
        "id": 2715,
        "op": "ADD",
        "parents": [
          2714,
          2699
        ],
        "pivot": 3340
      },
      {
        "id": 2871,
        "op": "ADD",
        "parents": [
          2870,
          2715
        ]
      },
      {
        "id": 2872,
        "op": "ADD",
        "parents": [
          2871,
          74
        ]
      },
      {
        "base_id": 73,
        "id": 2697,
        "multiplier": "x50",
        "op": "MULTIPLY"
      },
      {
        "id": 2698,
        "op": "ADD",
        "parents": [
          2697,
          74
        ],
        "pivot": 3266
      },
      {
        "id": 2873,
        "op": "ADD",
        "parents": [
          2872,
          2698
        ]
      },
      {
        "colang": {
          "file": "policy.co",
          "flow": "investment generic advice",
          "line": 259
        },
        "equation": "x0*x53 + x54 + x45 + x0 = 0",
        "id": 76,
        "named_equation": "ask investment advice*x53 + x54 + x45 + ask investment advice = 0",
        "op": "INSERT",
        "pivot": 142,
        "source": "original-S1"
      },
      {
        "id": 2874,
        "op": "ADD",
        "parents": [
          2873,
          76
        ],
        "pivot": 55
      },
      {
        "base_id": 2874,
        "id": 3167,
        "multiplier": "x45",
        "op": "MULTIPLY"
      },
      {
        "equation": "x0*x53 + x71 + x0 = 0",
        "id": 77,
        "named_equation": "ask investment advice*x53 + aux_71 + ask investment advice = 0",
        "op": "INSERT",
        "source": "original-S1"
      },
      {
        "id": 78,
        "op": "ADD",
        "parents": [
          77,
          76
        ],
        "pivot": 72
      },
      {
        "base_id": 78,
        "id": 2755,
        "multiplier": "x45",
        "op": "MULTIPLY"
      },
      {
        "colang": {
          "file": "policy.co",
          "flow": "investment generic advice",
          "line": 259
        },
        "equation": "x45*x71 + x55 + x54 = 0",
        "id": 79,
        "named_equation": "x45*aux_71 + respond with permitted investment answer + x54 = 0",
        "op": "INSERT",
        "pivot": 3085,
        "source": "original-S1"
      },
      {
        "id": 2756,
        "op": "ADD",
        "parents": [
          2755,
          79
        ],
        "pivot": 3068
      },
      {
        "id": 3168,
        "op": "ADD",
        "parents": [
          3167,
          2756
        ]
      },
      {
        "base_id": 758,
        "id": 2863,
        "multiplier": "x45",
        "op": "MULTIPLY",
        "pivot": 3066
      },
      {
        "id": 3169,
        "op": "ADD",
        "parents": [
          3168,
          2863
        ]
      },
      {
        "equation": "x55 = 1",
        "id": 29,
        "named_equation": "respond with permitted investment answer = 1",
        "op": "INSERT",
        "pin": {
          "name": "respond with permitted investment answer",
          "value": 1
        },
        "pivot": 56,
        "reads_as": "respond with permitted investment answer holds",
        "source": "original-S2"
      },
      {
        "id": 3170,
        "op": "ADD",
        "parents": [
          3169,
          29
        ]
      },
      {
        "id": 3171,
        "op": "ADD",
        "parents": [
          3170,
          2874
        ]
      },
      {
        "id": 3172,
        "op": "ADD",
        "parents": [
          3171,
          758
        ],
        "pivot": 46
      },
      {
        "base_id": 3172,
        "id": 3229,
        "multiplier": "x44",
        "op": "MULTIPLY"
      },
      {
        "colang": {
          "file": "policy.co",
          "flow": "investment specific product",
          "line": 241
        },
        "equation": "x1*x44 + x45 + x1 = 0",
        "id": 75,
        "named_equation": "ask about specific fund*x44 + x45 + ask about specific fund = 0",
        "op": "INSERT",
        "pivot": 220,
        "source": "original-S1"
      },
      {
        "base_id": 75,
        "id": 2717,
        "multiplier": "x44",
        "op": "MULTIPLY",
        "pivot": 3016
      },
      {
        "id": 3230,
        "op": "ADD",
        "parents": [
          3229,
          2717
        ],
        "pivot": 45
      },
      {
        "base_id": 3230,
        "id": 3349,
        "multiplier": "x32",
        "op": "MULTIPLY"
      },
      {
        "equation": "x2 = 1",
        "id": 27,
        "named_equation": "$personal_recommendation = 1",
        "op": "INSERT",
        "pin": {
          "name": "personal_recommendation",
          "value": 1
        },
        "pivot": 3,
        "reads_as": "$personal_recommendation holds",
        "source": "original-S2"
      },
      {
        "base_id": 27,
        "id": 2046,
        "multiplier": "x1",
        "op": "MULTIPLY"
      },
      {
        "equation": "x1*x2 + x58 = 0",
        "id": 34,
        "named_equation": "ask about specific fund*$personal_recommendation + aux_58 = 0",
        "op": "INSERT",
        "pivot": 178,
        "source": "original-S1"
      },
      {
        "id": 2047,
        "op": "ADD",
        "parents": [
          2046,
          34
        ],
        "pivot": 59
      },
      {
        "base_id": 2047,
        "id": 3004,
        "multiplier": "x40",
        "op": "MULTIPLY"
      },
      {
        "colang": {
          "file": "policy.co",
          "flow": "investment specific product",
          "line": 235
        },
        "equation": "x39*x58 + x40 + x32 = 0",
        "id": 55,
        "named_equation": "x39*aux_58 + x40 + x32 = 0",
        "op": "INSERT",
        "pivot": 2799,
        "source": "original-S1"
      },
      {
        "base_id": 55,
        "id": 2457,
        "multiplier": "x58",
        "op": "MULTIPLY",
        "pivot": 2847
      },
      {
        "id": 3005,
        "op": "ADD",
        "parents": [
          3004,
          2457
        ]
      },
      {
        "id": 3006,
        "op": "ADD",
        "parents": [
          3005,
          55
        ]
      },
      {
        "base_id": 2047,
        "id": 2997,
        "multiplier": "x32",
        "op": "MULTIPLY",
        "pivot": 2435
      },
      {
        "id": 3007,
        "op": "ADD",
        "parents": [
          3006,
          2997
        ],
        "pivot": 216
      },
      {
        "colang": {
          "file": "policy.co",
          "flow": "investment specific product",
          "line": 229
        },
        "equation": "x27 = 1",
        "id": 5,
        "named_equation": "x27 = 1",
        "op": "INSERT",
        "pivot": 28,
        "reads_as": "x27 holds",
        "source": "original-S2"
      },
      {
        "base_id": 5,
        "id": 449,
        "multiplier": "x28",
        "op": "MULTIPLY"
      },
      {
        "colang": {
          "file": "policy.co",
          "flow": "investment specific product",
          "line": 229
        },
        "equation": "x27*x28 + x30 + x29 + x27 = 0",
        "id": 48,
        "named_equation": "x27*$capacity_for_loss_assessed + x30 + x29 + x27 = 0",
        "op": "INSERT",
        "pivot": 2115,
        "source": "original-S1"
      },
      {
        "id": 450,
        "op": "ADD",
        "parents": [
          449,
          48
        ],
        "pivot": 31
      },
      {
        "base_id": 450,
        "id": 2821,
        "multiplier": "x58",
        "op": "MULTIPLY"
      },
      {
        "colang": {
          "file": "policy.co",
          "flow": "investment specific product",
          "line": 231
        },
        "equation": "x30*x58 + x31 + x24 = 0",
        "id": 49,
        "named_equation": "x30*aux_58 + x31 + x24 = 0",
        "op": "INSERT",
        "pivot": 2322,
        "source": "original-S1"
      },
      {
        "id": 2822,
        "op": "ADD",
        "parents": [
          2821,
          49
        ]
      },
      {
        "colang": {
          "file": "policy.co",
          "flow": "investment specific product",
          "line": 229
        },
        "equation": "x29 + x28 + x27 = 1",
        "id": 6,
        "named_equation": "x29 + $capacity_for_loss_assessed + x27 = 1",
        "op": "INSERT",
        "pivot": 30,
        "source": "original-S2"
      },
      {
        "base_id": 6,
        "id": 563,
        "multiplier": "x58",
        "op": "MULTIPLY",
        "pivot": 2264
      },
      {
        "id": 2823,
        "op": "ADD",
        "parents": [
          2822,
          563
        ]
      },
      {
        "id": 2824,
        "op": "ADD",
        "parents": [
          2823,
          2047
        ],
        "pivot": 32
      },
      {
        "base_id": 2824,
        "id": 3108,
        "multiplier": "x32",
        "op": "MULTIPLY"
      },
      {
        "colang": {
          "file": "policy.co",
          "flow": "investment specific product",
          "line": 231
        },
        "equation": "x24*x63 + x32 + x31 = 0",
        "id": 52,
        "named_equation": "x24*aux_63 + x32 + x31 = 0",
        "op": "INSERT",
        "pivot": 1964,
        "source": "original-S1"
      },
      {
        "base_id": 52,
        "id": 2448,
        "multiplier": "x63",
        "op": "MULTIPLY"
      },
      {
        "equation": "x30*x58 + x63 = 0",
        "id": 50,
        "named_equation": "x30*aux_58 + aux_63 = 0",
        "op": "INSERT",
        "source": "original-S1"
      },
      {
        "id": 51,
        "op": "ADD",
        "parents": [
          50,
          49
        ],
        "pivot": 64
      },
      {
        "base_id": 51,
        "id": 2413,
        "multiplier": "x32",
        "op": "MULTIPLY",
        "pivot": 2440
      },
      {
        "id": 2449,
        "op": "ADD",
        "parents": [
          2448,
          2413
        ]
      },
      {
        "base_id": 51,
        "id": 2412,
        "multiplier": "x31",
        "op": "MULTIPLY",
        "pivot": 2384
      },
      {
        "id": 2450,
        "op": "ADD",
        "parents": [
          2449,
          2412
        ],
        "pivot": 2353
      },
      {
        "id": 3109,
        "op": "ADD",
        "parents": [
          3108,
          2450
        ]
      },
      {
        "id": 3110,
        "op": "ADD",
        "parents": [
          3109,
          52
        ]
      },
      {
        "base_id": 51,
        "id": 2407,
        "multiplier": "x24",
        "op": "MULTIPLY"
      },
      {
        "id": 2408,
        "op": "ADD",
        "parents": [
          2407,
          52
        ],
        "pivot": 1932
      },
      {
        "id": 3111,
        "op": "ADD",
        "parents": [
          3110,
          2408
        ],
        "pivot": 208
      },
      {
        "id": 3190,
        "op": "ADD",
        "parents": [
          3007,
          3111
        ]
      },
      {
        "base_id": 3190,
        "id": 3191,
        "multiplier": "x40",
        "op": "MULTIPLY"
      },
      {
        "equation": "x39*x58 + x64 = 0",
        "id": 56,
        "named_equation": "x39*aux_58 + aux_64 = 0",
        "op": "INSERT",
        "source": "original-S1"
      },
      {
        "id": 57,
        "op": "ADD",
        "parents": [
          56,
          55
        ],
        "pivot": 65
      },
      {
        "base_id": 57,
        "id": 2482,
        "multiplier": "x32",
        "op": "MULTIPLY"
      },
      {
        "colang": {
          "file": "policy.co",
          "flow": "investment specific product",
          "line": 235
        },
        "equation": "x32*x64 + x41 + x40 = 0",
        "id": 58,
        "named_equation": "x32*aux_64 + x41 + x40 = 0",
        "op": "INSERT",
        "pivot": 2441,
        "source": "original-S1"
      },
      {
        "id": 2483,
        "op": "ADD",
        "parents": [
          2482,
          58
        ],
        "pivot": 2417
      },
      {
        "id": 3192,
        "op": "ADD",
        "parents": [
          3191,
          2483
        ]
      },
      {
        "base_id": 2824,
        "id": 3117,
        "multiplier": "x40",
        "op": "MULTIPLY",
        "pivot": 2361
      },
      {
        "id": 3193,
        "op": "ADD",
        "parents": [
          3192,
          3117
        ],
        "pivot": 42
      },
      {
        "base_id": 3193,
        "id": 3272,
        "multiplier": "x44",
        "op": "MULTIPLY"
      },
      {
        "colang": {
          "file": "policy.co",
          "flow": "investment specific product",
          "line": 239
        },
        "equation": "x41*x66 + x44 + x43 = 0",
        "id": 63,
        "named_equation": "x41*aux_66 + x44 + x43 = 0",
        "op": "INSERT",
        "pivot": 2902,
        "source": "original-S1"
      },
      {
        "base_id": 63,
        "id": 2582,
        "multiplier": "x41",
        "op": "MULTIPLY"
      },
      {
        "id": 2583,
        "op": "ADD",
        "parents": [
          2582,
          63
        ],
        "pivot": 2880
      },
      {
        "id": 3273,
        "op": "ADD",
        "parents": [
          3272,
          2583
        ]
      },
      {
        "equation": "x58*x65 + x66 = 0",
        "id": 61,
        "named_equation": "aux_58*aux_65 + aux_66 = 0",
        "op": "INSERT",
        "source": "original-S1"
      },
      {
        "colang": {
          "file": "policy.co",
          "flow": "investment specific product",
          "line": 239
        },
        "equation": "x58*x65 + x43 + x41 = 0",
        "id": 60,
        "named_equation": "aux_58*aux_65 + x43 + x41 = 0",
        "op": "INSERT",
        "pivot": 3547,
        "source": "original-S1"
      },
      {
        "id": 62,
        "op": "ADD",
        "parents": [
          61,
          60
        ],
        "pivot": 67
      },
      {
        "base_id": 62,
        "id": 2557,
        "multiplier": "x41",
        "op": "MULTIPLY"
      },
      {
        "id": 2558,
        "op": "ADD",
        "parents": [
          2557,
          63
        ],
        "pivot": 2879
      },
      {
        "id": 3274,
        "op": "ADD",
        "parents": [
          3273,
          2558
        ],
        "pivot": 2421
      },
      {
        "id": 3350,
        "op": "ADD",
        "parents": [
          3349,
          3274
        ]
      },
      {
        "id": 3351,
        "op": "ADD",
        "parents": [
          3350,
          3193
        ]
      },
      {
        "base_id": 3172,
        "id": 3195,
        "multiplier": "x1",
        "op": "MULTIPLY"
      },
      {
        "base_id": 75,
        "id": 2716,
        "multiplier": "x1",
        "op": "MULTIPLY",
        "pivot": 221
      },
      {
        "id": 3196,
        "op": "ADD",
        "parents": [
          3195,
          2716
        ]
      },
      {
        "id": 3197,
        "op": "ADD",
        "parents": [
          3196,
          75
        ]
      },
      {
        "id": 3198,
        "op": "ADD",
        "parents": [
          3197,
          3172
        ],
        "pivot": 2
      },
      {
        "base_id": 3198,
        "id": 3306,
        "multiplier": "x24",
        "op": "MULTIPLY"
      },
      {
        "base_id": 2824,
        "id": 3104,
        "multiplier": "x24",
        "op": "MULTIPLY"
      },
      {
        "id": 3105,
        "op": "ADD",
        "parents": [
          3104,
          2408
        ],
        "pivot": 200
      },
      {
        "id": 3307,
        "op": "ADD",
        "parents": [
          3306,
          3105
        ],
        "pivot": 33
      },
      {
        "id": 3352,
        "op": "ADD",
        "parents": [
          3351,
          3307
        ]
      },
      {
        "id": 3353,
        "op": "ADD",
        "parents": [
          3352,
          2824
        ]
      }
    ],
    "origin_class": "derived",
    "policy": {
      "file": "policy.co",
      "parse_diagnostics": 0,
      "sha256": "470bfaea5ca9297edde3c6f9dd1287ac090b0db94091edd9bf067c4d63c22ec5",
      "unroll_depth": []
    },
    "provenance": {
      "controls": {},
      "declared": false,
      "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."
      ],
      "undeclared": [
        "x2",
        "x3",
        "x4",
        "x5",
        "x6",
        "x10",
        "x13",
        "x16",
        "x17",
        "x20",
        "x28",
        "x33",
        "x34",
        "x37",
        "x42",
        "x46",
        "x47"
      ]
    },
    "question": {
      "action": "respond with permitted investment answer",
      "obligation_context": "suitability_assessment_done",
      "pins": [
        {
          "name": "respond with permitted investment answer",
          "source": "action",
          "value": 1,
          "variable": 55
        },
        {
          "name": "suitability_assessment_done",
          "source": "obligation",
          "value": 0,
          "variable": 25
        },
        {
          "name": "personal_recommendation",
          "source": "conditioning",
          "value": 1,
          "variable": 2
        }
      ]
    },
    "self_contained": true,
    "status": "verified_unsat",
    "steps_to_contradiction": 108,
    "variables": {
      "x0": {
        "colang": {
          "file": "policy.co",
          "line": 104
        },
        "kind": "intent",
        "name": "ask investment advice"
      },
      "x1": {
        "colang": {
          "file": "policy.co",
          "line": 110
        },
        "kind": "intent",
        "name": "ask about specific fund"
      },
      "x10": {
        "colang": {
          "file": "policy.co",
          "flow": "investment specific product",
          "line": 219
        },
        "kind": "context",
        "name": "has_advising_permission"
      },
      "x11": {
        "colang": {
          "file": "policy.co",
          "flow": "investment specific product",
          "line": 219
        },
        "definition": "x11 + x4 + x10 = 0",
        "derived_from": [
          "x4",
          "x10"
        ],
        "kind": "gate",
        "named_definition": "x11 + $firm_is_authorised + $has_advising_permission = 0"
      },
      "x12": {
        "colang": {
          "file": "policy.co",
          "flow": "investment specific product",
          "line": 219
        },
        "definition": "x12 + x4 + x4*x10 + x10 + x11 = 1",
        "derived_from": [
          "x4",
          "x10",
          "x11"
        ],
        "kind": "gate",
        "named_definition": "x12 + $firm_is_authorised + $firm_is_authorised*$has_advising_permission + $has_advising_permission + x11 = 1"
      },
      "x13": {
        "colang": {
          "file": "policy.co",
          "flow": "investment specific product",
          "line": 220
        },
        "kind": "context",
        "name": "is_targeted_support"
      },
      "x14": {
        "colang": {
          "file": "policy.co",
          "flow": "investment specific product",
          "line": 222
        },
        "definition": "x14 + x9 + x13*x59 + x59 = 0",
        "derived_from": [
          "x9",
          "x13",
          "x59"
        ],
        "kind": "gate",
        "named_definition": "x14 + x9 + $is_targeted_support*aux_59 + aux_59 = 0"
      },
      "x15": {
        "colang": {
          "file": "policy.co",
          "flow": "investment specific product",
          "line": 222
        },
        "definition": "x15 + x9*x60 + x14 = 0",
        "derived_from": [
          "x9",
          "x14",
          "x60"
        ],
        "kind": "gate",
        "named_definition": "x15 + x9*aux_60 + x14 = 0"
      },
      "x16": {
        "colang": {
          "file": "policy.co",
          "flow": "investment specific product",
          "line": 225
        },
        "kind": "context",
        "name": "has_targeted_support_permission"
      },
      "x17": {
        "colang": {
          "file": "policy.co",
          "flow": "investment specific product",
          "line": 225
        },
        "kind": "context",
        "name": "consumer_segment_predefined"
      },
      "x18": {
        "colang": {
          "file": "policy.co",
          "flow": "investment specific product",
          "line": 225
        },
        "definition": "x18 + x16 + x17 = 0",
        "derived_from": [
          "x16",
          "x17"
        ],
        "kind": "gate",
        "named_definition": "x18 + $has_targeted_support_permission + $consumer_segment_predefined = 0"
      },
      "x19": {
        "colang": {
          "file": "policy.co",
          "flow": "investment specific product",
          "line": 225
        },
        "definition": "x19 + x16 + x16*x17 + x17 + x18 = 1",
        "derived_from": [
          "x16",
          "x17",
          "x18"
        ],
        "kind": "gate",
        "named_definition": "x19 + $has_targeted_support_permission + $has_targeted_support_permission*$consumer_segment_predefined + $consumer_segment_predefined + x18 = 1"
      },
      "x2": {
        "colang": {
          "file": "policy.co",
          "flow": "investment specific product",
          "line": 209
        },
        "kind": "context",
        "name": "personal_recommendation"
      },
      "x20": {
        "colang": {
          "file": "policy.co",
          "flow": "investment specific product",
          "line": 225
        },
        "kind": "context",
        "name": "suggestion_is_ready_made"
      },
      "x21": {
        "colang": {
          "file": "policy.co",
          "flow": "investment specific product",
          "line": 225
        },
        "definition": "x21 + x19 + x20 = 1",
        "derived_from": [
          "x19",
          "x20"
        ],
        "kind": "gate",
        "named_definition": "x21 + x19 + $suggestion_is_ready_made = 1"
      },
      "x22": {
        "colang": {
          "file": "policy.co",
          "flow": "investment specific product",
          "line": 225
        },
        "definition": "x22 + x19 + x19*x20 + x21 = 0",
        "derived_from": [
          "x19",
          "x20",
          "x21"
        ],
        "kind": "gate",
        "named_definition": "x22 + x19 + x19*$suggestion_is_ready_made + x21 = 0"
      },
      "x23": {
        "colang": {
          "file": "policy.co",
          "flow": "investment specific product",
          "line": 227
        },
        "definition": "x23 + x15 + x22*x61 = 0",
        "derived_from": [
          "x15",
          "x22",
          "x61"
        ],
        "kind": "gate",
        "named_definition": "x23 + x15 + x22*aux_61 = 0"
      },
      "x24": {
        "colang": {
          "file": "policy.co",
          "flow": "investment specific product",
          "line": 227
        },
        "definition": "x24 + x15*x62 + x23 = 0",
        "derived_from": [
          "x15",
          "x23",
          "x62"
        ],
        "kind": "gate",
        "named_definition": "x24 + x15*aux_62 + x23 = 0"
      },
      "x27": {
        "colang": {
          "file": "policy.co",
          "flow": "investment specific product",
          "line": 229
        },
        "definition": "x27 = 1",
        "kind": "gate",
        "named_definition": "x27 = 1"
      },
      "x28": {
        "colang": {
          "file": "policy.co",
          "flow": "investment specific product",
          "line": 229
        },
        "kind": "context",
        "name": "capacity_for_loss_assessed"
      },
      "x29": {
        "colang": {
          "file": "policy.co",
          "flow": "investment specific product",
          "line": 229
        },
        "definition": "x29 + x27 + x28 = 1",
        "derived_from": [
          "x27",
          "x28"
        ],
        "kind": "gate",
        "named_definition": "x29 + x27 + $capacity_for_loss_assessed = 1"
      },
      "x3": {
        "colang": {
          "file": "policy.co",
          "flow": "investment specific product",
          "line": 209
        },
        "kind": "context",
        "name": "is_inducement"
      },
      "x30": {
        "colang": {
          "file": "policy.co",
          "flow": "investment specific product",
          "line": 229
        },
        "definition": "x30 + x27 + x27*x28 + x29 = 0",
        "derived_from": [
          "x27",
          "x28",
          "x29"
        ],
        "kind": "gate",
        "named_definition": "x30 + x27 + x27*$capacity_for_loss_assessed + x29 = 0"
      },
      "x31": {
        "colang": {
          "file": "policy.co",
          "flow": "investment specific product",
          "line": 231
        },
        "definition": "x31 + x24 + x30*x58 = 0",
        "derived_from": [
          "x24",
          "x30",
          "x58"
        ],
        "kind": "gate",
        "named_definition": "x31 + x24 + x30*aux_58 = 0"
      },
      "x32": {
        "colang": {
          "file": "policy.co",
          "flow": "investment specific product",
          "line": 231
        },
        "definition": "x32 + x24*x63 + x31 = 0",
        "derived_from": [
          "x24",
          "x31",
          "x63"
        ],
        "kind": "gate",
        "named_definition": "x32 + x24*aux_63 + x31 = 0"
      },
      "x33": {
        "colang": {
          "file": "policy.co",
          "flow": "investment specific product",
          "line": 233
        },
        "kind": "context",
        "name": "foreseeable_harm_identified"
      },
      "x34": {
        "colang": {
          "file": "policy.co",
          "flow": "investment specific product",
          "line": 233
        },
        "kind": "context",
        "name": "fair_value_assessed"
      },
      "x35": {
        "colang": {
          "file": "policy.co",
          "flow": "investment specific product",
          "line": 233
        },
        "definition": "x35 + x33 + x34 = 1",
        "derived_from": [
          "x33",
          "x34"
        ],
        "kind": "gate",
        "named_definition": "x35 + $foreseeable_harm_identified + $fair_value_assessed = 1"
      },
      "x36": {
        "colang": {
          "file": "policy.co",
          "flow": "investment specific product",
          "line": 233
        },
        "definition": "x36 + x33 + x33*x34 + x35 = 0",
        "derived_from": [
          "x33",
          "x34",
          "x35"
        ],
        "kind": "gate",
        "named_definition": "x36 + $foreseeable_harm_identified + $foreseeable_harm_identified*$fair_value_assessed + x35 = 0"
      },
      "x37": {
        "colang": {
          "file": "policy.co",
          "flow": "investment specific product",
          "line": 233
        },
        "kind": "context",
        "name": "target_market_matches"
      },
      "x38": {
        "colang": {
          "file": "policy.co",
          "flow": "investment specific product",
          "line": 233
        },
        "definition": "x38 + x36 + x37 = 1",
        "derived_from": [
          "x36",
          "x37"
        ],
        "kind": "gate",
        "named_definition": "x38 + x36 + $target_market_matches = 1"
      },
      "x39": {
        "colang": {
          "file": "policy.co",
          "flow": "investment specific product",
          "line": 233
        },
        "definition": "x39 + x36 + x36*x37 + x38 = 0",
        "derived_from": [
          "x36",
          "x37",
          "x38"
        ],
        "kind": "gate",
        "named_definition": "x39 + x36 + x36*$target_market_matches + x38 = 0"
      },
      "x4": {
        "colang": {
          "file": "policy.co",
          "flow": "investment specific product",
          "line": 213
        },
        "kind": "context",
        "name": "firm_is_authorised"
      },
      "x40": {
        "colang": {
          "file": "policy.co",
          "flow": "investment specific product",
          "line": 235
        },
        "definition": "x40 + x32 + x39*x58 = 0",
        "derived_from": [
          "x32",
          "x39",
          "x58"
        ],
        "kind": "gate",
        "named_definition": "x40 + x32 + x39*aux_58 = 0"
      },
      "x41": {
        "colang": {
          "file": "policy.co",
          "flow": "investment specific product",
          "line": 235
        },
        "definition": "x41 + x32*x64 + x40 = 0",
        "derived_from": [
          "x32",
          "x40",
          "x64"
        ],
        "kind": "gate",
        "named_definition": "x41 + x32*aux_64 + x40 = 0"
      },
      "x42": {
        "colang": {
          "file": "policy.co",
          "flow": "investment specific product",
          "line": 237
        },
        "kind": "context",
        "name": "consultant_receives_higher_commission"
      },
      "x43": {
        "colang": {
          "file": "policy.co",
          "flow": "investment specific product",
          "line": 239
        },
        "definition": "x43 + x41 + x58*x65 = 0",
        "derived_from": [
          "x41",
          "x58",
          "x65"
        ],
        "kind": "gate",
        "named_definition": "x43 + x41 + aux_58*aux_65 = 0"
      },
      "x44": {
        "colang": {
          "file": "policy.co",
          "flow": "investment specific product",
          "line": 239
        },
        "definition": "x44 + x41*x66 + x43 = 0",
        "derived_from": [
          "x41",
          "x43",
          "x66"
        ],
        "kind": "gate",
        "named_definition": "x44 + x41*aux_66 + x43 = 0"
      },
      "x45": {
        "colang": {
          "file": "policy.co",
          "flow": "investment specific product",
          "line": 241
        },
        "definition": "x45 + x1 + x1*x44 = 0",
        "derived_from": [
          "x1",
          "x44"
        ],
        "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.",
        "kind": "gate",
        "named_definition": "x45 + ask about specific fund + ask about specific fund*x44 = 0",
        "subkind": "quadratic-split"
      },
      "x46": {
        "colang": {
          "file": "policy.co",
          "flow": "investment generic advice",
          "line": 247
        },
        "kind": "context",
        "name": "is_generic_asset_class_only"
      },
      "x47": {
        "colang": {
          "file": "policy.co",
          "flow": "investment generic advice",
          "line": 247
        },
        "kind": "context",
        "name": "names_specific_product"
      },
      "x48": {
        "colang": {
          "file": "policy.co",
          "flow": "investment generic advice",
          "line": 248
        },
        "definition": "x48 + x0*x67 = 0",
        "derived_from": [
          "x0",
          "x67"
        ],
        "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.",
        "kind": "action",
        "name": "respond with generic asset class commentary",
        "named_definition": "respond with generic asset class commentary + ask investment advice*aux_67 = 0",
        "subkind": "quadratic-split"
      },
      "x49": {
        "colang": {
          "file": "policy.co",
          "flow": "investment generic advice",
          "line": 253
        },
        "definition": "x49 + x0*x68 + x48 = 0",
        "derived_from": [
          "x0",
          "x48",
          "x68"
        ],
        "kind": "gate",
        "named_definition": "x49 + ask investment advice*aux_68 + respond with generic asset class commentary = 0"
      },
      "x5": {
        "colang": {
          "file": "policy.co",
          "flow": "investment specific product",
          "line": 214
        },
        "kind": "context",
        "name": "promotion_approved"
      },
      "x50": {
        "colang": {
          "file": "policy.co",
          "flow": "investment generic advice",
          "line": 253
        },
        "definition": "x50 + x48*x69 + x49 = 0",
        "derived_from": [
          "x48",
          "x49",
          "x69"
        ],
        "kind": "gate",
        "named_definition": "x50 + respond with generic asset class commentary*aux_69 + x49 = 0"
      },
      "x51": {
        "colang": {
          "file": "policy.co",
          "flow": "investment generic advice",
          "line": 255
        },
        "definition": "x51 = 1",
        "kind": "gate",
        "named_definition": "x51 = 1"
      },
      "x52": {
        "colang": {
          "file": "policy.co",
          "flow": "investment generic advice",
          "line": 257
        },
        "definition": "x52 + x0*x51 + x50 = 0",
        "derived_from": [
          "x0",
          "x50",
          "x51"
        ],
        "kind": "gate",
        "named_definition": "x52 + ask investment advice*x51 + x50 = 0"
      },
      "x53": {
        "colang": {
          "file": "policy.co",
          "flow": "investment generic advice",
          "line": 257
        },
        "definition": "x53 + x50*x70 + x52 = 0",
        "derived_from": [
          "x50",
          "x52",
          "x70"
        ],
        "kind": "gate",
        "named_definition": "x53 + x50*aux_70 + x52 = 0"
      },
      "x54": {
        "colang": {
          "file": "policy.co",
          "flow": "investment generic advice",
          "line": 259
        },
        "definition": "x54 + x0 + x0*x53 + x45 = 0",
        "derived_from": [
          "x0",
          "x45",
          "x53"
        ],
        "kind": "gate",
        "named_definition": "x54 + ask investment advice + ask investment advice*x53 + x45 = 0"
      },
      "x55": {
        "colang": {
          "file": "policy.co",
          "flow": "investment specific product",
          "line": 241
        },
        "definition": "x55 + x45*x71 + x54 = 0",
        "derived_from": [
          "x45",
          "x54",
          "x71"
        ],
        "kind": "action",
        "name": "respond with permitted investment answer",
        "named_definition": "respond with permitted investment answer + x45*aux_71 + x54 = 0"
      },
      "x56": {
        "definition": "x56 + x3 + x3*x4 = 0",
        "derived_from": [
          "x3",
          "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.",
        "kind": "aux",
        "named_definition": "aux_56 + $is_inducement + $is_inducement*$firm_is_authorised = 0",
        "subkind": "degree3-materialisation"
      },
      "x57": {
        "definition": "x57 + x1*x56 = 0",
        "derived_from": [
          "x1",
          "x56"
        ],
        "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.",
        "kind": "aux",
        "named_definition": "aux_57 + ask about specific fund*aux_56 = 0",
        "subkind": "degree3-materialisation"
      },
      "x58": {
        "definition": "x58 + x1*x2 = 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.",
        "kind": "aux",
        "named_definition": "aux_58 + ask about specific fund*$personal_recommendation = 0",
        "subkind": "degree3-materialisation"
      },
      "x59": {
        "definition": "x59 + x12*x58 = 0",
        "derived_from": [
          "x58",
          "x12"
        ],
        "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.",
        "kind": "aux",
        "named_definition": "aux_59 + x12*aux_58 = 0",
        "subkind": "degree3-materialisation"
      },
      "x6": {
        "colang": {
          "file": "policy.co",
          "flow": "investment specific product",
          "line": 214
        },
        "kind": "context",
        "name": "has_s21_approver_permission"
      },
      "x60": {
        "definition": "x60 + x13*x59 + x59 = 0",
        "derived_from": [
          "x59",
          "x13"
        ],
        "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.",
        "kind": "aux",
        "named_definition": "aux_60 + $is_targeted_support*aux_59 + aux_59 = 0",
        "subkind": "degree3-materialisation"
      },
      "x61": {
        "definition": "x61 + x13*x58 = 0",
        "derived_from": [
          "x58",
          "x13"
        ],
        "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.",
        "kind": "aux",
        "named_definition": "aux_61 + $is_targeted_support*aux_58 = 0",
        "subkind": "degree3-materialisation"
      },
      "x62": {
        "definition": "x62 + x22*x61 = 0",
        "derived_from": [
          "x61",
          "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.",
        "kind": "aux",
        "named_definition": "aux_62 + x22*aux_61 = 0",
        "subkind": "degree3-materialisation"
      },
      "x63": {
        "definition": "x63 + x30*x58 = 0",
        "derived_from": [
          "x58",
          "x30"
        ],
        "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.",
        "kind": "aux",
        "named_definition": "aux_63 + x30*aux_58 = 0",
        "subkind": "degree3-materialisation"
      },
      "x64": {
        "definition": "x64 + x39*x58 = 0",
        "derived_from": [
          "x58",
          "x39"
        ],
        "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.",
        "kind": "aux",
        "named_definition": "aux_64 + x39*aux_58 = 0",
        "subkind": "degree3-materialisation"
      },
      "x65": {
        "definition": "x65 + x34*x42 + x42 = 0",
        "derived_from": [
          "x42",
          "x34"
        ],
        "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.",
        "kind": "aux",
        "named_definition": "aux_65 + $fair_value_assessed*$consultant_receives_higher_commission + $consultant_receives_higher_commission = 0",
        "subkind": "degree3-materialisation"
      },
      "x66": {
        "definition": "x66 + x58*x65 = 0",
        "derived_from": [
          "x58",
          "x65"
        ],
        "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.",
        "kind": "aux",
        "named_definition": "aux_66 + aux_58*aux_65 = 0",
        "subkind": "degree3-materialisation"
      },
      "x67": {
        "definition": "x67 + x46 + x46*x47 = 0",
        "derived_from": [
          "x46",
          "x47"
        ],
        "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.",
        "kind": "aux",
        "named_definition": "aux_67 + $is_generic_asset_class_only + $is_generic_asset_class_only*$names_specific_product = 0",
        "subkind": "degree3-materialisation"
      },
      "x68": {
        "definition": "x68 + x2 + x2*x10 = 0",
        "derived_from": [
          "x2",
          "x10"
        ],
        "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.",
        "kind": "aux",
        "named_definition": "aux_68 + $personal_recommendation + $personal_recommendation*$has_advising_permission = 0",
        "subkind": "degree3-materialisation"
      },
      "x69": {
        "definition": "x69 + x0*x68 = 0",
        "derived_from": [
          "x0",
          "x68"
        ],
        "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.",
        "kind": "aux",
        "named_definition": "aux_69 + ask investment advice*aux_68 = 0",
        "subkind": "degree3-materialisation"
      },
      "x7": {
        "colang": {
          "file": "policy.co",
          "flow": "investment specific product",
          "line": 214
        },
        "definition": "x7 + x5 + x6 = 0",
        "derived_from": [
          "x5",
          "x6"
        ],
        "kind": "gate",
        "named_definition": "x7 + $promotion_approved + $has_s21_approver_permission = 0"
      },
      "x70": {
        "definition": "x70 + x0*x51 = 0",
        "derived_from": [
          "x0",
          "x51"
        ],
        "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.",
        "kind": "aux",
        "named_definition": "aux_70 + ask investment advice*x51 = 0",
        "subkind": "degree3-materialisation"
      },
      "x71": {
        "definition": "x71 + x0 + x0*x53 = 0",
        "derived_from": [
          "x0",
          "x53"
        ],
        "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.",
        "kind": "aux",
        "named_definition": "aux_71 + ask investment advice + ask investment advice*x53 = 0",
        "subkind": "degree3-materialisation"
      },
      "x8": {
        "colang": {
          "file": "policy.co",
          "flow": "investment specific product",
          "line": 214
        },
        "definition": "x8 + x5 + x5*x6 + x6 + x7 = 1",
        "derived_from": [
          "x5",
          "x6",
          "x7"
        ],
        "kind": "gate",
        "named_definition": "x8 + $promotion_approved + $promotion_approved*$has_s21_approver_permission + $has_s21_approver_permission + x7 = 1"
      },
      "x9": {
        "colang": {
          "file": "policy.co",
          "flow": "investment specific product",
          "line": 214
        },
        "definition": "x9 + x8*x57 = 0",
        "derived_from": [
          "x57",
          "x8"
        ],
        "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.",
        "kind": "gate",
        "named_definition": "x9 + x8*aux_57 = 0",
        "subkind": "quadratic-split"
      }
    }
  },
  "certificate_detail": "full",
  "decided_by": "candidate-derivation",
  "oracle_dependent": false,
  "origin_class": "derived",
  "status": "UNSAT"
}
