## DECLARE Model for Purchase-to-Pay Process

This model captures some common constraints in a Purchase-to-Pay process using the DECLARE language. 

**Activities:**

* Identify Need
* Create Requisition
* Requisition Approval
* Create Purchase Order (PO)
* PO Approval
* Receive Goods
* Goods Receipt Confirmation
* Receive Invoice
* Invoice Approval
* Make Payment

**DECLARE Model (Python dictionary):**

```python
model = {
  'existence': {
    "Identify Need": {"support": 1.0, "confidence": 1.0},
    "Create Requisition": {"support": 1.0, "confidence": 1.0},
    "Requisition Approval": {"support": 1.0, "confidence": 1.0},
    "Create Purchase Order (PO)": {"support": 1.0, "confidence": 1.0},
    "PO Approval": {"support": 1.0, "confidence": 1.0},
    "Receive Goods": {"support": 1.0, "confidence": 1.0},
    "Goods Receipt Confirmation": {"support": 1.0, "confidence": 1.0},
    "Receive Invoice": {"support": 1.0, "confidence": 1.0},
    "Invoice Approval": {"support": 1.0, "confidence": 1.0},
    "Make Payment": {"support": 1.0, "confidence": 1.0},
  },
  'absence': {},  # No activities are explicitly absent
  'exactly_one': {},  # No activities are specified to occur exactly once
  'init': {
    "Identify Need": {"support": 1.0, "confidence": 1.0},  # Process starts with identifying a need
  },
  'responded_existence': {
    "Create Requisition": {"Identify Need": {"support": 1.0, "confidence": 1.0}},  # Requisition follows Need identification
  },
  'coexistence': {},  # No activities are specified to co-occur
  'response': {
    "Create Purchase Order (PO)": {"Requisition Approval": {"support": 1.0, "confidence": 1.0}},  # PO creation after approval
    "Goods Receipt Confirmation": {"Receive Goods": {"support": 1.0, "confidence": 1.0}},  # Confirmation after receiving goods
    "Invoice Approval": {"Receive Invoice": {"support": 1.0, "confidence": 1.0}},  # Invoice approval after receiving invoice
    "Make Payment": {"Invoice Approval": {"support": 1.0, "confidence": 1.0}},  # Payment after invoice approval
  },
  'precedence': {},  # No precedence constraints specified
  'succession': {  # Combining response and precedence for specific order
    "Create Requisition": {"Identify Need": {"support": 1.0, "confidence": 1.0}},
    "Requisition Approval": {"Create Requisition": {"support": 1.0, "confidence": 1.0}},
    "Create Purchase Order (PO)": {"Requisition Approval": {"support": 1.0, "confidence": 1.0}},
    "PO Approval": {"Create Purchase Order (PO)": {"support": 1.0, "confidence": 1.0}},
    "Receive Goods": {"PO Approval": {"support": 1.0, "confidence": 1.0}},
    "Goods Receipt Confirmation": {"Receive Goods": {"support": 1.0, "confidence": 1.0}},
    "Receive Invoice": {"Goods Receipt Confirmation": {"support": 1.0, "confidence": 1.0}},  # Invoice can arrive after confirmation
    "Invoice Approval": {"Receive Invoice": {"support": 1.0, "confidence": 1.0}},
    "Make Payment": {"Invoice Approval": {"support": 1.0, "confidence": 1.0}},
  },
  'altresponse': {},  # No alternate response constraints
  'altprecedence': {},  # No alternate precedence constraints
  'altsuccession': {},  # No alternate succession constraints
  'chainresponse': {},  # No chain response constraints
  'chainprecedence': {},  # No chain precedence constraints
  'chainsuccession': {},  # No chain succession constraints
  'noncoexistence': {},  # No non-coexistence constraints
  'nonsuccession': {},  # No non-succession constraints
  'nonchainsuccession': {},  # No non-