# types/reason.concept.types.ts

> 63 lines of code and 9 definitions.

Tree: GovLab Context
Language: typescript
Layer: infrastructure
Canonical: https://banes-lab.com/anatomy/context#file-context-types-reason-concept-types-ts
Source text: https://banes-lab.com/source/context/types/reason.concept.types.ts.txt

Listed in [types](https://banes-lab.com/api/source/context/types.md), after [types/ontology.types.ts](https://banes-lab.com/source/context/types/ontology.types.ts.md) and before [types/reason.node.types.ts](https://banes-lab.com/source/context/types/reason.node.types.ts.md).

## Definitions

- `Dimension` (interface_declaration, line 3, exported)
- `Lens` (interface_declaration, line 11, exported)
- `Mode` (interface_declaration, line 24, exported)
- `Representation` (interface_declaration, line 31, exported)
- `MathDomain` (interface_declaration, line 38, exported)
- `PatternType` (interface_declaration, line 45, exported)
- `Model` (interface_declaration, line 52, exported)
- `UniversalAxis` (interface_declaration, line 61, exported)
- `ReasonMaps` (interface_declaration, line 68, exported)

## Contained in

- [types](https://banes-lab.com/anatomy/context/folder-context-types.md)

## Source

```typescript
import type { CycleRecursion } from "#types/reason.node.types";

export interface Dimension {
    id: string;
    question: string;
    mathNature: string;
    mathDomains: string[];
    aliases?: string[];
}

export interface Lens {
    id: string;
    label?: string;
    question: string;
    nature: string;
    universalAxis: string;
    mathDomains: string[];
    mathFields: string[];
    surfaces?: string[];
    detectedBy?: string[];
    aliases?: string[];
}

export interface Mode {
    id: string;
    practice: string;
    question?: string;
    aliases?: string[];
}

export interface Representation {
    id: string;
    label?: string;
    expression: string;
    aliases?: string[];
}

export interface MathDomain {
    id: string;
    studies: string;
    question: string;
    aliases?: string[];
}

export interface PatternType {
    id: string;
    label?: string;
    viewpoint: string;
    aliases?: string[];
}

export interface Model {
    id: string;
    question: string;
    sequence: string[];
    stepKind: string;
    recursion?: CycleRecursion;
    aliases?: string[];
}

export interface UniversalAxis {
    id: string;
    question: string;
    subsumes: string[];
    aliases?: string[];
}

export interface ReasonMaps {
    patternOperations: string[];
    invariants: Record<string, string[]>;
    foundations: { sequence: string[]; layers: Record<string, string[]> };
}
```
