41 lines
2.2 KiB
Markdown
41 lines
2.2 KiB
Markdown
---
|
|
name: Systematic Enumeration
|
|
description: Forces element-by-element verification for finite sets to prevent counting errors.
|
|
version: 1.0
|
|
user-invocable: true
|
|
disable-model-invocation: false
|
|
---
|
|
|
|
# Systematic Enumeration & Verification Skill
|
|
|
|
## **Objective**
|
|
To eliminate heuristic errors and "hallucinated patterns" when analyzing finite sets. This protocol overrides the model's tendency toward "holistic recognition" in favor of systematic, element-by-element verification.
|
|
|
|
## **Execution Protocol**
|
|
When this skill is triggered, you MUST NOT provide a direct answer immediately. Follow these three phases to ensure accuracy:
|
|
|
|
### **Phase 1: Set Definition**
|
|
Explicitly define the boundaries and members of the finite set being analyzed.
|
|
* **Requirement:** List the members before performing any tests.
|
|
* *Example:* "The set consists of the files in the `/src` directory: [main.rs, utils.rs, types.rs]."
|
|
|
|
### **Phase 2: Atomic Element Testing (O(n))**
|
|
Iterate through every item in the set. For each item, perform a literal check against the target property.
|
|
* **Format:** Use a list or table to force token-level focus on each element.
|
|
* **Structure:** `[Item] -> [Logic/Observation] -> [Boolean Result]`
|
|
* *Note:* For character-based tests, split the string into individual characters to bypass tokenization bias.
|
|
|
|
### **Phase 3: Reduction & Summation**
|
|
Aggregate the `True` results from Phase 2 to derive the final answer.
|
|
* **Self-Correction:** Verify that the count of items tested in Phase 2 exactly matches the count of the set defined in Phase 1. If there is a mismatch, restart Phase 2.
|
|
|
|
## **Constraints & Anti-Patterns**
|
|
* **STRICT BAN on Heuristics:** Do not use phrases like "typically," "usually," or "it appears that."
|
|
* **NO Pattern Matching:** Do not extrapolate a rule (e.g., "every other item") as a substitute for testing every item.
|
|
* **Computational Justification:** Treat the process as an $O(n)$ operation where $n$ is small enough that accuracy is the only priority.
|
|
|
|
## **Trigger Scenarios**
|
|
* Counting specific characters or substrings within a string.
|
|
* Verifying property adherence across a list of variables, files, or objects.
|
|
* Membership testing in sets where false negatives are high-risk.
|