> ## Documentation Index
> Fetch the complete documentation index at: https://docs.brik64.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Monomer Tutorial

> Learn how to select and use BRIK64 monomers.

A monomer is the smallest named operation in the BRIK64 vocabulary. Agents should use monomers to make logic explicit instead of hiding behavior in ad hoc helper code.

## Selection Flow

1. Identify the operation in plain language.
2. Search the [Monomer Catalog](/monomers/catalog).
3. Prefer core monomers when they express the operation.
4. Use extended monomers only when the behavior crosses into external or specialized domains.
5. Record any external dependency before composing the PCD.

## Numeric PCD Example

```pcd theme={null}
PC byte_total {
    fn byte_total(a: i64, b: i64) -> i64 {
        return MC_00.ADD8(a, b);
    }
}
```

This circuit uses:

| Monomer      | Purpose                         |
| ------------ | ------------------------------- |
| `MC_00.ADD8` | Add two bounded numeric inputs. |

## SDK-Level String Example

String helpers such as concat and length are available as SDK concepts, but are
not direct PCD parser calls in the current public CLI beta. Keep them in SDK
examples until the release notes list string PCD parser support.

```pcd theme={null}
// Roadmap / SDK-level concept, not current CLI PCD syntax:
// MC_40.CONCAT(prefix, code)
// MC_43.LEN(label)
```

Review the relevant release and catalog before relying on detailed arithmetic behavior. Public docs list the vocabulary; precise semantics belong to the compiler-facing source and evidence for the release.

## Agent Checklist

* The monomer exists in the catalog.
* The family matches the intended behavior.
* The PCD keeps control flow explicit.
* Extended behavior is recorded before composition.
* The final explanation names each monomer used.
