Concrete example first
Model a small monitoring system with two contexts:
raw: raw events,clean: normalized events.
A morphism raw -> clean represents normalization. Now decide coverage: maybe each trace is covered by its identity only, or maybe multiple partial views cover clean. Next attach local recognition logics (H_{raw}) and (H_{clean}), each a finite Heyting algebra, with a reindexing map along raw -> clean.
This already gives the core local setup for GFRTU.
Formal lesson content
A GFRTU begins with:
- a trace site ((T,J)): small category (T) plus Grothendieck topology (J),
- a fibered recognition system: finite Heyting algebras (H_t) and structure-preserving reindexing maps (H(f):H_{t’}\to H_t).
The site defines locality and gluing; the fibers define local logic.
How to build this in practice
- List traces you can represent.
- Define morphisms that encode refinement or transport.
- Declare covering families for each trace.
- Assign a finite Heyting algebra to each trace.
- Define reindexing maps that preserve order and Heyting operations.
Common mistakes
- Using traces with no explicit morphisms.
- Treating “cover” informally instead of as topology data.
- Choosing reindexing maps that break functoriality or logical structure.