Finitely Supported Functions
- Finitely supported functions are functions whose nonzero values are confined to a finite set or finite measure, making them manageable in both discrete and analytic contexts.
- They provide a unifying framework for finite maps, Boolean predicates, and weighted logic programming by representing data as finite key-value tables.
- In approximation theory, sigma-supported functions yield Lorentz space characterizations and explicit error decay rates, linking structured support restrictions to nonlinear approximants.
Finitely supported functions are functions whose nonzero behavior is confined to a restricted support, but the exact restriction depends on context. In the pointed-set and programming-language formulation of "Finite Functional Programming," a function has support , and it is finitely supported when this set is finite; the resulting objects serve as finite maps that can be represented as input-output tables (Arntzenius et al., 28 Apr 2026). In the approximation-theoretic formulation of "Approximation by Finite Supported Functions," one considers measurable real-valued functions on and calls a function -supported, or finitely supported, when the Lebesgue measure of its support is less than ; approximation by such functions generates the spaces , which are identified with interpolation and Lorentz spaces (Ling et al., 2017). The shared theme is that support restriction turns nonlinear structure into an analyzable finite or finite-measure object.
1. Basic definitions and terminological scope
In the finite-functional setting, the ambient codomain is a pointed set , namely a set equipped with a distinguished element . For any function , its support is defined by
0
The function is finitely supported precisely when 1 is finite, and the class of all such functions is written
2
itself a pointed set with everywhere-zero element 3 (Arntzenius et al., 28 Apr 2026).
In the approximation-theoretic setting, one instead starts from the class 4 of real-valued Lebesgue-measurable functions on 5 that are finite almost everywhere. For 6, the support is
7
For 8, the class
9
where 0 is Lebesgue measure, consists of the 1-supported functions, which the paper also calls finitely supported functions (Ling et al., 2017).
A common source of ambiguity is therefore terminological rather than mathematical. In one usage, finite support means finite cardinality of the nonzero locus; in the other, it means support of finite measure bounded by a parameter 2. The two frameworks are distinct, though both isolate functions by controlling where they differ from zero.
2. Finite maps, predicates, and pointed-set structure
When 3 is regarded as a pointed set with 4, the type 5 is the type of finite Boolean predicates on 6, equivalently finite relations whose true cases can be listed. This viewpoint makes Datalog an instance of finitely supported Boolean-function programming. The example 39 is interpreted semantically by viewing
7
as the finite map with support 8, and the rule for 9 as the smash-product composition
0
Because 1 has finite support, 2 also has finite support and can be enumerated (Arntzenius et al., 28 Apr 2026).
The paper generalizes this Boolean case to arbitrary pointed sets. It introduces the direct product 3, with underlying set 4 and zero given as 5 or 6, and the smash product 7, defined as
8
with zero the equivalence class of any pair containing 9. A point-preserving map 0 satisfies 1, and such maps form the morphisms of the category 2. For any set 3, the assignment 4 is functorial in 5: a point-preserving 6 sends 7 to 8, and finite support is preserved because 9 (Arntzenius et al., 28 Apr 2026).
The significance of this formulation is that relational data, Boolean predicates, and weighted annotations can all be treated uniformly as finitely supported functions into a pointed codomain.
3. Type-theoretic control of finiteness
Finite functional programming distinguishes three contexts: 0 where 1 contains ordinary variables 2 for ordinary functions 3, 4 contains pointed-set variables 5 for point-preserving maps 6, and 7 contains finite-map variables 8. It also distinguishes two syntactic classes: 9 for ordinary functions and 0 for point-preserving and finitely supported terms (Arntzenius et al., 28 Apr 2026).
The ordinary function rules are the expected introduction and elimination rules: 1 For finite maps, the abstraction rule is
2
and the application rule is
3
The side condition that 4 be typable in the empty finite-map context ensures that all finite-map variables remain finite (Arntzenius et al., 28 Apr 2026).
Two additional rules encode the algebra of joins. For the smash-product introduction,
5
the rule is asymmetric: finite-map variables grounded in 6 become available for free in 7, but not conversely. The paper states that this asymmetry ensures no circular infinite support. For the direct-product introduction,
8
both terms must use exactly the same finite-map context, because a zero in the direct product requires both components to be zero (Arntzenius et al., 28 Apr 2026).
Within the paper’s framework, the type system is the mechanism that checks finite support. Its stated role is to guarantee at compile-time that every declared finite map truly has finite support while allowing non-finite ordinary functions to interoperate safely.
4. Aggregation, weighted logic programming, and higher-order structure
The passage from Boolean predicates to general pointed sets allows aggregation and weighted logic programming to be expressed in the same language. For Boolean-valued finite maps, existential quantification is presented as
9
For 0-valued finite maps, summation is
1
These are finite because the support is finite (Arntzenius et al., 28 Apr 2026).
Matrix multiplication appears as a weighted join followed by aggregation: 2
3
The finiteness claim is explicit: because 4 and 5 each have finite support, each output pair 6 only sums over the finite set of 7 for which both 8 and 9 are non-zero (Arntzenius et al., 28 Apr 2026).
The same pattern is abstracted to any commutative monoid 0 on a pointed set: 1 With a second monoid 2 distributing over 3, the paper states that one recovers weighted logic over a semiring. This unification is summarized by the distinction between data and code: data are finitely supported maps 4, representable as finite key-value tables, while code consists of point-preserving higher-order functions 5 and combinators such as 6, 7, and bind for 8. The paper further states that this supports enumeration and set-theoretic joins exactly as in Datalog, aggregation and weighted logic as extensions of Boolean joins, and higher-order programming through map, fold, and monad-like interfaces (Arntzenius et al., 28 Apr 2026).
5. Approximation by 9-supported functions in 0
In the analytic setting, finitely supported functions are used as nonlinear approximants. For 1, 2, and 3, the 4-approximation error by 5-supported functions is defined by
6
Given 7 and 8, the approximation space 9 is defined by the quasinorm
00
and
01
The space is then
02
The paper states that 03 is a quasinorm and that 04 is complete and homogeneous (Ling et al., 2017).
A key formula expresses the optimal error through the non-increasing rearrangement 05. A best approximant is
06
and consequently
07
The paper’s practical summary is that one approximates 08 by trimming off the smallest 09-measure part of its support, and the decay of the rearrangement tail determines the approximation order (Ling et al., 2017).
This analytic notion differs from finite support in the pointed-set sense: the support need not be finite as a set, only controlled in measure. The common feature is that approximation is organized by restricting the region on which the approximant can be nonzero.
6. Interpolation, Lorentz-space characterizations, and rates
The approximation spaces generated by 10-supported functions are identified with Lorentz spaces. For the case 11, if 12, 13, and 14 is chosen so that
15
then
16
with the two-sided estimate
17
where
18
Equivalently, if 19, then
20
and conversely, from 21 one obtains
22
For the general case 23, the paper introduces the 24-functional
25
with 26, and proves the direct-inverse estimates
27
28
By real interpolation,
29
and then, by the interpolation theorem for Lorentz spaces cited in the paper,
30
where 31 is determined by
32
The paper also gives an explicit rate example. If
33
then
34
so 35, and hence 36 with 37 (Ling et al., 2017). This identifies the decay of approximation error by finite-support cutoffs with Lorentz-space membership.
Taken together, the two arXiv treatments show that finitely supported functions form a bridge between discrete finite-map semantics and nonlinear analytic approximation. In one direction, finite support enables Datalog-style enumeration, joins, aggregation, and weighted logic inside a higher-order functional setting; in the other, approximation by 38-supported cutoffs reproduces the scale of Lorentz spaces through rearrangement estimates and interpolation theory (Arntzenius et al., 28 Apr 2026).