## Function type

### Type

context | $X, Y$ … type |

context | $\Gamma$ … context |

rule | ${\large\frac{\Gamma,\,x\ :\ X\ \vdash\ y\ :\ Y}{\Gamma\ \vdash\ \lambda x.\,y\ :\ X\to Y}}$ (lambda abstraction) |

rule | ${\large\frac{\Gamma\ \vdash\ f\ :\ X\to Y\hspace{1cm}\Gamma\ \vdash\ x\ :\ X}{\Gamma\ \vdash\ f\,x\ :\ Y}}$ (function application) |

### Discussion

Parse ${\large\frac{\Gamma,\,x\ :\ X\ \vdash\ y\ :\ Y}{\Gamma\ \vdash\ \lambda x.\,y\ :\ X\to Y}}$ as ${\large\frac{(\Gamma,\,(x\ :\ X))\ \vdash\ (y\ :\ Y)}{\Gamma\ \vdash\ ((\lambda x.\,y)\ :\ (X\to Y))}}$.

Note that from the wikis perspective, the described type theory is an object language and in it, the context $\Gamma$ is a list of judgements, alla '$a:A$'. That's not to be confused with the context of the meta language (blue boxes) where we also use the notations '$a$…$A$' or '$a\in A$'.