{
  "schema_version": 1,
  "kind": "formal-package-inputs",
  "package_id": "payment",
  "revision": "3",
  "tool_sha256": "5bd7b64db99ae4c6c35f290de5e809c0ee41af43f8699cf696099ffb6452b1e2",
  "license_id": "CC0-1.0",
  "files": [
    {
      "path": "AtomicPayment.tla",
      "sha256": "dfb1d8d8098ab6e69fb6ab556963512f1ac2d07f5b64753826cb4afd734a3619",
      "bytes": 1591
    },
    {
      "path": "CostAlgebra.tla",
      "sha256": "a97242424f4f57d6d952e2384d477c4e86346afca5c4a86bc753e08fb2108b0f",
      "bytes": 663
    },
    {
      "path": "CostAlgebraMC.cfg",
      "sha256": "bdbd4eab3149150b0c552fb9c9cd041c386c0eb6ee0fa5d0e90360f6ba6ee88c",
      "bytes": 69
    },
    {
      "path": "CostAlgebraMC.tla",
      "sha256": "2506f26cb3a9c9e93ba5c97b6e79b31f7b31cab19cfba0d4404cd68faaee0e65",
      "bytes": 857
    },
    {
      "path": "PaymentWitnessMC.tla",
      "sha256": "b7d1cfdf18e8ae8d0c5765ec302df36a5973c1ce0d67eed73466740ee04faca4",
      "bytes": 361
    },
    {
      "path": "late-use-positive.cfg",
      "sha256": "d4f1bcf9d6c8003e4a8884536504c79d430c7d355d8918d0198f52de566f2551",
      "bytes": 263
    },
    {
      "path": "late-use-zero.cfg",
      "sha256": "4c18a64c657699468d7819f173f4f67edf6260b6609a3568766708d19fc61081",
      "bytes": 263
    },
    {
      "path": "ordinary-insufficient.cfg",
      "sha256": "fc01cffdfb0de01028c3ce663f09c26fbeb1e54d31c878b13bd876fe6574ead6",
      "bytes": 284
    },
    {
      "path": "ordinary-positive.cfg",
      "sha256": "6a59eabd3707cf77aa875bee3d881e6d8984cf164e168c380a1a96342350a7e5",
      "bytes": 284
    },
    {
      "path": "ordinary-zero.cfg",
      "sha256": "c1d19e2d5d35c96b61fed61d0e60f50b30ec06c00f9e096155594e7d7e7492d4",
      "bytes": 284
    },
    {
      "path": "witness-positive.cfg",
      "sha256": "7e94a8acffd3fed4d0b067449c765c1d9fe1ab9be02e307967a8d90db830a5a5",
      "bytes": 191
    },
    {
      "path": "witness-zero.cfg",
      "sha256": "22eb98ee25acc1865b7d233c3891a1fa8827cb4fbd09391fccd3cdab91b2be2e",
      "bytes": 191
    },
    {
      "path": "zero-empty-wallet.cfg",
      "sha256": "e59e6641cc04ddf9fee887e978acca9eda48f23d2eafcbada5327388aa2db4fd",
      "bytes": 284
    }
  ],
  "models": [
    {
      "id": "arithmetic",
      "module": "CostAlgebraMC",
      "config": "CostAlgebraMC.cfg",
      "expected_exit": 0,
      "outcome": "success",
      "properties": [
        "ArithmeticExamples"
      ],
      "evidence_class": "prepared-assertions",
      "bounds": {
        "prepared_examples": 6
      },
      "constraints": []
    },
    {
      "id": "ordinary-zero",
      "module": "AtomicPayment",
      "config": "ordinary-zero.cfg",
      "expected_exit": 0,
      "outcome": "success",
      "properties": [
        "TypeOK",
        "UseRecorded",
        "PaymentIsExact",
        "DeclineIsUnpaid",
        "AdmissionMatchesWallet",
        "NoDoublePayment",
        "Completion"
      ],
      "bounds": {
        "initial_funds": 3,
        "base_cost": 0,
        "single_attempt": true,
        "late_use": false
      },
      "assumptions": [
        "A single supported wallet payment; no general cost interpreter.",
        "Completion fairness applies only to this finite teaching model."
      ],
      "evidence_class": "finite-state-exploration",
      "fairness": [
        "WF_vars(Complete): continuously enabled completion cannot be postponed forever."
      ],
      "constraints": []
    },
    {
      "id": "ordinary-positive",
      "module": "AtomicPayment",
      "config": "ordinary-positive.cfg",
      "expected_exit": 0,
      "outcome": "success",
      "properties": [
        "TypeOK",
        "UseRecorded",
        "PaymentIsExact",
        "DeclineIsUnpaid",
        "AdmissionMatchesWallet",
        "NoDoublePayment",
        "Completion"
      ],
      "bounds": {
        "initial_funds": 3,
        "base_cost": 2,
        "single_attempt": true,
        "late_use": false
      },
      "assumptions": [
        "A single supported wallet payment; no general cost interpreter.",
        "Completion fairness applies only to this finite teaching model."
      ],
      "evidence_class": "finite-state-exploration",
      "fairness": [
        "WF_vars(Complete): continuously enabled completion cannot be postponed forever."
      ],
      "constraints": []
    },
    {
      "id": "ordinary-insufficient",
      "module": "AtomicPayment",
      "config": "ordinary-insufficient.cfg",
      "expected_exit": 0,
      "outcome": "success",
      "properties": [
        "TypeOK",
        "UseRecorded",
        "PaymentIsExact",
        "DeclineIsUnpaid",
        "AdmissionMatchesWallet",
        "NoDoublePayment",
        "Completion"
      ],
      "bounds": {
        "initial_funds": 1,
        "base_cost": 2,
        "single_attempt": true,
        "late_use": false
      },
      "assumptions": [
        "A single supported wallet payment; no general cost interpreter.",
        "Completion fairness applies only to this finite teaching model."
      ],
      "evidence_class": "finite-state-exploration",
      "fairness": [
        "WF_vars(Complete): continuously enabled completion cannot be postponed forever."
      ],
      "constraints": []
    },
    {
      "id": "zero-empty-wallet",
      "module": "AtomicPayment",
      "config": "zero-empty-wallet.cfg",
      "expected_exit": 0,
      "outcome": "success",
      "properties": [
        "TypeOK",
        "UseRecorded",
        "PaymentIsExact",
        "DeclineIsUnpaid",
        "AdmissionMatchesWallet",
        "NoDoublePayment",
        "Completion"
      ],
      "bounds": {
        "initial_funds": 0,
        "base_cost": 0,
        "single_attempt": true,
        "late_use": false
      },
      "assumptions": [
        "A single supported wallet payment; no general cost interpreter.",
        "Completion fairness applies only to this finite teaching model."
      ],
      "evidence_class": "finite-state-exploration",
      "fairness": [
        "WF_vars(Complete): continuously enabled completion cannot be postponed forever."
      ],
      "constraints": []
    },
    {
      "id": "late-use-zero",
      "module": "AtomicPayment",
      "config": "late-use-zero.cfg",
      "expected_exit": 12,
      "outcome": "safety-counterexample",
      "properties": [
        "TypeOK",
        "UseRecorded",
        "PaymentIsExact",
        "DeclineIsUnpaid",
        "AdmissionMatchesWallet",
        "NoDoublePayment"
      ],
      "bounds": {
        "initial_funds": 3,
        "base_cost": 0,
        "single_attempt": true,
        "late_use": true
      },
      "assumptions": [
        "A single supported wallet payment; no general cost interpreter.",
        "Completion fairness applies only to this finite teaching model."
      ],
      "evidence_class": "finite-state-exploration",
      "expected_property": "UseRecorded",
      "reached": {
        "paid": {
          "kind": "boolean",
          "value": false
        },
        "pending": {
          "kind": "boolean",
          "value": true
        }
      },
      "negative_of": "ordinary-zero",
      "fairness": [
        "WF_vars(Complete): continuously enabled completion cannot be postponed forever."
      ],
      "constraints": []
    },
    {
      "id": "late-use-positive",
      "module": "AtomicPayment",
      "config": "late-use-positive.cfg",
      "expected_exit": 12,
      "outcome": "safety-counterexample",
      "properties": [
        "TypeOK",
        "UseRecorded",
        "PaymentIsExact",
        "DeclineIsUnpaid",
        "AdmissionMatchesWallet",
        "NoDoublePayment"
      ],
      "bounds": {
        "initial_funds": 3,
        "base_cost": 2,
        "single_attempt": true,
        "late_use": true
      },
      "assumptions": [
        "A single supported wallet payment; no general cost interpreter.",
        "Completion fairness applies only to this finite teaching model."
      ],
      "evidence_class": "finite-state-exploration",
      "expected_property": "UseRecorded",
      "reached": {
        "paid": {
          "kind": "boolean",
          "value": false
        },
        "pending": {
          "kind": "boolean",
          "value": true
        }
      },
      "negative_of": "ordinary-positive",
      "fairness": [
        "WF_vars(Complete): continuously enabled completion cannot be postponed forever."
      ],
      "constraints": []
    },
    {
      "id": "witness-zero",
      "module": "PaymentWitnessMC",
      "config": "witness-zero.cfg",
      "expected_exit": 12,
      "outcome": "witness",
      "properties": [
        "StopBeforeCompletion"
      ],
      "bounds": {
        "initial_funds": 3,
        "base_cost": 0,
        "single_attempt": true,
        "late_use": false
      },
      "assumptions": [
        "A single supported wallet payment; no general cost interpreter.",
        "Completion fairness applies only to this finite teaching model."
      ],
      "evidence_class": "finite-state-exploration",
      "expected_property": "StopBeforeCompletion",
      "reached": {
        "paid": {
          "kind": "boolean",
          "value": true
        },
        "pending": {
          "kind": "boolean",
          "value": false
        }
      },
      "fairness": [
        "WF_vars(Complete): continuously enabled completion cannot be postponed forever."
      ],
      "constraints": []
    },
    {
      "id": "witness-positive",
      "module": "PaymentWitnessMC",
      "config": "witness-positive.cfg",
      "expected_exit": 12,
      "outcome": "witness",
      "properties": [
        "StopBeforeCompletion"
      ],
      "bounds": {
        "initial_funds": 3,
        "base_cost": 2,
        "single_attempt": true,
        "late_use": false
      },
      "assumptions": [
        "A single supported wallet payment; no general cost interpreter.",
        "Completion fairness applies only to this finite teaching model."
      ],
      "evidence_class": "finite-state-exploration",
      "expected_property": "StopBeforeCompletion",
      "reached": {
        "paid": {
          "kind": "boolean",
          "value": true
        },
        "pending": {
          "kind": "boolean",
          "value": false
        }
      },
      "fairness": [
        "WF_vars(Complete): continuously enabled completion cannot be postponed forever."
      ],
      "constraints": []
    }
  ],
  "description": "Pure cost extraction plus an original isolated payment teaching model.",
  "transformation": "CostAlgebra: dependency extraction; AtomicPayment: new instructional specialization, not a general donor interpreter."
}
