fg or Application[f,g]
represents the formal application of f to g.
Application 
fg or Application[f,g]
represents the formal application of f to g.
Details
- Application is a binary operator. fgh parses as Application[Application[f,g],h].
- Application[f,g] has no built-in meaning.
- Application[f,g] can be input as fg. The character is entered as
ap
or \[Application]. - Application can be used to build terms with combinators.
Examples
open all close allBasic Examples (2)
Applications (1)
Properties & Relations (3)
Convert from a formal application to an application in the Wolfram Language:
CombinatorSCombinatorKCombinatorK //. f_g_ :> f@gAlternatively, replace the operator:
CombinatorSCombinatorKCombinatorK /. Application -> ConstructConvert from a Wolfram Language application to a formal application:
CombinatorS[CombinatorI][CombinatorI][CombinatorS[CombinatorI][CombinatorI]] //. f_@g_ :> fgGet the reduction rules for some notable combinators:
crules = AxiomaticTheory["CombinatorAxioms", "RewriteRules"]Apply the rules to combinatory terms:
CombinatorS(CombinatorK(CombinatorSCombinatorI))(CombinatorS(CombinatorKCombinatorK)CombinatorI) //. crulesPossible Issues (1)
Many interesting combinatory terms do not have a normal form, so they keep changing forever:
CombinatorSCombinatorICombinatorI(CombinatorSCombinatorICombinatorI) //. AxiomaticTheory["CombinatorAxioms", "RewriteRules"]This term leads to a cycle of length 2:
NestList[ReplaceAll[AxiomaticTheory["CombinatorAxioms", "RewriteRules"]], CombinatorSCombinatorICombinatorI(CombinatorSCombinatorICombinatorI), 4]//ColumnNeat Examples (2)
The reduction rule for the Turing
combinator:
TuringUAxioms = { ForAll[{x, y}, Uxy == y(xxy)] }Prove that
is a fixed-point combinator:
FindEquationalProof[UU == (UU), TuringUAxioms]Eliminate variables to convert arbitrary terms into combinator form:
toCombinator[{v_}, v_] := CombinatorI;
toCombinator[{v_}, e_] /; FreeQ[e, v] := CombinatorKe
toCombinator[{v_}, e_v_] /; FreeQ[e, v] := e
toCombinator[{v_}, x_y_] := CombinatorStoCombinator[{v}, x]toCombinator[{v}, y]
toCombinator[{r__, v_}, e_] := toCombinator[{r}, toCombinator[{v}, e]]Find the combinator that doubles its argument:
toCombinator[{x}, xx]Find the combinator for a function application:
toCombinator[{f, g, x}, f(gx)]Verify the result by applying the standard combinatory reductions for
and
:
FixedPointList[ReplaceAll[AxiomaticTheory["CombinatorAxioms", "RewriteRules"]], CombinatorS(CombinatorKCombinatorS)CombinatorKfgx]//ColumnRelated Guides
History
Text
Wolfram Research (2020), Application, Wolfram Language function, https://reference.wolfram.com/language/ref/Application.html.
CMS
Wolfram Language. 2020. "Application." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/Application.html.
APA
Wolfram Language. (2020). Application. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Application.html
BibTeX
@misc{reference.wolfram_2026_application, author="Wolfram Research", title="{Application}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/Application.html}", note=[Accessed: 12-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_application, organization={Wolfram Research}, title={Application}, year={2020}, url={https://reference.wolfram.com/language/ref/Application.html}, note=[Accessed: 12-June-2026]}