Source: https://guthlabs.ai/docs/instruments/big-o-growth-comparison-plotter/mechanism/

instrument mechanism / verified-clean

# Big-O Growth Comparison Plotter mechanism

The inspectable method record for Big-O Growth Comparison Plotter, kept separate from implementation and qualification.

Status: **VERIFIED_CLEAN**Lifecycle: **verified-clean**

## Model scope

The computational idea is valid as an educational plotter once canonical representatives, logarithm base, integer-domain rules, crossover semantics, and overflow behavior are specified. The existing honest label correctly identifies the curves as idealized asymptotic curves, but the output wording should also state that values are normalized function values rather than actual runtimes.

- Big-O notation denotes an asymptotic upper-bound class, not a unique numeric function; the instrument must explicitly define canonical representatives such as 1, log2(n), n, n log2(n), n^2, 2^n, and n!.

- The logarithm base is unspecified. Although the base changes only a constant factor asymptotically, it changes plotted values and crossover locations.

- Crossover points are ambiguous unless the instrument specifies whether curves are treated as continuous or only sampled at integer n values, and whether equalities are reported after applying optional constant factors.

- The output label 'at n=X, algorithm takes Y operations' is potentially misleading: these are idealized function values, not measured operation counts or runtimes.

- Optional constant factors require validation: zero or negative factors cannot be displayed on a positive log-scale plot, and arbitrary factors can substantially change crossover points.

## Units and conventions

- n is a dimensionless count and must be an integer for the factorial curve and for integer-sampled plots.

- These test vectors use log2(n), n log2(n), and the canonical representatives 1, log2(n), n, n log2(n), n^2, 2^n, and n!.

- The n range is inclusive and sampled at integer n values.

- A log-scale y-axis requires every plotted y value to be strictly positive; log2(1)=0 and n log2(n)=0 therefore cannot be rendered on that axis without special handling.

- Constant factors are dimensionless multipliers applied to the canonical representatives.

## Inspectable vector

One of 4 source-bound review vectors:

````
{
  "inputs": {
    "n_values": [
      1
    ],
    "classes": [
      "O(1)",
      "O(log2 n)",
      "O(n)",
      "O(n log2 n)",
      "O(n^2)",
      "O(2^n)",
      "O(n!)"
    ],
    "constant_factors": {
      "O(1)": 1,
      "O(log2 n)": 1,
      "O(n)": 1,
      "O(n log2 n)": 1,
      "O(n^2)": 1,
      "O(2^n)": 1,
      "O(n!)": 1
    },
    "log_base": 2
  },
  "expected_outputs": {
    "samples": {
      "n=1": {
        "O(1)": 1,
        "O(log2 n)": 0,
        "O(n)": 1,
        "O(n log2 n)": 0,
        "O(n^2)": 1,
        "O(2^n)": 2,
        "O(n!)": 1
      }
    },
    "curve_features": {
      "O(log2 n) root": "n=1",
      "O(n log2 n) root": "n=1",
      "log_scale_rendering": "invalid for the two zero-valued curves at n=1"
    }
  },
  "working": "At n=1: O(1)=1. log2(1)=0, so O(log2 n)=0. O(n)=1. O(n log2 n)=1*0=0. O(n^2)=1^2=1. O(2^n)=2^1=2. O(n!)=1!=1. The zero values are mathematically correct but cannot be drawn on a strictly positive log y-axis."
}
````

## Failure boundary

**BREAK_CLAIMED** · SELF_FLAGGED

The hazard probes expose two required failure modes if unguarded: n=0 produces undefined logarithmic values and nonpositive points that cannot be represented on a log-scale chart, while n=1024 overflows the JavaScript Number representation for O(2ⁿ) and O(n!). The implementation should reject, omit, or explicitly label these results. Numeric readouts also depend on the undocumented logarithm-base convention.

## Other records

[01**Overview**](<https://guthlabs.ai/docs/instruments/big-o-growth-comparison-plotter/>)[03**Implementation**](<https://guthlabs.ai/docs/instruments/big-o-growth-comparison-plotter/implementation/>)[04**Qualification**](<https://guthlabs.ai/docs/instruments/big-o-growth-comparison-plotter/qualification/>)

## Sources and evidence

These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.

- `VERIFIED_LEDGER.json`

- `evidence-tranche6/tranche6-results.json`

- `BOUNDARY_HAZARD_CATALOG.json`
