/ specs / construct_language_cl_rel_1_spec.tex
construct_language_cl_rel_1_spec.tex
  1  \documentclass[11pt]{article}
  2  
  3  \usepackage[margin=1in]{geometry}
  4  \usepackage{microtype}
  5  \usepackage{booktabs}
  6  \usepackage{longtable}
  7  \usepackage[hidelinks]{hyperref}
  8  \usepackage{amsmath}
  9  
 10  \title{CL-REL-1 --- Typed Relation Constraints (Graph Type-Checking)}
 11  \author{}
 12  \date{January 13, 2026}
 13  
 14  \begin{document}
 15  \maketitle
 16  
 17  \section{Purpose}
 18  
 19  CL-NORM-* makes constructs reproducible in geometry and scope. CL-REL-1 makes constructs reproducible in \textbf{relation semantics}
 20  by adding a small type-checking layer over the instance graph.
 21  
 22  This is not natural-language grammar. It is \textbf{graph validity}: certain nodes are not allowed to emit relations, and certain
 23  relation kinds require minimal structure.
 24  
 25  \section{Node Role Types}
 26  
 27  Each instance is assigned a role-type from its glyph code:
 28  
 29  \begin{itemize}
 30    \item \textbf{frame}: scope containers (e.g., \texttt{G30}.. \texttt{G35}, plus seed frames)
 31    \item \textbf{stance}: epistemic overlays (e.g., \texttt{G17}, \texttt{G22}, \texttt{G36}..\texttt{G40})
 32    \item \textbf{relation}: relation carriers (e.g., \texttt{G65}..\texttt{G78} plus \texttt{G02}, \texttt{G09}, \texttt{G16})
 33    \item \textbf{operator}: transformation carriers (notably \texttt{G79}..\texttt{G101} and other operator glyphs)
 34    \item \textbf{object}: everything else
 35  \end{itemize}
 36  
 37  Role typing is inventory-dependent but deterministic.
 38  
 39  \section{Edge Types}
 40  
 41  A CLX \texttt{link} contains a field \texttt{t} (edge type). CL-REL-1 covers:
 42  
 43  \begin{center}
 44  \begin{tabular}{@{}ll@{}}
 45  \toprule
 46  Edge type & Intuition \\
 47  \midrule
 48  edge & undirected adjacency \\
 49  morphism & directed transform \\
 50  equivalence & undirected sameness \\
 51  inclusion & directed membership \\
 52  projection & directed reduction \\
 53  embedding & directed injection \\
 54  dependency & directed soft dependence \\
 55  feedback & cyclic/return relation \\
 56  alignment & undirected axis correspondence \\
 57  resonance & undirected coupling-by-oscillation \\
 58  separation & undirected gap relation \\
 59  coupling & undirected tight coupling \\
 60  ordering & directed priority ordering \\
 61  bidirectional\_flow & undirected two-way flow \\
 62  constraint\_link & undirected relation under a bound \\
 63  correlation & undirected association \\
 64  \bottomrule
 65  \end{tabular}
 66  \end{center}
 67  
 68  \section{CL-REL-1 Rules}
 69  
 70  \subsection{R1: Frames do not emit relations}
 71  
 72  A \textbf{frame} instance MUST NOT contain a \texttt{links} field (or it must be empty). Frames define scope only.
 73  
 74  \subsection{R2: Stances do not emit relations}
 75  
 76  A \textbf{stance} instance MUST NOT contain a \texttt{links} field (or it must be empty). Stance is applied by topology/overlay,
 77  not by edges.
 78  
 79  \subsection{R3: Targets cannot be frames}
 80  
 81  No link may target a \textbf{frame} instance id. Cross-scope relations must be expressed by placing related nodes in a shared
 82  frame scope (or via explicit channel constructs), not by pointing at the container itself.
 83  
 84  \subsection{R4: Allowed source/target role sets}
 85  
 86  For all link types, the source role MUST be one of:
 87  \[
 88  \{\text{object},\ \text{operator},\ \text{relation}\}
 89  \]
 90  and the target role MUST be one of:
 91  \[
 92  \{\text{object},\ \text{operator},\ \text{relation}\}
 93  \]
 94  
 95  \subsection{R5: Undirected link carriers must be relation nodes}
 96  
 97  For undirected link types:
 98  \[
 99  \{\texttt{edge},\texttt{equivalence},\texttt{alignment},\texttt{resonance},\texttt{separation},\texttt{coupling},\texttt{bidirectional\_flow},\texttt{constraint\_link},\texttt{correlation}\}
100  \]
101  the \textbf{source role MUST be relation}. This encourages consistent representation: undirected semantics are carried by an explicit
102  relation node rather than ambiguous directionality.
103  
104  \subsection{R6: Minimum arity for undirected relation carriers}
105  
106  If a relation instance emits any undirected link type (as above), it MUST emit at least \textbf{two} total links. (Association requires
107  at least two participants.)
108  
109  \subsection{R7: Cross-scope edges are warnings}
110  
111  If source and target have different inferred scopes, this is \textbf{not an error} but a warning. Cross-scope edges are allowed, but
112  authors are encouraged to represent bridging explicitly using channel frames or shared frames.
113  
114  \section{Validator Output}
115  
116  A validator produces:
117  \begin{itemize}
118    \item a list of \textbf{errors} (construct invalid)
119    \item a list of \textbf{warnings} (construct valid but potentially ambiguous)
120  \end{itemize}
121  
122  \end{document}