Mathematical Lens Use
About this pattern
This is a generated FPF pattern page projected from the published FPF source. It is canonical FPF content for this ID; it is not a FPF Reference product feature page.
How to use this pattern
Read the ID, status, type, and normativity first. Use the content for exact wording, the relations for adjacent concepts, and citations to keep active work grounded without pasting the whole specification.
Type: Architectural pattern Status: Stable Normativity: Normative unless explicitly marked informative
Plain-name. Mathematical lens use.
Primary EntityOfConcern. C.29 concerns a declared mathematical-lens use for a stated phenomenon, EntityOfConcern, relation, claim, or structure-bearing situation. The use names the mathematical object, formalism, learned representation, simulation object, local formal role, or mathematical family; the mapping mode; the preserved structure; the lost structure; the visible payoff or obstruction; the declared lens use; the blocked overread; and the stop condition. FPF-governed wording, pattern examples, method notes, review records, PublicationUnits, decision-facing text, comparison-facing text, bridge-facing text, and assurance-input text can contain or cite that use, but they are not the primary EntityOfConcern of C.29.
Slot discipline. C.29 uses CandidateMathObject for the mathematical object, formalism, learned representation, simulation object, local formal role, or family in a declared mathematical-lens-use relation. U.Signature(profile=FormalSubstrate) in A.6.0 is a different relation position: it declares vocabulary, laws, imports, and applicability for a formal-deductive profile. A.6.1 governs mechanism import or realization when that U.Signature(profile=FormalSubstrate) declaration is used in a mechanism; E.18.1 governs P2W carry-through when accepted problem-side material needs that formal declaration for later work. The same mathematical object may appear in several of these positions, but the governing pattern is selected by relation position and claim being made, not by a source-local head word.
Output boundary. C.29 outputs are lens-use notes, one-line entries, mini-cards, full cards, and neighboring-pattern notes. They state which declared mathematical-lens use is bounded as usable, what remains blocked, and which neighboring FPF pattern governs any non-lens claim being made. Project approval, work, evidence, assurance, decision, or release use must be recorded through the governing pattern for that use.
No new U.* from C.29 local lens-use outputs. MathLensUse.OneLine, MathLensUse.MiniCard, MathLensUse.FullCard, MathLensUse.Card@Context, MathLensUseOutputRef, and CC-C29-* are C.29-local instruments. They do not mint U.MathLens, U.MathLensUseRecord, LensKind, MathLensUseCompliance, or a durable record family. Durable names, kinds, or records require an accepted FPF naming and kind decision through F.18, C.3, F.8, and E.9.
Use this card before the full card. It is enough for the first use pass unless publication, bridge, assurance input, benchmark, model selection, prediction, formal pattern claim, or repeated cross-case use is being made.
Keywords
- mathematical lens
- structure-preserving representation
- lens mapping mode
- preserved structure
- lost structure
- invariants
- stop condition
- scale window
- coarse-graining
- rival lens
- LensUseAdmissibilityValue
- validation boundary
- learned lens
- ontology smuggling.
Relations
C.29:13aContent
First-use card
Use this card before the full card. It is enough for the first use pass unless publication, bridge, assurance input, benchmark, model selection, prediction, formal pattern claim, or repeated cross-case use is being made.
Start with the useful lens decision: choose, apply, bound, replace, or remove a mathematical lens when the mathematical structure changes explanation, decision, prediction, comparison, publication, bridge, assurance input, reusable transfer, or the next lens-use repair. If no next lens-use move changes, keep ordinary prose or write NoMathLensUseNeededNote. If state, transition, measurement, causal use, bridge semantics, temporal adequacy, assurance, selector, benchmark, or release is the claim being made, apply the governing FPF pattern and keep C.29 to the mathematical-lens use part.
Problem frame
FPF already uses mathematical structures in several local patterns. A.6.P asks for stable relation-precision structure during relation precision restoration; A.3.3 governs dynamics; A.19 governs characteristic spaces and structural overlays; C.18.1 and C.19.1 govern scale-law and Bitter-Lesson claims; C.26 contains the separation of a quantum-like lens from physical quantum ontology; F.9 governs cross-context bridges and loss.
The positive need is as important as the guard. In working projects, first-principles mathematical thinking starts from the smallest declared structure that can make a next move derivable, inspectable, or honestly blocked. A queue can expose waiting and bottlenecks, a state space can expose variables and transitions, a graph can expose dependencies, a metric-space distance or topology can expose comparability limits, a symmetry can expose invariants, a variational principle or constrained optimization functional can expose an extremal condition, constrained variation space, boundary condition, conservation link, or trade-off, an information or probability measure can expose uncertainty, a resource bound can expose realizability limits, and an obstruction can expose where a transfer or simplification stops.
The missing FPF rule is general but narrow: when FPF-governed wording, a pattern example, method note, review record, PublicationUnit, or neighboring-pattern note uses or plausibly needs a mathematical object, formalism, or family for explanation, decision, prediction, comparison, publication, bridge, assurance input, or reusable application, the C.29 application records the useful first-principles modeling structure and its boundary. It names the candidate mathematical object or family, what structure is preserved, what structure is lost, what invariant, lens-bounded distinction, obstruction, diagnostic boundary, or constructive limit becomes visible, which LensUseBoundaryValue value is declared for that use, and where the mathematical-lens use stops.
A C.29 application is justified when a mathematical object is used for explanation, decision, prediction, comparison, publication, bridge, assurance input, or reusable transfer, or when a stable working problem is under-lensed and a cheap candidate lens could expose useful structure for the next move. Mathematical appearance alone is not enough.
The first move is not a full-card demand. It is a first-principles entry decision: choose the smallest mathematical structure that changes the next lens-use move, keep ordinary prose when no mathematical structure changes the move, or apply the governing FPF pattern when the claim being made is outside the declared lens use. The result records what the lens preserves, what it loses, what it makes visible, what remains blocked, and where the use stops.
Selected compact formulation:
A useful mathematical lens is compression with invariants and declared losses.
This compact line is retained as a Plain-register orientation, not as a substitute for the card. It keeps the useful metaphor of a lens: a mathematical object can make a hidden structure visible, but only by carrying some structure and dropping other structure. The first practitioner questions are: what survives the transfer, what is lost, what can now be done, and where does the lens stop?
First-minute working situation
A practitioner applying FPF faces a working situation where ordinary prose can hide useful structure, or where a mathematical phrase is already doing work:
- waiting, backlog, bottleneck, or throughput can call for a queue or flow lens;
- state change, stabilization, control pressure, or forecast can call for state-space or dynamics vocabulary;
- dependency, interface, composition, or transfer failure can call for graph, hypergraph, category, operad, or compositional vocabulary;
- similarity, distribution shift, population movement, or shape change can call for metric-space distance, topology, embedding, or optimal-transport vocabulary;
- scale transition, coarse behavior, universality, knee, or scaling pressure can call for coarse-graining, RG, or scaling-law vocabulary;
- probe effects, order effects, context effects, or incompatible frames can call for quantum-like or contextual-probability vocabulary.
The useful first-minute intuition is not “hunt for overclaim.” It is “find the structure that would improve the next move, then name the limits.” A vivid phrase can remain when the C.29 output records what the lens makes visible, what it does not license, and which governing pattern governs any causal, evidence, bridge, dynamics, scale, measurement, assurance, or release claim.
Without a general lens-use discipline, the reader cannot tell whether the phrase is a bounded structure-preserving representation, an analogy-only prompt, an ungrounded ontology import, a local domain model, or prestige language.
Minimum scenario and anti-case set
Positive scenario. A production line is represented as a queueing network. The lens preserves flow, bottlenecks, service rates, and waiting times; it loses human meaning, contractual obligations, rare failure modes, and causal interventions not represented by the network; the stop condition says that the queueing lens is declared usable for throughput and latency reasoning, not a full organizational ontology.
Anti-case. “The organization is a quantum system” is written without a candidate mathematical object, probe distinction or readout distinction, preserved structure, lost structure, LensUseBoundaryValue, or stop condition. The C.29 result is either a downgrade to local metaphor or a repaired use through C.29 and, where relevant, C.26.
Under-lensed anti-case. “The work stream has dynamics” or “this portfolio is a network” is used for a diagnosis that affects prediction, comparison, repair, or stop conditions, but no mathematical object changes what can be predicted, compared, diagnosed, repaired, or stopped. The repair is to choose a cheap candidate lens that exposes useful structure, or keep the sentence as ordinary prose.
False-positive scenario. A Markov kernel appears inside accepted local reliability modeling. If no contested lens-transfer, publication, assurance, bridge, or reusable explanation claim is being made, the claim stays under A.3.3 and does not require a C.29 output.
Intended FPF use-value
C.29 gives a cheap-output choice before any full card or boundary table. Its first job is to help the working reader introduce, choose, repair, bound, or decline a mathematical lens by selecting the cheapest honest output: no C.29 output, a candidate note, a one-line repair, a mini-card, a full card when high-reliance use requires it, or a neighboring-pattern note when the claim being made is outside declared mathematical-lens use. Use it only when the mathematical lens affects a claim or next move; ordinary local math and decorative prose stay outside C.29. A successful C.29 result makes useful mathematical compression available to FPF as a disciplined modeling move while reducing ontology smuggling, prestige vocabulary, loss-free transfer, causal laundering, bridge duplication, evidence laundering, and assurance laundering.
Problem
Accepted FPF mathematical-lens use criteria are distributed and local:
A.6.Pgoverns relation precision restoration, but not every mathematical-object transfer.A.3.3governs state, transition, observation, validity, constraints, and calibration for dynamics, but not all mathematical representation choices.A.19governs characteristic spaces, structural overlays, comparability, normalization, and bridge-aware state comparison, but not the adequacy of all mathematical lenses.C.18.1andC.19.1govern scale-law and BLP claims, but not non-scale mathematical lenses.C.26is the local precedent for mathematical-lens detachment, but only for quantum-like modeling.F.9governs cross-context semantic bridges, but does not decide whether a mathematical object, formalism, or learned representation is adequate inside one context or as a domain-transferring lens.
There are two symmetric failure modes.
The first failure mode is mathematical under-lensing: a working situation needs a mathematical lens that changes prediction, comparison, diagnosis, repair, or stop conditions, but the record contains only ordinary prose, familiar school math, or a broad family name such as graph, field, space, score, trend, dynamics, or quantum-like without a useful invariant, obstruction, state variable, mapping, scale behavior, rival lens, or action-changing payoff.
The second failure mode is mathematical overread:
a mathematical phrase begins as a helpful representation and then silently becomes ontology, evidence, causality, comparability, assurance, or use-boundary claim.
Forces
Solution and selected answer
Selected answer in one paragraph
C.29 — Mathematical Lens Use is the general FPF discipline for mathematical lenses used in explanation, decision, prediction, publication, comparison, assurance input, bridge, or reusable transfer. It handles two first-use cases, with the positive case first: an under-lensed situation where the next lens-use move can benefit from a cheap first candidate lens; and an existing candidate lens proposed for application, repair, bounding, replacement, or rejection. Its job is to help the reader introduce, choose, apply, limit, replace, or remove a mathematical lens so that a useful next lens-use move survives. A mathematical lens is usable for a declared use when it compresses a phenomenon by preserving declared structure, exposing useful invariants, and producing lens-bounded predictions, distinctions, obstructions, or diagnostic boundaries inside a bounded context. It is blocked for an undeclared or out-of-bound use when it imports source-domain ontology, hides loss under metaphor, treats source prestige as evidence, or licenses claims outside its declared scale, context, validation, bridge, causal, or assurance boundary.
C.29 does not mint MathLens, U.MathLens, LensKind, or any universal FPF lens object. In this pattern, “mathematical lens” names a declared use of a mathematical object, formalism, learned representation, simulation object, or mathematical family under declared mapping, preserved structure and lost structure, LensUseBoundaryValue, declared lens use, and stop condition; the target phenomenon and any claim outside that declared lens use keep their own FPF kinds.
Naming boundary: C.29 governs mathematical-lens use claims. It does not mint mathematical-lens kinds, and it does not govern or create the EntityOfConcern named by a neighboring claim-bearing episteme, Bridge, evidence path, causal-use relation, assurance score, measurement construction, dynamics semantics, decision record, work record, explanation rendering, comparative review unit, representation transition, coarsened rendering, selector, benchmark, or scale audit. Its outputs are local lens-use outputs unless another accepted FPF pattern names a durable FPF kind.
Mathematical Lens Use Principle
Mathematical Lens Use Principle. A mathematical lens is usable for a declared use when it compresses a phenomenon by preserving declared structure, exposing useful invariants, and producing lens-bounded predictions, distinctions, obstructions, or diagnostic boundaries inside a bounded context. It is blocked for an undeclared or out-of-bound use when it imports source-domain ontology, hides loss under metaphor, treats source prestige as evidence, or licenses claims outside its declared scale, context, validation, bridge, causal, or assurance boundary.
Compact plain form:
A useful mathematical lens is compression with invariants and declared losses.
Register policy: Tech exactness below, Plain metaphor above. Plain phrases such as “structures that survive transfer,” “what the lens makes visible,” and “where the lens stops” are acceptable as recognition aids. When a sentence makes an FPF-kind, relation, evidence, use-boundary claim, causal, assurance, bridge, gate, work, decision, or pattern-application commitment, the corresponding C.29 output recovers the fields named by value and governing patterns.
Zero and first-principles compatibility note: E.1 and E.2 govern the mission and pillar authority. C.29 serves them by making mathematical first-principles lens use inspectable for one declared use: candidate mathematical object, preserved structure, lost structure, visible payoff, bounded move, neighboring-pattern boundary, and stop condition. It does not replace pillar authority, neighboring governing patterns, ordinary FPF reasoning, or the E.9 design-rationale record for normative changes.
Mathematics is not a prerequisite for FPF use. Ordinary prose is enough when no mathematical structure changes the next lens-use move. C.29 earns its place only when a mathematical object, formalism, learned representation, simulation object, or mathematical family changes explanation, decision, prediction, comparison, publication, bridge, assurance input, reusable transfer, or the next lens-use repair.
Plain and Tech bridge:
State and transition semantics stay with A.3.3; temporal aspects stay with C.27.TA; characteristic spaces and overlays stay with A.19; temporal-use adequacy stays with C.27; scale-law and general method-scale preference claims stay with C.18.1 and C.19.1; architecture scale-preference claims stay with C.31.ASAP; causal-use question and verdict stay with C.28.
Mathematicalization Utility Principle
A mathematical lens is worth introducing only when it changes the working reader's next lens-use move by making at least one first-principles modeling structure visible:
- a declared signature, structure, state variable, transition, or observation map;
- a symmetry, invariant, conservation-like constraint, equivalence, or composition rule;
- a local-global relation, boundary relation, scale variable, coarse-graining rule, scale window, or correspondence condition;
- a variational principle, action, energy, free-energy, loss, or value functional, Euler-Lagrange or stationarity condition, constrained optimization target, dual view, objective vector, or resource trade-off;
- an uncertainty, probability, information, typicality, approximation, sensitivity, or validation boundary;
- an algorithmic, constructive, resource, realizability, implementation, or adversarial limit;
- a bottleneck, obstruction, impossibility, consistency boundary, or failed transfer in the candidate-model space;
- a rival-lens distinction that changes model choice;
- a causal, intervention, or counterfactual preservation question governed by
C.28; - a bridge or export loss governed by
F.9; - a measurement or comparability condition governed by
C.16.
If no next lens-use move changes, keep the text as ordinary prose, downgrade it to a didactic metaphor, or return NoMathLensUseNeededNote. A lens that merely makes prose more impressive is not a successful C.29 result.
First-principles lens-family use
C.29 admits first-principles use only when the principle family changes what the working reader can derive, inspect, compare, observe, or honestly block. The family name is never enough. Each row below is a discovery and recovery discipline: it tells the reader what must be named before claim-bearing mathematical-lens use is bounded for use.
This table is normative as a recovery guide, not as a mandatory taxonomy. A local project may name a closer family, but it must recover the same claim-bearing structure: CandidateMathObject or candidate family, preserved structure, lost structure, visible payoff, lens-use boundary value, and stop condition.
P2W and formal-declaration boundary: when one of these families is used in a P2W carry-through from accepted problem-side material into later work, C.29 still records only the declared mathematical-lens use. A declared formal relation can make mathematical-to-mathematical exactness or near-sameness visible; it does not by itself declare a FormalSubstrate signature, PrincipleFrame, mechanism, observation-bound world claim, evidence path, causal-use relation, Bridge-declared lens use, or work. Use A.6.0 for the U.Signature(profile=FormalSubstrate) declaration, A.6.1 when mechanism import or realization is being claimed, and E.18.1 when accepted problem-side material needs a formal declaration for later FPF use.
Bounded-observer structural-information lens
Use this subcase when a mathematical lens estimates, compresses, codes, compares, or otherwise exposes how much selected structure a bounded observer can recover from a description, relation trace, generated graph, model, or reusable-structure accounting result. Typical examples include MDL-like two-part codes, epiplexity-style extracted-structure estimates, compression-complexity comparisons, and information-functionals over relation graphs. The EntityOfConcern remains the declared mathematical-lens use, not the architecture, not the description, and not the observer.
Minimum record:
When the target is a physical, organizational, or project-world situation, the record must say whether the structural-information claim is observational, postulated, simulated, or only a description-local compression. When the lens is used in architecturing, [C.30](/generated/patterns/C.30) governs architecture as EntityOfConcern, [C.30.ASV](/generated/patterns/C.30.ASV) governs structural-view adequacy, [C.30.AD](/generated/patterns/C.30.AD) governs architecture descriptions, and [C.31](/generated/patterns/C.31) or [C.31.RSA](/generated/patterns/C.31.RSA) governs modularity or reusable-structure accounting. [C.29](/generated/patterns/C.29) records only the declared lens use: what recoverable structure the mathematical lens makes visible, what it loses, and where that use stops.
Architecture-local lens descriptions
Architecture work may use C.29-local descriptions for graph, flow, control, structural-information, RG or coarse-graining, and multilevel-learning or frustration lenses. These names are C.29 output descriptions, not architecture ontology, not proof, and not durable FPF kinds by themselves.
MLU.Description@RGArchitecture applies only when the use names a declared aggregation scope, scale variable or scale window, coarse-graining rule, preserved structure, lost structure, source-return condition, and the overread named by value that the lens does not license. If the claim becomes a scale-preference claim, C.31.ASAP governs the architecture preference side; C.29 keeps only the declared mathematical-lens use.
Minimum RG architecture description:
For architecture work, a common RG-shaped candidate object is:
The index _l is a declared aggregation-scope index inside this C.29 lens, not a generic level, tier, layer, or ladder. Each use names the aggregation scope, the coarse-graining rule, the lost structure, and the source-return condition.
MLU.Description@MultilevelLearningFrustration applies only when the use names declared holon levels or declared scopes, a mapping between them, conflicting constraints or residuals, preserved structure, lost structure, and the nearest neighboring FPF pattern for any measurement, causal, evidence, assurance, work, selected-set, or decision claim.
Minimum multilevel-learning and frustration description:
Declared lens use: triage, explanation, candidate generation, rival-lens comparison, scale-window reasoning, source-return triggers, and architecture-decision rationale only when the neighboring pattern governs any non-C.29 claim. Blocked overread: no proof that the project literally optimizes one global function, no causal proof, no assurance score, no claim that complexity necessarily grows, and no replacement for [C.11](/generated/patterns/C.11), [C.28](/generated/patterns/C.28), [B.3](/generated/patterns/B.3), [C.16](/generated/patterns/C.16), [G.5](/generated/patterns/G.5), or stakeholder and ethics patterns.
Use boundary
This boundary prevents C.29 from being over-applied.
Use C.29 when a mathematical object, formalism, learned representation, simulation object, or mathematical family is used as a lens for explanation, decision, prediction, publication, comparison, assurance input, bridge, or reusable transfer over a physical, organizational, epistemic, social, computational, scientific, or methodological phenomenon, or when a phenomenon, decision, explanation, comparison, model-selection, diagnosis, or method-choice problem is stable enough that the first useful move is to choose a cheap candidate lens that makes relevant structure visible.
Do not use C.29 as the governing pattern when:
- the mathematics is ordinary local domain theory already governed by a domain pattern;
- the phrase is a purely didactic analogy that is not reused for decisions, evidence, assurance, publication, bridge, comparison, or transfer;
- the question under repair is causal-use question, causal-use justification, or verdict, which is governed by
C.28; - the question under repair is measurement construction, scale construction, direct comparability, or evidence-stub adequacy, which is governed by
C.16; - the question under repair is cross-context meaning or substitution safety, which is governed by
F.9; - the question under repair is dynamics semantics without a separate lens-transfer claim, which is governed by
A.3.3; - the question under repair is a
CharacteristicSpaceoverlay with no domain-transfer, prediction, assurance, publication, or reusable explanation claim, which stays underA.19. - the use under repair is a
ChoiceResult, local choice record, selected-set publication, selected method,U.WorkPlan, performedU.Work, work-result record, or work-relevant source restoration; those claims stay withC.11,G.5orG.9,A.15,A.15.1, orA.15.4as appropriate. - the use under repair is an explanation-facing rendering, bounded comparative review unit, same-EntityOfConcern representation-scheme transition, or controlled semantic coarsening; those claims stay with
E.17.EFP,E.17.ID.CR,A.6.3.RT, orA.6.3.CSC, with C.29 fields carrying only mathematical-lens use when the mathematical lens affects the stated declared lens use. - the claim being made is about forecast, rate, trajectory, rhythm, recovery, convergence, stabilization, speed, temporal window, or rate-change as sufficient for use; temporal-claim adequacy stays with
C.27.
This boundary keeps mathematical-lens use from becoming a shadow record for neighboring work.
Lexical rule: use structure-preserving representation rather than structure-preserving identification in discoverability-bearing prose, unless equivalence or identity is explicitly the declared LensMappingMode.
Output choice before the full card
Begin with action guidance, not with the full card.
First action choices: keep ordinary prose, introduce a cheap candidate lens, name the CandidateMathObject or formal role that fits the stated use more directly, add visible payoff, add loss, choose the principal rival lens, add validation regime, narrow an existing claim, downgrade an overclaim, or apply the governing FPF pattern to any non-lens claim being made.
Memory hook: a successful C.29 application can raise or lower the mathematical claim-bearing use. It can introduce a first candidate lens, keep ordinary domain prose, remove a mathematical lens, repair relation wording through A.6.P, declare a CharacteristicSpace through A.19, use C.16 for measurement and comparability, apply F.9 for bridge semantics, ask the C.28 causal-use question, restore work or source responsibility through A.15, or apply C.27 for temporal-use adequacy.
No-lens cheap output: name the ProblemStructureCue, choose the cheapest candidate lens family that makes it visible, test whether that lens changes the next lens-use move, and if no move changes, keep ordinary prose or collect more observations before using mathematical-lens wording.
First neighboring-pattern map:
Governing-pattern boundary: C.29 coordinates the declared mathematical-lens use across relation-precision structure, state spaces, characteristic spaces, measurement, dynamics, scale, bridge, causal, evidence, assurance, selector, and benchmark patterns. It does not replace any one of them.
- Find the claim-bearing phrase. Mark the mathematical phrase named by value that affects explanation, decision, prediction, comparison, publication, bridge, assurance-input, or reusable transfer.
- Choose the smallest output class that preserves honesty. The output-class decision happens before any full-card fields.
- Name the concrete mathematical object or structure. Family labels such as
category theory,field,graph,quantum,RG, orgeometryare entry prompts, not adequateCandidateMathObjectvalues for the stated use by themselves. - State the lens mapping mode. Use the least committing honest
C.29-local lens mapping mode: analogy-only prompt, representation, empirical fit, simulation, quotient, abstraction, coarse-graining, embedding, homomorphism, isomorphism, functor-like transfer, cross-context lens-transfer candidate, or accepted local theory. If cross-context meaning, substitution, CL, sense cells, or bridge or substitution use is being claimed,F.9governs that claim; the C.29 fields record only mathematical-lens use for the declared transfer. - State preserved structure and lost structure. This is the central repair move.
- State what becomes visible. Name the invariant, obstruction, fixed point, symmetry, conservation law, diagnostic boundary, lens-bounded distinction, model-selection consequence, or other payoff.
- State the declared lens use and blocked overread. Say what the declared lens use now carries, what remains blocked, and which governing FPF pattern governs any claim being made outside the declared lens use.
- If the claim does not pass, repair rather than merely fail. Downgrade, narrow, switch to a principal rival lens, add
LensUseBoundaryValueor validation regime, split any non-lens claim to its governing FPF pattern, or remove the mathematical phrase from claim-bearing use.
Application output classes:
Micro-template examples:
Architecture and P2W first-use slice:
This filled slice is a C.29 first-use output. It does not declare the formal signature, complete P2W carry-through by itself, select the method, or create work. Those claims are governed by [A.6.0](/generated/patterns/A.6.0), [E.18.1](/generated/patterns/E.18.1), [A.15](/generated/patterns/A.15), [A.15.1](/generated/patterns/A.15.1), [A.15.4](/generated/patterns/A.15.4), [A.10](/generated/patterns/A.10), [C.28](/generated/patterns/C.28), or [B.3](/generated/patterns/B.3) when those claims are being made.
For MathLensUse.OneLine, VisiblePayoff says what the lens makes visible, such as a bottleneck, invariant, obstruction, incompatibility, loss boundary, or diagnostic split. NextLensUseMove says the now-bounded user move, such as compute a local quantity, compare only inside a declared structure, run a validation slice, apply a neighboring pattern, keep the phrase as local metaphor, or remove the phrase from claim-affecting use. ObservationOrReadoutNeeded? names the missing observable, readout, assignment, outcome, validation slice, or scale point needed before the repaired line makes the stated move usable. OrdinaryRivalOrFallback says what the reader would use without this mathematical lens: ordinary prose, accepted local domain theory, direct measurement, a causal model, a queueing model instead of a quantum-like metaphor, an [A.19](/generated/patterns/A.19) space declaration instead of [C.29](/generated/patterns/C.29), or an [F.9](/generated/patterns/F.9) bridge instead of category-like wording. If two mathematical lenses already change the next move at this cheap-output class, add one ordinary-language note about the disagreement and use MathLensUse.MiniCard or MathLensUse.FullCard before claiming a reusable rival-lens relation.
MathLensUse.LensCandidateNote is not evidence, assurance, a bridge, a decision record, a selector result, a literature survey, or a full lens-use card. It is a cheap first-candidate lens selection note. Its successful next outputs are NoMathLensUseNeededNote, MathLensUse.OneLine, or a named neighboring governing-pattern note.
Name guard for this note: ProblemStructureCue is a recognition cue, not a FPF signature; CandidateLensFamily is a family prompt, not a kind; NextLensUseMove is action guidance, not a work record; NextMathLensUseOutput is the next C.29 output class, not a new record family.
Do not use MathLensUse.OneLine with an empty CandidateMathObject. If the candidate object has not yet been named, use MathLensUse.LensCandidateNote first, keep ordinary prose, or write a NeighborGoverningPatternNote when a non-lens claim is being made.
Cheap stop: if the mathematical phrase does not affect any claim beyond orientation, do not use the full card. If the first honest output is NoMathLensUseNeededNote, that is a successful [C.29](/generated/patterns/C.29) result, not an underfilled card.
Output set and declared-use boundary
After applying C.29, the output is one of these:
Positive warning: a successful C.29 output makes the mathematical lens honest for its declared use. Any empirical truth, causal-use, bridge, assurance, release, decision, or benchmark claim still needs its governing FPF pattern.
LensMappingMode, LensUseBoundaryValue, and declared lens use are separate fields.
LensMappingMode names construction, not permission. Typical local values include representation, abstraction, quotient, coarse-graining, embedding, homomorphism, isomorphism, functor-like transfer, simulation, and learned or fitted representation. A broad family name such as graph, field, category, geometry, quantum-like, variational, or Bayesian is only a prompt until the concrete construction and preserved structure and lost structure are named.
LensUseBoundaryValue declares only a limited lens-use boundary:
Declared lens use is not inferred from elegance, familiarity, source prestige, or mapping type. It is stated in declaredLensUse, blockedLensOverread, and StopCondition. Any empirical truth, causal-use, bridge, assurance, release, decision, or benchmark claim remains a separate neighboring-pattern claim.
From lens to local action
Local action change from a mathematical lens is limited to these cases unless a neighboring pattern governs the needed non-C.29 use:
- observe or measure a newly named variable or relation;
- compare only under a declared structure and loss boundary;
- diagnose a bottleneck, obstruction, mismatch, invariant, or failed transfer;
- choose or reject a principal rival lens for this local use;
- narrow, downgrade, or block a tempting overread;
- apply the governing FPF pattern when a claim being made exceeds the declared lens use.
Each item closes either as a local C.29 output or as a named neighboring-pattern application. If the needed result is a work plan, choice result, selector output, benchmark, or evidence record, publish that neighboring result in its governing pattern rather than from this list.
No-lens entry: choosing a first candidate lens
Use this when the next lens-use move can benefit from a mathematical lens but no adequate mathematical object has been named. The output is MathLensUse.LensCandidateNote, not MathLensUse.OneLine and not a full card. State the ProblemStructureCue, choose one cheap CandidateLensFamily, say what it could make visible, name the ObservableOrControllableCue? when available, state the NextLensUseMove, compare it with the OrdinaryRivalOrFallback, and stop if no action changes. If the cue is still pre-articulation and no stable ProblemStructureCue can be named, do not mathematize it; preserve cue plurality through C.2.LS, A.16, A.16.1, B.4.1, B.5.2.0, or the relevant language-state pattern before applying C.29.
Candidate guidance rows are examples for first recognition. Use the row that fits the working cue, or state a closer local cue using the same fields.
MathLensUse.LensCandidateNote is local first-candidate guidance. It does not replace G.2 SoTA synthesis, tradition mapping, or broad lens-family review. Use G.2 when the work being done is tradition-scale source synthesis; use C.29 when the local need is to choose one cheap candidate lens that changes the next lens-use move. The cheap observation and control check does not apply C.16 or A.10 by default; it only asks what the user can observe, read out, assign, vary, or validate now. Measurement construction, evidence relation, intervention-use claim, or validation is still governed by the governing pattern when that claim is being made.
First honest C.29 entry cases
For E.11-style first-entry recognition, distinguish the working entry case before choosing an output:
False-positive bank and entry stops
Do not use a C.29 output for these non-use cases unless a separate lens-transfer, publication, assurance, bridge, comparison, or reusable-explanation claim is being made:
- ordinary ODE inside accepted physics or local engineering model;
- Markov kernel inside accepted stochastic dynamics;
- graph used as a local data structure;
- metric-space distance, topology, order, product, subspace, or embedding declared inside
A.19CharacteristicSpacewith no domain-transfer claim; - category-theoretic proof internal to a domain where that formalism is the local theory;
- one-off pedagogical metaphor not reused for decision, evidence, assurance, publication, bridge, comparison, or transfer.
False-negative bank: use C.29 even when no polished mathematical buzzword appears if the working problem has a structure that changes an next lens-use move and ordinary prose is currently hiding it.
Entry guidance states when C.29 is the first governing pattern and when another pattern is first:
C.29 entry stops are: no C.29 output needed, MathLensUse.OneLine used, or a neighboring governing pattern applied.
Governing-pattern boundary table
A C.29 application uses this governing-pattern discipline so mathematical-lens use stays in the C.29 discipline rather than becoming a second authority over neighboring claims.
Positive claim kind:
A C.29 application gives a pattern-local adequacy discipline for claims that use a mathematical object, formalism, learned representation, simulation object, or mathematical family as a mathematical lens for a stated use. The application asks for candidate mathematical object, lens mapping mode, preserved and lost structure, visible invariant or distinction,
LensUseBoundaryValueor validation regime, declared lens use, blocked overread, and stop condition.
Boundary application rule: when the claim being made is a choice result, work plan, evidence path, assurance tuple, explanation rendering, comparative review unit, representation shift, temporal claim, bridge, causal-use claim, measurement claim, scale-law claim, selector, or benchmark, the NeighborGoverningPatternNote names the governing FPF pattern and project-side record. A C.29 application can contribute a lens-bounded prediction, distinction, obstruction, diagnostic boundary, or rival-lens note that the governing record can cite; it does not create that neighboring record.
Mathematical object or learned representation read as world structure: if a model state, embedding, simulator, category, graph, tensor object, vector-store relation, or learned representation is being used as a mathematical lens for a phenomenon, C.29 records only the declared mathematical-lens use. The output must name TargetPhenomenon, CandidateMathObject, LensMappingMode, PreservedStructure, LostStructure, LensUseBoundaryValue or validation boundary, declared lens use, and StopCondition. Measurement, evidence, assurance, dynamics, causal-use, formal-substrate, characteristic-space, publication, benchmark, selector, work, gate, release, or decision claims remain with the direct governing pattern named in the table below.
MathLensUse.Card@Context shape
MathLensUse.Card@Context is a pattern-local card in C.29. It is not U.MathLensUseCard, U.LensUseRecord, or any universal U.* kind.
Namespace note: MathLensUse.Card@Context, MathLensUseOutputRef, MathLensUse.OneLine, MathLensUse.MiniCard, MathLensUse.FullCard, and CC-C29-* are C.29-local instruments unless they cite existing FPF kinds or refs. MathLensUseOutputRef references the applicable C.29 output for the stated use; it is not a demand for MathLensUse.FullCard. Do not mint generic suffixes such as SystemMathLensUse, MathLensUseQuality, or MathLensUseCompliance. Durable cross-pattern MathLensUse.* names, records, or refs require explicit minting or reuse plus naming, kind, and design-rationale decisions through F.8, F.18, C.3, and E.9; otherwise they remain pattern-local labels.
Read MathLensUse.Card@Context through three aspects:
Validity boundary: mathematical validity of the object under its assumptions is not the same as representational adequacy to the phenomenon; representational adequacy is not empirical validation for a use; empirical validation is not a causal-use verdict; a causal-use verdict is not assurance, release confidence, decision sufficiency, or benchmark superiority.
Conditional fields apply only when the corresponding neighboring claim, claim-bearing use, or publication use is being made:
Plain card gloss. A useful mathematical lens says: what phenomenon is being seen, through which mathematical object, by what mapping, what survives, what is lost, what becomes visible, what lens-use boundary value and validation boundary make this use bounded, the now-bounded user move, the blocked user inference, and where the lens stops.
Conditional overlays
The base card stays light. These overlays are used only when their corresponding use is being made. Ordinary C.29 use does not fill this block; it escalates here only when the claim is already publication-facing, assurance-input, benchmark, bridge, model-selection, prediction, scientific or model, learned-lens, or causal-use facing.
Use the validation overlay when the lens is used for prediction, publication, assurance input, benchmark use, model selection, or scientific claim or model claim. LensUseBoundaryValue alone is then insufficient. Keep the neighboring notions separate: verification is proof or formal checking under stated assumptions; validation is fit for a declared use and regime; calibration aligns model parameters or readouts with observations; explanation states why the lens makes a distinction intelligible. The C.29 output does not let any one of these four labels silently stand in for the others.
Use the learned-lens overlay when the mathematical object is fitted, learned, latent, simulation-trained, data-derived, a neural operator, a surrogate solver, an embedding, or a world-model representation.
Learned-lens stop variants are named explicitly when they are tempting:
This is not a first-class causal abstraction card. It is a lightweight check: when LensMappingMode is abstraction, quotient, coarse-graining, macro-model, or simulation, and declaredLensUse would include intervention, policy, counterfactual, or causal explanation, apply [C.28](/generated/patterns/C.28) for causal-use question and verdict.
Repair decision table
Field meanings
Neighboring-pattern boundaries
Neighboring patterns remain necessary and are not displaced. A retained neighboring-pattern application note answers the working question for the neighboring pattern being used: what does the reader do with the mathematical lens now? State the neighboring-pattern trigger and the first bounded move for that neighboring pattern. If a note only repeats that C.29 does not replace a neighbor, keep that boundary in the C.29 governing-pattern table instead of copying generic boundary prose into the neighboring pattern:
A.6.Phandles relation precision restoration.A.3.3handles dynamics semantics.A.19handles characteristic spaces, overlays, normalization, and comparability.F.9handles cross-context semantics and Bridge loss.C.18.1andC.19.1handle scale-law and BLP claims.C.26handles one specific quantum-like lens family.C.28handles causal-use question and verdict.A.10andB.3handle evidence and assurance.C.11,A.15,A.15.1, andA.15.4handle choice results, method and work separation, work plans, performed work, and work-relevant source restoration.E.17.EFP,E.17.ID.CR,A.6.3.RT, andA.6.3.CSChandle explanation-facing renderings, bounded comparative review units, same-EntityOfConcern representation-scheme transitions, and controlled semantic coarsening.C.27.TAhandles temporal aspects;C.27handles temporal-claim adequacy.
Use the C.29 discipline when the question under repair is: Is this mathematical lens adequate for this declared use, and where does it stop?
Naming, ontology, and epistemic precision-restoration account
Name
Name: C.29 — Mathematical Lens Use.
Local namespace: MathLensUse = Mathematical Lens Use. No prior temporary code is reused; the pattern-local card and reference namespace uses MathLensUse; checklist IDs use CC-C29-*.
The stable name is Mathematical Lens Use because C.29 governs a declared use and its use boundary, not intensity on an unnamed scale. Plain prose can still say that a useful mathematical lens compresses many cases while preserving declared distinctions; claim-bearing use is recovered through CandidateMathObject, LensMappingMode, PreservedStructure, LostStructure, LensUseBoundaryValue, and StopCondition.
C.29-local naming guard
MathLensUse.* instruments are C.29-local unless separately admitted. They are not U.* kinds, not durable FPF record families, and not substitutes for U.Kind, KindSignature, KindBridge, BridgeCard, EvidenceGraph, ChoiceResult, U.WorkPlan, U.Work, or assurance records.
Do not mint LensKind, MathLensKind, MathLensUseQuality, MathLensUseCompliance, or MathLensUseRecord from C.29 use.
When one C.29 application needs a mathematical-lens name to become reusable outside that application, use F.18 local-first naming; when it quantifies over a class of described entities, use C.3 Kind-CAL; when it creates or reuses a durable concept or record family, use F.8 minting or reuse and E.9 design-rationale discipline.
Tempting wrong names rejected
Ontology guard selected for FPF
A physical, organizational, or epistemic phenomenon is not directly identified with a mathematical object; it is represented through a mathematical object by an explicitly declared mapping that preserves some structures and loses others.
C.2.P recoveries applied
Rationale
Why this improves FPF
The selected first-principles position in C.29 is operational, not metaphysical. It treats first-principles mathematical thinking as local construction discipline: declare the smallest structure, rule, invariant, resource condition, observation, or consistency boundary from which the next move follows or is blocked. In that sense, a C.29 application puts mathematical construction before adequacy control: the reader can introduce a queue, graph, state space, measure, topology, algebraic structure, variational quantity, simulation object, or learned representation when that structure improves the work, and then record the mapping, preserved structure, lost structure, lens-use boundary value, and stop condition.
First-principles mathematical structures can come from several families without turning any one family into an FPF-wide foundation: signatures, logics, axioms, type or abstraction distinctions, symmetries, invariants, compositional structure, local-global relations, scale relations, boundary conditions, variational principles, action, energy, free-energy, loss, or value functionals, constrained optimization structure, probability, information, typicality, algorithmic construction, resource bounds, implementation constraints, consistency boundaries, causal or intervention-preservation questions, operator or function-space mappings, and declared observation maps. Each use still needs declared mapping, preserved structure, lost structure, validation regime or lens-use boundary value, and stop condition.
This fits FPF because FPF already commits to state explicitness, bounded contexts, evidence and assurance, cross-context bridges, open-ended evolution, SoTA alignment, notational independence, and avoidance of ornamental formalism.
C.29 makes an existing discipline explicit: when FPF uses a CandidateMathObject, local formalism, learned representation, simulation object, or mathematical family as a mathematical lens for a stated use, the C.29 application declares what that use preserves, what it loses, what it makes visible, which rival lenses still change the next lens-use move, and where its declared lens use stops.
The compact Plain line remains useful because it points to a real heuristic: good mathematical lenses are not decoration; they are compact ways of seeing structures that survive transfer. The Plain line stays readable, while the card and checklist record the FPF commitments named by value.
Alternatives rejected
Pillar impact analysis
Principle-taxonomy balance
Consequences and validation harness
Validation harness for stable-pattern review and material refresh
For stable-pattern review or material refresh of C.29, run a small C.29 validation harness. The harness is not a benchmark mandate and not a tool requirement. It is a repeatable validation check that the pattern yields correct first outputs, avoids false positives, preserves neighboring-pattern writing boundaries, and keeps the first useful move visible.
This subsection governs steward-side validation, not the ordinary C.29 user application. A working user applies the output-choice discipline and chooses the cheapest honest output; they do not run the harness merely to decide between ordinary prose, MathLensUse.OneLine, MathLensUse.MiniCard, or NeighborGoverningPatternNote.
C.29 output-change conditions:
Smallest source-return and output-change conditions:
AI-assisted thin-echo result rule:
C.29 edge-case boundary results:
Harness shape:
Minimum harness cases:
Reader-fit checks for stable-pattern review or material refresh:
Archetypal grounding
Worked micro-cases by failure mode:
Vanchurin-style universe-as-learning is not an ordinary first grounding archetype. Keep it in the validation harness and SoTA use as a candidate stress test: it can teach overclaim control and adapt-not-adopt discipline, but it does not ground accepted physics, assurance, quantitative law, or routine lens use.
Bias annotation
Conformance checklist
C.29 checklist verifies the output-choice discipline without replacing the Solution. Candidate-lens guidance belongs in C.29:4.4.3 or worked grounding, not in this checklist; the checklist verifies only that the cheapest honest output and next lens-use move remain visible.
Common anti-patterns
SoTA-echoing account
SoTA source use for C.29 is accepted only when it changes action guidance. A citation that only decorates the file does not establish C.29 use.
C.29 separates source-use relations from source-use disposition. Adopt, Adapt, Reject, and candidate-stress-test disposition say what FPF does with the source; SourceUseRelation says what work the source may perform inside a C.29 application.
Sandberg Thread and Structural Sameness Examples
Adopt the Sandberg thread as a recognition cue, with two distinct source-use functions retained: the original X post is the source identity locator, while the Axis of Ordinary Math section is the checked text carrier used here.
The source examples are not a proof source and not an exhaustive taxonomy. They are a checked example carrier for InvariantsExposed: generalized Stokes and boundary-exterior derivative duality; de Rham, cohomology, and topological obstruction; CLT as RG or fixed-point viewpoint; Lawvere-style diagonal family; Noether and symmetry-conservation; and Legendre, potential-duality, and tropical-limit family.
Plain register: the thread illustrates mathematical compression that makes hidden structure visible. Tech register: every FPF use still needs CandidateMathObject, LensMappingMode, PreservedStructure, LostStructure, LensUseBoundaryValue, and StopCondition.
Do not adopt the thread as a proof source, peer-reviewed taxonomy, or authority for all mathematical details.
Vanchurin 2026 as candidate lens
Adopt and adapt the following as a candidate lens family:
learning dynamics → coarse-graining → effective geometry → gauge fields, metric-tensor fields, or distance-like structure → variational or thermodynamic optimality
Use this source as the case for why FPF needs a lens-use card: the source discusses many mathematical structures, but its claims are broad and speculative. The candidate-lens stress-test value comes through trainable variables, local update rules, Legendre transforms, thermodynamic potentials, gauge-field, metric-tensor-field, and distance-language claims, memory and processing trade-offs, and RG-like re-optimization of compressed representations.
The Plain lesson is “this is a useful candidate lens, not a new FPF cosmology.” Selected lens use:
Adoption stance: Adapt, not Adopt.
Adapt:
- learning dynamics as a general language of change,
- resource constraints as a possible source of effective laws,
- coarse-graining as a mechanism for simple macrodescriptions,
- thermodynamic or variational potentials as links between cost, memory, processing, and geometry,
- RG-like re-optimization as a scale-transition discipline.
Do not adopt as FPF norm:
- “the universe really is a neural network,”
- “physics has already been proven from learning,”
- “quantum, GR, or gauge theory reduce to a learning rule or learning dynamics” as established fact.
Known limitations from the checked source-use disposition remain material for mathematical-lens use: non-Abelian gauge fields are not treated as a landed FPF result; thermodynamic RG flow is not treated as a quantitative FPF law; quantitative predictions require explicit learning-algorithm specification.
Plural foundations source-use decision
Adopt the plural-foundations source-use decision: several structural families can be reusable across domains, and their adequacy depends on declared mapping, local use, mutual interpretability, and recoverable loss.
Source-use relation: Rodin supplies source material for the positive decision that several structurally useful families recur across domains. C.29 records this as local adequacy discipline: select the family that fits the declared use, state the mapping, and publish recoverable loss.
Rodin/P2W micro-slice:
Read the slice by relation position. [C.29](/generated/patterns/C.29) records preserved and lost structure for the mathematical-lens use. [A.6.0](/generated/patterns/A.6.0) declares vocabulary, laws, imports, and applicability when a U.Signature(profile=FormalSubstrate) declaration must be written. [E.18.1](/generated/patterns/E.18.1) governs P2W carry-through of the accepted problem-side distinction into the next declared FPF use. If the claim becomes measurement, evidence, causal use, Bridge semantics, mechanism realization, or work, apply [C.16](/generated/patterns/C.16), [A.10](/generated/patterns/A.10), [C.28](/generated/patterns/C.28), [F.9](/generated/patterns/F.9), [A.6.1](/generated/patterns/A.6.1), or [A.15](/generated/patterns/A.15) to that claim being made.
Applied category theory
Adopt applied category theory as one major organizer for cross-domain transfer, especially composition, interfaces, views, transformations, and bridges. Retain the concrete source examples: databases, electric circuits, and dynamical systems as application families; adjoint functors, enriched categories, and toposes as categorical structures that organize transfer.
In C.29, category-theoretic material is used through the same local adequacy fields as any other lens: stated use, named structure, preserved composition or interface, lost structure, failed transfer, and neighboring-pattern applications. It is especially useful when composition, interfaces, views, transformations, or bridges matter to the bounded move.
Obstructions to compositionality
Adapt the obstructions and failures-of-compositionality perspective into LostStructure and StopCondition: a lens can be useful precisely because it exposes where transfer fails, not only where it succeeds. In Plain language, a good lens does not only say “this travels”; it also names the boundary where transfer stops.
Source locators and source-use guard
SoTA materials are not nameless background. Decision grounds and governing inheritance remain recoverable by value, and SoTA rows shape action guidance rather than decorate the file. The source locators and the source-use relation of each external source are retained here.
Source locators and governing-use rows
Source-use boundary notes
VAN-GEOM-LEARNING-2025/2026is a replayable candidate-lens source for geometric learning dynamics. Its useful FPF contribution is the metric-tensor, noise-covariance, and learning-dynamics lens family and the stress it puts onCandidateMathObject,LensMappingMode, preserved and lost structure, validation boundary, and stop condition.- Vanchurin-style physical or biological interpretations remain source-side claims unless a local C.29 output and neighboring evidence, causal-use, validation, or assurance pattern bound the use. C.29 does not promote those interpretations to FPF law.
SAND-THREAD-MATH-LINKS-2026-05-12is a recognition cue, not a mathematical proof source or FPF law.- CLT-as-RG or fixed-point wording is retained only as a structural modeling viewpoint. A safe formulation is: under the usual normalization, the Gaussian is an attractive fixed point for finite-variance distributions; other stable laws are other fixed points under suitable normalization.
- The intake correction from direct identification to structure-preserving representation is selected and becomes a central ontology guard.
Informative taxonomy seed
Use this recognition menu only to identify a possible lens family and likely neighboring-pattern applications. After selecting a row, state the local C.29 fields that make the lens adequate or stop the use.
Relations
-
Builds on:
A.1.1,A.6.P,A.3.3,A.19,A.10,A.15,B.3,C.16.P,C.16,E.17.EFP,E.17.ID.CR,A.6.3.RT,A.6.3.CSC,F.9. -
Constrained by:
E.8,E.10,C.2.P,E.19. -
Design-rationale input:
E.9design-rationale discipline and the source-use rows inC.29:13a. -
Contributes to:
E.2pillar-impact analysis when a pillar argument relies on mathematical first-principles structure; only declared mathematical-lens use is in scope, with no amendment to pillar content, priority, or constitutional authority. -
Coordinates with:
A.6.0,A.6.1,E.18.1,C.11,A.15.1,A.15.4,C.18.1,C.19.1,C.26,C.27.TA,C.27,C.28,C.31.ASAP,G.5,G.9,G.2,G.10. -
Specialization relation:
C.26is selected as a C.29-compatible specialization for quantum-like modeling, with affordability qualifications. -
Neighboring claims stay with their governing patterns. Use
F.9for bridges;C.28for causal use;A.3.3for dynamics semantics;A.19andC.16for characteristic-space and measurement construction;A.10andB.3for evidence and assurance;C.11,A.15,A.15.1, andA.15.4for decision, method, and work records;E.17.*for explanation and comparative-review publication use;A.6.3.RTandA.6.3.CSCfor representation transition and coarsening;C.27.TA,C.27,C.18.1,C.19.1, andC.31.ASAPfor temporal-aspect, temporal-claim adequacy, scale-law, method scale-preference, and architecture scale-preference claims; and Part G for selector and benchmark work. C.29 records only the declared mathematical-lens use and the governing-pattern boundary for the claim being made.
C.29:End
Last Updated: 2026-06-14 — this section last modified in upstream FPF commit 7c617d5d (github.com/ailev/FPF)