bidirectional typechecking

# Bidirectional typechecking

* table of contents
{: toc}

## Idea

*Bidirectional typechecking* is both a style of mathematical presentation of a [[type theory]] and a kind of [[algorithm]] for implementing one.  The idea is that the basic [[judgment]] $t:A$ that a [[term]] $t$ belongs to a [[type]] $A$ is split into two judgments:

* $t \Leftarrow A$: the term $t$ can be *checked* to have the type $A$.
* $t \Rightarrow A$: from the term $t$ we can *infer*, or *synthesize*, the type $A$ that it has.

The difference is that in $t\Leftarrow A$ we regard both $t$ and $A$ as "given" or "inputs", whereas in $t\Rightarrow A$ we regard only $t$ as an "input" and $A$ as an "output" that is "computed" from $t$.  When presented as a pure [[deductive system]], these "input/output modes" do not mean anything, but when implemented as an algorithm they mean that we have two mutually recursive functions:

* $check(t,A)$ which simply succeeds or fails.
* $infer(t)$ which either returns a type $A$ or fails.

See [[logic programming]].

For example, from an un-annotated $\lambda$-abstraction such as the identity function $\lambda x.x$ we cannot infer its type: the variable $x$, and hence the result, could have any type.  But we can *check* that it has any given endomorphism type: $(\lambda x.x) \Leftarrow (A\to A)$ for any type $A$.  On the other hand, if we can infer a type for the function $f$, i.e. $f\Rightarrow (A\to B)$ (for instance, $f$ could be a variable, since variables are declared with their types), and we can check that an argument $a$ has type $A$ (that is, $a\Leftarrow A$), then we can also infer that the application $f(a)$ has type $B$, that is $f(a) \Rightarrow B$.  These observations correspond to bidirectional refinements of the usual typing rules for abstractions and applications:

$$ \frac{\Gamma,x:A \vdash M \Leftarrow B}{\Gamma\vdash (\lambda x.M) \Leftarrow (A\to B)} \qquad \frac{\Gamma\vdash f \Rightarrow (A\to B) \qquad \Gamma\vdash a \Leftarrow A }{\Gamma \vdash f(a) \Rightarrow B}.$$

Bidirectional typechecking is closely related to "canonical forms only" presentations of type theories (such as [[logical frameworks]]) that involve [[hereditary substitution]].  For instance, because we infer a type for an application $f(a)$ by inferring a type for $f$, but we can only *check* the type of an un-annotated abstraction $\lambda x.M$, an un-augmented bidirectional theory cannot typecheck a $\beta$-redex (see [[beta-reduction]] $(\lambda x.M)(a)$.  Thus it is a natural system in which to describe a type theory in which only canonical forms (no redexes) exist.  But it is also easy to augment a bidirectional system with [[type ascription]], which mediates between the two modes and allows typechecking redexes: if we can check $t\Leftarrow A$, then we can *infer* the same type of the *ascribed* term $(t:A)\Rightarrow A$, allowing a redex to be written as $(\lambda x.M : A\to B)(a)$.

+-- {: .un_remark}
###### Remark
There are many different notations used in the literature for the bidirectional typing judgments.  Sometimes one finds $t\rightrightarrows A$ and $t\leftleftarrows A$ in place of our $t\Rightarrow A$ and $t\Leftarrow A$.  Other times the order of the term and the type is reversed, for instance writing $t\in A$ for inferring and $A\ni t$ for checking.  Sometimes upwards and downwards-pointing arrows are used instead of leftwards and rightwards ones (e.g. $t \uparrow A$ and $t \downarrow A$, or maybe $t :^\uparrow A$ and $t :^\downarrow A$ or a dozen other variants) --- but unfortunately there is no consensus on which judgment points up and which points down!  It seems to be somewhat more common for checking to point up and inference to point down, as this matches the direction that "information flows through the derivation tree", but the opposite convention is found in plenty of papers too.  (It could be that there is a "modern" consensus that only older papers violate.)
=--

## References

### General

* [[Jana Dunfield]], [[Neel Krishnaswami]], *Bidirectional Typing* (Survey), 2019, ([pdf](https://www.cl.cam.ac.uk/~nk480/bidir-survey.pdf))

* Pierce, B. C., Turner, D. N.: _Local Type Inference_, ACM SIGPLAN–SIGACT Symposium on Principles of Programming Languages (POPL), San Diego, California, 1998, Full version in ACM Transactions on Programming Languages and Systems (TOPLAS), 22(1), January 2000, pp. 1–44, ([pdf](http://www.cis.upenn.edu/~bcpierce/papers/lti-toplas.pdf)).  This is usually cited as the "original" paper on bidirectional typechecking.

* [[Frank Pfenning]], *Lecture Notes on Bidirectional Type Checking*, [pdf](https://www.cs.cmu.edu/~fp/courses/15312-f04/handouts/15-bidirectional.pdf)

* [[Conor McBride]], *Basics of bidirectionality*, [blog post](https://pigworker.wordpress.com/2018/08/06/basics-of-bidirectionalism/)

* David Christiansen, *Bidirectional typing rules: a tutorial*, [pdf](http://www.davidchristiansen.dk/tutorials/bidirectional.pdf)

### For dependent types

* [[Thierry Coquand]], *An algorithm for type-checking dependent types*, 1996, [pdf](https://core.ac.uk/download/pdf/82345314.pdf)

* Thierry Coquand and Makoto Takeyama, *An Implementation of Type:Type*, 2002, [springerlink](https://link.springer.com/chapter/10.1007/3-540-45842-5_4)

* Ulf Norell, *Towards a practical programming language based on dependent type theory*. PhD thesis, Chalmers University of Technology and Göteborg University, 2007. [web](http://www.cse.chalmers.se/~ulfn/papers/thesis.html)

* Andreas Abel, Thierry Coquand, Peter Dybjer _Verifying a Semantic $\beta\eta$-Conversion Test for Martin-Löf Type Theory (extended version)_, 2008 [semantic scholar (includes pdf)](https://www.semanticscholar.org/paper/Verifying-a-Semantic-%CE%B2%CE%B7-Conversion-Test-for-Type-(-Abel-Coquand/ea73f57e4f1111b136cb9f0659c627dba25e53c8)

* Andreas Abel and [[Thorsten Altenkirch]], *A partial type checking algorithm for $Type:Type$*, 2008, [pdf](http://www.cs.nott.ac.uk/~psztxa/publ/msfp08.pdf)

* Andres Löh, Conor McBride and Wouter Swierstra, *A Tutorial Implementation of a Dependently Typed Lambda Calculus*, 2009, [web](https://www.andres-loeh.de/LambdaPi/) (includes Haskell code)

* Andrea Asperti, Wilmer Ricciotti, Claudio Sacerdoti Coen, and Enrico Tassi. *A bi-directional refinement algorithm for the calculus of (co)inductive constructions*, 2012, [arxiv](https://arxiv.org/abs/1202.4905)

* Kevin Watkins, Iliano Cervesato, Frank Pfenning, and David Walker. *A concurrent logical framework I: Judgments and properties*. Technical Report CMU-CS-02-101, Department of Computer Science, Carnegie Mellon University, 2002. Revised May 2003, [pdf](http://www.cs.cmu.edu/~fp/papers/CMU-CS-02-101.pdf)

### Other type theories

* Rowan Davies and [[Frank Pfenning]]. *Intersection types and computational effects*. In P. Wadler, editor, Proceedings of the Fifth International Conference on Functional Programming (ICFP'00), pages 198-208, Montreal, Canada, September 2000. ACM Press. [pdf](http://www.cs.cmu.edu/~fp/papers/icfp00.pdf)

* [[Jana Dunfield]] and [[Frank Pfenning]]. *Tridirectional typechecking*. In X.Leroy, editor, Conference Record of the 31st Annual Symposium on Principles of Programming Languages (POPL'04), pages 281-292, Venice, Italy, January 2004. ACM Press. Extended version available as Technical Report CMU-CS-04-117, March 2004. [pdf](http://www.cs.cmu.edu/~fp/papers/popl04.pdf)

* [[Jana Dunfield]], Neelakantan R. Krishnaswami, *Complete and Easy Bidirectional Typechecking for Higher-Rank Polymorphism*, 2013, [arxiv](https://arxiv.org/abs/1306.6032)

* Francisco Ferreira and Brigitte Pientka, *Bidirectional Elaboration of Dependently Typed Programs*, 2014, [pdf](https://www.cs.mcgill.ca/~fferre8/papers/BidirectionalElaboration.pdf).  Despite the name, this paper is not about full [[dependent type theory]] but only has one level of dependency.

* [[Jana Dunfield]], Neelakantan R. Krishnaswami, *Sound and Complete Bidirectional Typechecking for Higher-Rank Polymorphism with Existentials and Indexed Types*, 2016, [arxiv](https://arxiv.org/abs/1601.05106)

[[!redirects bidirectional type checking]]
[[!redirects bidirectional type-checking]]
[[!redirects type inference]]
[[!redirects type synthesis]]


bifibrant object

+-- {: .rightHandSide}
+-- {: .toc .clickDown tabindex="0"}
###Context###
#### Model category theory
+--{: .hide}
[[!include model category theory - contents]]
=--
=--
=--

#Contents#
* table of contents
{:toc}

## Idea

An [[object]] in a [[model category]] is *bifibrant* if it is both [[fibrant object|fibrant]] as well as [[cofibrant object|cofibrant]].

To some extent a [[model category]]-[[structure]] on a [[homotopical category]]/[[relative category]] may be understood as a device for finding/forming the [[full subcategory]] of bifibrant objects and with it a convenient presentation of the *[[localization]]* at the given class of [[weak equivalences]]:

* Equipped with the [[homotopy equivalence]]-[[equivalence classes|classes]] of its [[morphisms]], the [[full subcategory]] of bifibrant objects is [[equivalence of categories|equivalently]] the [[homotopy category of a model category|homotopy category]], hence the [[localization of a category|localization]] of the original category at the given class of [[weak equivalences]], see [here](homotopy+category+of+a+model+category#HomsOutOfCofibrantIntoFibrantComputeHomotopyCategory).

* Better yet, if the model structure is [[simplicial model category|sSet-enriched]] and otherwise good enough (for instance: [[combinatorial model category|combinatorial]]), then the full [[sSet-enriched category|sSet-enriched]] category on the bifibrant objects is [[equivalence of (infinity,1)-categories|equivalently]] the [[(infinity,1)-category|$(\infty,1)$-category]] which is the [[simplicial localization]] at the given class of [[weak equivalences]], see [here](locally+presentable+infinity1-category#EquivalentCharacterizations).

This makes bifibrant objects a convenient notion for abstract reasoning about ([[simplicial localization|simplicial]]) [[localization of a category|localizations]].

On the other hand, in most model categories the bifibrant objects are not the ones that are conveniently handled in practice (often they can be produced only by abstract [[fibrant resolution|fibrant]]+[[cofibrant resolution]]-machines which tend to produce unwieldy results). But the tools provided by [[model category]]-[[structure]] also allow to reason about bifibrant objects without necessarily constructing them. For example, a [key lemma](homotopy+category+of+a+model+category#HomsOutOfCofibrantIntoFibrantComputeHomotopyCategory) says that for computing [[homotopy classes]] of maps between bifibrant objects it is actually sufficient to use an equivalent [[cofibrant object]] for the [[domain]] and an equivalent [[fibrant object]] for the [[codomain]].

## Related concepts

* [[fibrant object]], [[cofibrant object]]

* [[fibrant resolution]], [[cofibrant resolution]]

* [[fibration]], [[cofibration]]

## References

See at *[[model category]]*.

[[!redirects bifibrant objects]]

[[!redirects bi-fibrant object]]
[[!redirects bi-fibrant objects]]


bifibration

> This page is about [[Grothendieck fibrations]] that are also [[opfibrations]]. Not to be confused with [[two-sided fibrations]] nor with [[fibration of 2-categories|fibrations of 2-categories]] (both of which some authors also refer to as "bifibrations").

+-- {: .rightHandSide}
+-- {: .toc .clickDown tabindex="0"}
### Context
#### Category theory
+-- {: .hide}
[[!include category theory - contents]]
=--
=--
=--

#Contents#
* table of contents
{:toc}

## Definition

A **bifibration** of [[categories]] is a [[functor]]

$$
  \array{
    E
    \\
    \big\downarrow
    \\
    B
  }
$$

that is both a [[Grothendieck fibration]] as well as an [[opfibration]].

Therefore every morphism $f \colon b_1 \to b_2$ in a bifibration has both a push-forward $f_* : E_{b_1} \to E_{b_2}$ as well as a pullback $f^* : E_{b_2} \to E_{b_1}$.

## Examples

* For $C$ any [[category]] with [[pullback]]s, the [[codomain fibration]] $cod : [I,C] \to C$ is a bifibration.

* Dually, for $C$ any [[category]] with [[pushout]]s, the [[domain opfibration]] $dom : [I,C] \to C$ is a bifibration.

* The canonical functor [[Mod]] $\to $ [[CRing]] is a bifibration.

* The [[forgetful functor]] [[Top]] $\to$ [[Set]] is a bifibration. See also [[topological concrete category]].

* The [[forgetful functor]] [[Grpd]] $\to$ [[Set]] is a bifibration.

* The [[forgetful functor]] [[Cat]] $\to$ [[Set]] is a bifibration.

## Properties

### Relation to pseudofunctors in adjoints
 {#RelationToPseudofunctors}

\begin{proposition}
 \label{BifibrationsAreTheGrothConstrOnCatAdjValuedPseudofunctors}
  Under the [[Grothendieck construction]], the [[Grothendieck fibrations]] which arise from [[pseudofunctors]] $\mathcal{B} \longrightarrow Cat$ that factor through [[CatAdj|$Cat_{Adj}$]] are equivalently the [[bifibrations]].
\end{proposition}
\begin{proof}
A Grothendieck construction on a pseudofunctor yielding a bifibration is fairly immediately equivalent to all base change functors having an adjoint on the respective side (e.g. [Jacobs (1998), Lem. 9.1.2](#Jacobs98)). By the fact that $Cat_{adj} \to Cat$ is a [[locally full sub-2-category]] ([this Prop.](transformation+of+adjoints#UniqueConjugateMate)) this already means that the given pseudofunctor factors through  $Cat_adj$, and essentially uniquely so.
\end{proof}
See also [Harpaz & Prasma (2015), Prop. 2.2.1](#HarpazPrasma15).

\begin{remark}
\label{BifibrationsOfModelCategories}
Further factoring through [[ModCat]] $ \longrightarrow Cat_{Ajd}$ hence yields bifibrations of [[model categories]] [[Harpaz & Prasma (2015), Sec. 3](#HarpazPrasma15); [Cagne & Melliès (2020)](#CagneMelliès20)]. See at *[[model structures on Grothendieck constructions]]* for more on this.
\end{remark}

### Relation to monadic descent
 {#RelationToMonadicDescent}

Ordinary [[Grothendieck fibrations]] correspond to [[pseudofunctors]] to [[Cat]], by the [[Grothendieck construction]] and hence to [[stack|prestacks]]. For these one may consider [[descent]].

If the fibration is a bifibration, there is a particularly elegant algebraic way to encode its descent properties; this is [[monadic descent]]. The [[Benabou–Roubaud theorem]] characterizes descent properties for bifibrations.

## Bifibration of bicategories

The basic theory of [[2-fibrations]], fibrations of bicategories, is developed in ([Buckley](#Buckley)). One (unpublished) proposal by Buckley and Shulman, for a "2-bifibration", a bifibration of [[bicategories]], is a functor of bicategories that is both a 2-fibration and a 2-opfibration. This should correspond to a pseudofunctor into $2 Cat_{adj}$, just as for 1-categories.  There is a difference from this case, however, in that although a 2-fibration (corresponding to a "doubly contravariant" pseudofunctor $B^{coop} \to 2Cat$) has both cartesian lifts of 2-cells and 1-cells, a 2-opfibration (corresponding to a totally *covariant* pseudofunctor $B\to 2Cat$) has opcartesian lifts of 1-cells but still *cartesian* lifts of 2-cells.

## Related concepts

* [[Grothendieck fibration]]

* [[Beck-Chevalley condition]]

* [[hyperdoctrine]]

* A bifibration $F:E\to B$ such that the transition functors also have *right* adjoints is sometimes called a [[trifibration]] (cf. Pavlović 1990, p.315) or $\ast$-bifibration.

## References
 {#References}

Original notion and terminology of "bifibration":

* [[Alexander Grothendieck]], *Catégories co-fibrées, catégories bi-fibrées.*, Section 10 in exposé VI of: _Revêtements Etales et Groupe Fondamental - Séminaire de Géometrie Algébrique du Bois Marie 1960/61_ ([[SGA 1]]), LNM **224** Springer (1971) [updated version with comments by M. Raynaud: [arxiv.0206203](http://arxiv.org/abs/math/0206203)]

Further early discussion (not using the terminology "bifibration", though):

* {#Gray66} [[John W. Gray]], pp. 59 of: *Fibred and Cofibred Categories*,  in: [[Samuel Eilenberg|S. Eilenberg]], [[D. K. Harrison]], [[S. MacLane]], [[H. Röhrl]] (eds.): *[[Proceedings of the Conference on Categorical Algebra - La Jolla 1965]]*, Springer (1966) 21-83 [[doi:10.1007/978-3-642-99902-4](https://doi.org/10.1007/978-3-642-99902-4)]

Discussion in the context of the [[Beck-Chevalley condition]]:

* [[Duško Pavlović]], _Categorical Interpolation: Descent and the Beck-Chevalley Condition without Direct Images_ in:_Category theory Como 1990_, LNM **1488** Springer (1991) 306-325 [[doi:10.1007/BFb0084229](https://doi.org/10.1007/BFb0084229), [pdf](http://dusko.org/wp-content/uploads/2020/03/1990-Como-BCDE.pdf)]

In the context of [[categorical semantics for dependent types]]:

* {#Jacobs98} [[Bart Jacobs]], pp. 511 of: *Categorical Logic and Type Theory*, Studies in Logic and the Foundations of Mathematics **141**, Elsevier (1998)  [[ISBN:978-0-444-50170-7](https://www.sciencedirect.com/bookseries/studies-in-logic-and-the-foundations-of-mathematics/vol/141), [pdf](https://people.mpi-sws.org/~dreyer/courses/catlogic/jacobs.pdf)]

* [[Paul-André Melliès]], [[Noam Zeilberger]], _Type refinement and monoidal closed bifibrations_, ([arXiv.1310.0263](http://arxiv.org/abs/1310.0263v1)).

Relation to [[pseudofunctors]] with values in [[CatAdj|$Cat_{Adj}$]] and [[ModCat|$ModCat$]] (cf. [[model structures on Grothendieck constructions]]):

* {#Stanculesu12} [[Alexandru E. Stanculescu]], *Bifibrations and weak factorisation systems*, Applied Categorical Structures **20** 1 (2012) 19–30 [doi:10.1007/s10485-009-9214-3]

* {#HarpazPrasma15} [[Yonatan Harpaz]], [[Matan Prasma]], Section 2.2. of: _The Grothendieck construction for model categories_, Advances in Mathematics **281** (2015) 1306-1363 [[arXiv:1404.1852](https://arxiv.org/abs/1404.1852), [10.1016/j.aim.2015.03.031](https://doi.org/10.1016/j.aim.2015.03.031)]

* {#CagneMelliès20} [[Pierre Cagne]], [[Paul-André Melliès]], *On bifibrations of model categories*, Advances in Mathematics **370** (2020) 107205 [[arXiv:1709.10484](https://arxiv.org/abs/1709.10484), [doi:10.1016/j.aim.2020.107205](https://doi.org/10.1016/j.aim.2020.107205)]

[[!redirects bifibrations]]


bifunctor

> This article is about [[functors]] on [[product categories]]. For morphisms between [[bicategories]] see *[[2-functor]]* and *[[pseudofunctor]]*.

+-- {: .rightHandSide}
+-- {: .toc .clickDown tabindex="0"}
### Context
#### Category theory
+-- {: .hide}
[[!include category theory - contents]]
=--
=--
=--

# Contents
* table of contents
{: toc}

## Definition

By a *bifunctor* (short for _binary functor_, that is $2$-ary) or **functor of two variables** is simply a _[[functor]]_ whose [[domain]] is a [[product category]]:

For $C_1$, $C_2$ and $D$ [[categories]], a functor

$$
  F \;\colon\; C_1 \times C_2 \longrightarrow D
$$

is also called a _bifunctor_ from $C_1$ and $C_2$ to $D$.

\begin{remark}\label{Terminology}
**(terminology)**
\linebreak
While the term *[[bicategories]]* is used for ([[weak 2-category|weak]]) *[[2-categories]]*, the terminology "bifunctor" is not used in this context, instead one speaks of *[[pseudo-functors]]* or *[[2-functors]]* between [[bicategories]]/[[2-categories]].

In fact, even for the sense of a functor of 2 variable, the term "bifunctor" may not be used as frequently anymore as it used to, except maybe in parts of [[computer science]] and in [[model category]]-theory (cf. *[[Quillen bifunctor]]*).
\end{remark}

## Examples

Famous bifunctors are

* the [[hom functor]]

  $$
    Hom(-,-) : C^{op} \times C \to Set
  $$

  on any [[locally small category]] $C$, or if $C$ is a [[closed category]], the [[internal hom]] functor

  $$
    [-,-] : C^{op} \times C \to C
    \,.
  $$

* on every [[monoidal category]] $(C, \otimes)$ the [[tensor product]] functor

  $$
    \otimes : C \times C \to C
  $$

A bifunctor of the form $D^{op} \times C \to Set$ is called a [[profunctor]].

## Related concepts

* [[extranatural transformation]]

* [[binary function]], [[bilinear map]], [[multilinear map]]

* [[binary morphism]]

* **bifunctor**, [[two-variable adjunction]], [[Quillen bifunctor]]

  [[end]]/[[coend]]

* [[multifunctor]]

## References

In the generality of [[enriched category theory]] (hence for [[enriched functors]] on [[enriched product categories]]):

* {#EilenbergKelly65} [[Samuel Eilenberg]], [[G. Max Kelly]],  §III.4 of: *Closed Categories*, in: *[[Proceedings of the Conference on Categorical Algebra - La Jolla 1965]]*, Springer (1966) 421-562 [[doi:10.1007/978-3-642-99902-4](https://doi.org/10.1007/978-3-642-99902-4)]

[[!redirects bifunctor]]
[[!redirects bifunctors]]
[[!redirects binary functor]]
[[!redirects binary functors]]
[[!redirects 2-ary functor]]
[[!redirects 2-ary functors]]
[[!redirects functor of two variables]]
[[!redirects functors of two variables]]
[[!redirects functor of 2 variables]]
[[!redirects functors of 2 variables]]


bifunctorial

A [[map]] with two arguments is called **bifunctorial** if it is [[functorial]] in both arguments.

[[!redirects bi-functorial]]


big and little toposes

+-- {: .rightHandSide}
+-- {: .toc .clickDown tabindex="0"}
### Context
#### Topos Theory
+--{: .hide}
[[!include topos theory - contents]]
=--
=--
=--

# Big and little toposes
* automatic table of contents goes here
{:toc}

## Idea

There are two different (related) relationships between [[Grothendieck topoi]] and a notion of _generalized [[space]]_.  (Recall that a Grothendieck topos $T$ is a [[category of sheaves]] $T = Sh(S)$ on some [[site]] $S$.)

On the one hand, we can regard the topos *itself* as a generalized space.  This tends to be a useful point of view when the site $S$ is the [[category of open subsets]] $Op(X)$ of a [[topological space]] $X$ (or some [[manifold]] or the like), or some other site which we regard as containing data from only "one space."  In this case, we refer to $T$ as a **little topos**, or (if we fail to translate the original French) a **petit topos**.

On the other hand, we can view a topos $T$ as a well-behaved category whose *objects* are generalized spaces.  This tends to be a useful point of view when the site $S$ is a category of _all test [[space]]s_ in some sense, such as [[Top]], [[Diff]], or [[CartSp]].  In this case, we refer to $T$ as a **big topos**, or (in French) a **gros topos**.

These distinctions carry over in a straightforward way to higher topoi such as [[(∞,1)-topoi]].

## Relationships

Objects in a big topos $Sh(S)$ may be thought of as [[space]]s _modeled on $S$_, in the sense described at [[motivation for sheaves, cohomology and higher stacks]] and at [[space]].

On the other hand, the objects of a petit topos, such as $Sh(X)$, can also be regarded as a kind of generalized spaces, but generalized spaces _over $X$_ on which the rigid structure of morphisms in $Op(X)$ (only inclusions of subsets, no more general maps) induces a correspondingly rigid structure so that they are not all that general.  In fact, $Sh(Op(X))$ is equivalent to the category of [[etale space]]s over $X$---i.e. spaces "modeled on $X$" in a certain sense.  More generally, for any topos $E$, the objects of $E$ can be identified with [[local homeomorphisms of toposes]] into $E$.

From the "little topos" perspective, it can be helpful to think of a "big topos" as a "fat point," which is not "spread out" very much spatially itself, but contains within that point lots of different types of "local data," so that even spaces which are "rigidly" modeled on that point can have a lot of interesting cohesion and local structure.  (One should not be misled by this into thinking that a big topos has *only* one [[point of a topos|point]], although it is usually a [[local topos]] and hence has an [[initial object|initial]] point.)

## The big and little topos of an object

If $X$ is a topological space, then the canonical little topos associated to $X$ is the sheaf topos $Sh(X)$.  On the other hand, if $S$ is a site of probes enabling us to regard $X$ as an object of a big topos $H = Sh(S)$, then we can also consider the topos $H/X$ as a representative of $X$.  These two toposes are often called the **little topos of $X$** (or **petit topos of $X$**) and the **big topos of $X$** (or **gros topos of $X$**) respectively.

There might be some debate about whether $H/X$ is, itself, "a little topos" or "a big topos."  While it certainly contains information about the space $X$ specifically, its objects are not "spaces locally modeled on $X$" but rather spaces locally modeled on the big site $S$ which happen to have a map to $X$.  The standard phrase "the big topos of $X$" is the most descriptive.

Note that if $X$ is actually an *object* of the site $S$, then $H/X$ can be identified with the topos of sheaves on the [[slice category|slice]] site $S/X$ (and otherwise, it can be identified with the topos of sheaves on the [[category of elements]] of $X\in Sh(S)$).  This site $S/X$ is often referred to as the [[big site]] of $X$, as compared to the [[little site]], which is $Op(X)$ (or appropriate replacement).  The topos $Sh(S/X)$ can thus be viewed as spaces modelled on $S$, but parameterised by the representable sheaf $X$.

Note that when $S=Top$ with its local-homeomorphism topology, there is a canonical functor $Op(X) \to S/X$ which preserves finite limits and both [[cover-preserving functor|preserves]] and [[cover-reflecting functor|reflects]] covering families.  Therefore, it induces both a geometric morphism $H/X \to Sh(X)$ and one $Sh(X) \to H/X$, of which the latter is the left adjoint of the former in [[Topos]].  In other words, the geometric morphism $H/X \to Sh(X)$ is [[local geometric morphism|local]], and in particular a [[homotopy equivalence of toposes]].  This fact relating the big and little toposes of $X$ also holds in other cases.

## Axiomatizations

* If a site $S$ is given by a [[Grothendieck pretopology]], then one can define an associated notion of a [[little site]] associated to any object of $S$, and hence both a little topos and a big topos, which are related as above.

* One proposed axiomatization of the notion of big topos is that of a [[cohesive topos]].

* In his early papers in the 80s, [[Lawvere]] emphasized the existence of a contractible [[subobject classifier]], a concept which together with the [[adjoint quadruple]] goes under the name [[sufficiently cohesive topos]] in the later axiomatization (modulo some fineprint).

## Examples

For $X$ a [[topological space]], the _little topos_ that it defines is the [[category of sheaves]] $Sh(X) := Sh(Op(X))$ on the [[category of open subsets]] of $X$. A general object in this topos can be regarded as an [[etale space]] over $X$. The space $X$ itself is incarnated as the [[terminal object]] $X = * \in Sh(X)$.

On the other hand, a _big topos_ in which $X$ is incarnated is a [[category of sheaves]] on a [[site]] of test spaces with which $X$ may be probed. For instance for $C =$ [[Top]], or [[Diff]] or [[CartSp]] with their standard [[coverage]]s, $Sh(C)$ is such a big topos. See for instance, [[topological topos]] and the [[quasi-topos]] of [[quasitopological space]]s.

In good cases, the intrinsic properties of $X$ do not depend on whether one regards it as a little topos or as an object of a gros topos. For instance at [[cohomology]] in the section Nonabelian sheaf cohomology with constant coefficients it is discussed how the [[nonabelian cohomology]] of a [[paracompact space|paracompact]] [[manifold]] $X$ with constant coefficients gives the same answer in each case.

## Related entries

* [[functorial geometry]], [[space and quantity]]

* [[topological site]], [[continuous truth]]

* [[cohesive topos]]

  * [[sufficiently cohesive topos]]

  * [[infinitesimal cohesive (infinity,1)-topos]]

  * [[quality type]]

* [[étendue]]

* [[locally decidable topos]]

## References

The notion of a _gros topos_ of a _topological space_ is due to [[Jean Giraud]]. Some early results from the Grothendieck school appear in

* {#SGA4}[[M. Artin]], [[A. Grothendieck]], [[J. L. Verdier]], _Théorie des Topos et Cohomologie Etale des Schémas ([[SGA4]])_, Springer LNM **269** (1972). (exposé IV, 2.5 pp.316-318, 4.10 pp.358-365)

In this context see also

* [[Saunders Mac Lane|S. Mac Lane]], [[Ieke Moerdijk|I. Moerdijk]], pp. 113, 325, 416 in: *[[Sheaves in Geometry and Logic]]*, Springer (1994) [[doi:10.1007/978-1-4612-0927-0](https://link.springer.com/book/10.1007/978-1-4612-0927-0) ]

In the context of a discussion of the [[big Zariski topos]] [Lawvere (1976, p. 110)](#Lawvere76) calls the gros-petit distinction '_a surprising twist of logic that is not yet fully clarified_':

* {#Lawvere76} [[William Lawvere]], *Variable quantities and variable structures in topoi*, in [[Alex Heller]], [[Myles Tierney]] (eds.), *Algebra, Topology and Category Theory -- A Collection of Papers in Honor of [[Samuel Eilenberg]]*, Academic Press New York (1976) 101-131 [[doi:10.1016/C2013-0-10841-0](https://doi.org/10.1016/C2013-0-10841-0)]

The suggestion that a _general notion_ of gros topos is needed goes back to some remarks in _[[Pursuing Stacks]]_. A precise axiom system capturing the notion is first proposed in

* {#Lawvere86} [[William Lawvere]], *Categories of spaces may not be generalized spaces, as exemplified by directed graphs*, Revista Colombiana de Matematicas **XX** (1986) 179-186, reprinted as: Reprints in Theory and Applications of Categories, **9** (2005) 1-7 [[tac:tr9](http://www.tac.mta.ca/tac/reprints/articles/9/tr9abs.html)]

"Axiom 0" ([[local topos|locality]]) used in [Lawvere 1986](#Lawvere86) for gros toposes  is argued in [Lawvere 1994](#Lawvere94) to be essentially an insight due to [[Georg Cantor]] and is called the *Cantorian Contrast* (namely between [[discrete spaces]] and [[codiscrete spaces]]) in [Lawvere & Rosebrugh (2003)](#LawvereRosebrugh03), [p. 245](http://patryshev.com/books/Sets%20for%20Mathematics.pdf#page=260).

* {#LawvereRosebrugh03} [[William Lawvere]], [[Robert Rosebrugh]], [p. 245](http://patryshev.com/books/Sets%20for%20Mathematics.pdf#page=260) in: *[[Sets for Mathematics]]*, Cambridge University Press  (2003) [[doi:10.1017/CBO9780511755460](https://doi.org/10.1017/CBO9780511755460), [book homepage](http://www.mta.ca/~rrosebru/setsformath/), [pdf](http://patryshev.com/books/Sets%20for%20Mathematics.pdf)]

The axioms 0 and 1 for _toposes of generalized spaces_ given in [Lawvere 1986](#Lawvere86) later became called the axioms for a *[[cohesive topos]]*

* {#Lawvere94} [[William Lawvere]], *[[Cohesive Toposes and Cantor's "lauter Einsen"]]*, Philosophia Mathematica **2** 1 (1994) 5-15 [[doi:10.1093/philmat/2.1.5](https://doi.org/10.1093/philmat/2.1.5), [[LawvereCohesiveToposes.pdf:file]]]

together with axiom 2 they make out a [[sufficiently cohesive topos]].

Further discussion of this axiomatics for gros toposes is in

* [[Bill Lawvere]], _Categories of space and quantity_ in: J. Echeverria et al (eds.), _The Space of mathematics_, de Gruyter, Berlin, New York (1992) [[pdf](https://raw.githubusercontent.com/mattearnshaw/lawvere/master/pdfs/1992-categories-of-space-and-quantity.pdf)]

where a proposal for a general axiomatization of [[homotopy]]/[[homology]]-like "extensive quantities" and [[cohomology]]-like "intensive quantities") as covariant and contravariant functors out of a distributive category are considered.

The following two papers contain Lawvere's early view of a trichotomy between big toposes vs. étendue and locally decidable toposes as paradigmatic "generalized spaces" with "infinitesimally cohesive" in between, with the latter subsumed into the fine structure of cohesion in more recent versions

* {#Law89a} [[F. W. Lawvere]], *Qualitative Distinctions between some Toposes of Generalized Graphs*, in *Categories in Computer Science and Logic*, Cont. Math. **92** (1989) 261-299 [[doi:10.1090/conm/092](http://dx.doi.org/10.1090/conm/092), [pdf](https://github.com/mattearnshaw/lawvere/raw/master/pdfs/1989-qualitative-distinctions-between-some-toposes-of-generalized-graphs.pdf)]

* {#Law91a} [[F. W. Lawvere]], *[[Some Thoughts on the Future of Category Theory]]*, 1-13 in Springer LNM **1488** (1991).

The [[left adjoint]]  in a cohesive topos is also mentioned in

* [[Bill Lawvere]], [page 14](http://www.tac.mta.ca/tac/reprints/articles/8/tr8.pdf#page=14) of: _Taking categories seriously_, Revista Colombiana de Matematicas **XX** (1986) 147-178, Reprints in Theory and Applications of Categories, **8** (2005) 1-24. [[tac:tr8](http://www.tac.mta.ca/tac/reprints/articles/8/tr8abs.html), [pdf](http://www.emis.de/journals/TAC/reprints/articles/8/tr8.pdf)]

Under the term _categories of cohesion_ these axioms are discussed in

* [[Bill Lawvere]], _Axiomatic cohesion_, Theory and Applications of Categories **19** 3 (2007) 41-49 [[tac:19-03](http://www.tac.mta.ca/tac/volumes/19/3/19-03abs.html), [pdf](http://www.tac.mta.ca/tac/volumes/19/3/19-03.pdf)]

Another definition of gros vs petit toposes and remarks on applications in [[Galois theory]] is in

* Nick Duncan, _Gros and petit toposes_ ([pdf](http://www.cheng.staff.shef.ac.uk/pssl88/pssl88-duncan.pdf))

and yet another one is in

* [[Jacob Lurie]], _[[Spectral Algebraic Geometry]]_, chapter 20 "Fractured $\infty$-Topoi" ([pdf](http://www.math.harvard.edu/~lurie/papers/SAG-rootfile.pdf))

There is also something relevant in this article:

* [[Mathieu Anel]], _Grothendieck topologies from unique factorization systems_ ([arXiv:0902.1130](http://arxiv.org/abs/0902.1130))

* [[Mamuka Jibladze]], _Homotopy types for "gros" toposes_, thesis, [pdf](http://www.rmi.ge/~jib/pubs/thesis.pdf)

* [[Peter Johnstone]], _Calibrated Toposes_, Bull. Belgian Math. Soc. - Simon Stevin **19** 5 (2012) 889-907. [[euclid:1354031555](http://projecteuclid.org/euclid.bbms/1354031555)]

A discussion and comparison of big vs little approaches to $(\infty,1)$-topos theory began at these blog entries:

* [Cohesive (∞,1)-toposes](http://golem.ph.utexas.edu/category/2010/10/cohesive_toposes.html) and [Petit (∞,1)-toposes](http://golem.ph.utexas.edu/category/2010/10/petit_1toposes.html).

[[!redirects big topos]]
[[!redirects big toposes]]
[[!redirects big topoi]]
[[!redirects gros topos]]
[[!redirects gros toposes]]
[[!redirects gros topoi]]

[[!redirects little topos]]
[[!redirects little toposes]]
[[!redirects little topoi]]
[[!redirects petit topos]]
[[!redirects petit toposes]]
[[!redirects petit topoi]]

[[!redirects big or little topos]]
[[!redirects big or little toposes]]
[[!redirects big or little topoi]]
[[!redirects big and little topos]]
[[!redirects big and little toposes]]
[[!redirects big and little topoi]]
[[!redirects little or big topos]]
[[!redirects little or big toposes]]
[[!redirects little or big topoi]]
[[!redirects little and big topos]]
[[!redirects little and big toposes]]
[[!redirects little and big topoi]]
[[!redirects gros or petit topos]]
[[!redirects gros or petit toposes]]
[[!redirects gros or petit topoi]]
[[!redirects gros and petit topos]]
[[!redirects gros and petit toposes]]
[[!redirects gros and petit topoi]]
[[!redirects petit or gros topos]]
[[!redirects petit or gros toposes]]
[[!redirects petit or gros topoi]]
[[!redirects petit and gros topos]]
[[!redirects petit and gros toposes]]
[[!redirects petit and gros topoi]]

[[!redirects petit (∞,1)-topos]]
[[!redirects petit (infinity,1)-topos]]
[[!redirects petit (∞,1)-toposes]]
[[!redirects petit (infinity,1)-toposes]]

[[!redirects gros (∞,1)-topos]]
[[!redirects gros (infinity,1)-topos]]
[[!redirects gros (∞,1)-toposes]]
[[!redirects gros (infinity,1)-toposes]]


Big Bang

+-- {: .rightHandSide}
+-- {: .toc .clickDown tabindex="0"}
### Context
#### Cosmology
+-- {: .hide}
[[!include cosmology -- contents]]
=--
#### Gravity
+--{: .hide}
[[!include gravity contents]]
=--
=--
=--

# Contents
* table of contents
{: toc}

## Idea

The [[standard model of cosmology]], which involves an [[FRW model]] of [[spacetime]] on [[cosmology|cosmological scales]],is a solution to [[Einstein's equations]] which is undefined ("has a singularity") a finite time in the past of any co-moving observer. Since from that point on the model describes an expanding [[observable universe]] this singularity has been called the "Big Bang", especially to constrast with the _[[steady state model of cosmology]]_.

## Related concepts

* [[cosmology]]

* [[FRW model]]

* [[standard model of cosmology]]

* [[cosmic inflation]]

* [[observable universe]]

## References

* Wikipedia, _[Big Bang](https://en.wikipedia.org/wiki/Big_Bang)_

[[!redirects big bang]]
[[!redirects Big Bang]]


big class

# Big classes
* table of contents
{: toc}

## Idea

A [[class]] $L$ in [[material set theory]] is __big__ if for any [[set]] $X \in L$ there exists a set $Y \in L$ such that $X \in Y$.

## A metalanguage formulation

Consider a class $L$ as a formula $\phi(z)$ with a free variable $z$; intuitively $L$ is the collection of all sets such that $\phi(z)$ is true. Then, in the metalanguage, $L$ is big (i.e., the formula $\phi(x)$ exhibits a big class) if

$$
\phi(X) \implies (\exists Y)(\phi(Y) \wedge (X\in Y))
$$

## Examples and properties

Gödel's [[constructible universe]] is a [[transitive set|transitive]] big class.

[[!redirects big class]]
[[!redirects big classes]]
[[!redirects big set]]
[[!redirects big sets]]


big picture > history


big site

+-- {: .rightHandSide}
+-- {: .toc .clickDown tabindex="0"}
###Context###
#### Topos Theory
+--{: .hide}
[[!include topos theory - contents]]
=--
=--
=--

# Big sites
* table of contents
{: toc}

## Idea

For $C$ a [[site]] and $c \in C$ an [[object]], the [[slice category]] $C/c$ may naturally be thought of as a generalization of the notion of [[category of open subsets]] of $c$ in the case of $C = $ [[Top]]: its [[object]]s are probes of $c$ by arbitrary other objects of $C$.

The over-category naturally inherits the structure of a [[site]] itself -- this is called the _big site_ of $C$. The corresponding [[sheaf topos]] $Sh(C/c)$ is the [[topos]]-incarnation of the object $c$.

## Definition

Let $C$ be a category equipped with a [[pretopology]] $J$ (i.e. a [[site]]) and let $a$ be an object of $C$. The [[slice category]] $C/a$ inherits a pretopology by setting the covering families to be those collections of morphisms whose image under $C/a \to C$ form a covering family. This is then the **big site** of $a$.

In the special case that $C$ is some category of spaces with a terminal object $t$, then sheaves on the big site of $t$ form a [[gros topos]]. Hence the category of sheaves on the big site of $a$ generalize this idea.

## Examples
 {#Examples}

* For $C$ the category of ([[affine scheme|affine]]) [[schemes]], with one of its [[Grothendieck topologies]], notably the [[etale topology]] or [[Zariski topology]], for $X$ a [[scheme]], $Sch/S$ is traditionally called _the [[étale site]] of $X$_ or _the [[Zariski site]] of $X$_. See for instance ([[The Stacks Project|The Stacks project, def. 38.27.3]]).

## Related concepts

* [[little site]]

[[!redirects big site]]
[[!redirects big sites]]

[[!redirects gros site]]
[[!redirects gros sites]]

[[!redirects slice site]]
[[!redirects slice sites]]

[[!redirects large site of an object in a site]]
[[!redirects large sites of objects in a site]]
[[!redirects large sites of objects in sites]]


bigraded object

#Contents#
* table of contents
{:toc}

## Idea

A _bigraded object_ is a [[graded object]] of [[graded objects]].

## Examples

* The terms in a [[filtered chain complex]].

* The terms in a [[double complex]].

* The terms of an [[exact couple]].

* The terms on any one page of a [[spectral sequence]] (as one ranges over the pages, it is even triply graded).

[[!redirects bigraded objects]]
[[!redirects bi-graded object]]
[[!redirects bi-graded objects]]


bigroupoid

+-- {: .rightHandSide}
+-- {: .toc .clickDown tabindex="0"}
###Context###
#### Higher category theory
+--{: .hide}
[[!include higher category theory - contents]]
=--
=--
=--

# Bigroupoids
* table of contents
{: toc}

## Idea

A _bigroupoid_ is an [[algebraic definition of higher categories|algebraic model]] for (general, weak) [[2-groupoid]]s along the lines of a [[bicategory]].

## Definition

A __bigroupoid__ is a [[bicategory]] in which every [[morphism]] is an [[equivalence]] and every [[2-morphism]] is an [[isomorphism]].

More explicitly, a bigroupoid consists of:

*  A [[collection]] of __[[objects]]__ $x,y,z,\dots$, also called __$0$-cells__;
*  For each pair of $0$-cells $x,y$, a [[groupoid]] $B(x,y)$, whose objects are called __[[morphisms]]__ or __$1$-cells__ and whose morphisms are called __[[2-morphisms]]__ or __$2$-cells__;
*  For each $0$-cell $x$, a distinguished $1$-cell $1_x\colon B(x,x)$ called the __[[identity morphism]]__ or __identity $1$-cell__ at $x$;
*  For each triple of $0$-cells $x,y,z$, a [[functor]] ${\circ}\colon B(y,z) \times B(x,y) \to B(x,z)$ called __[[horizontal composition]]__;
*  For each pair of $0$-cells $x,y$, a functor ${-}^{-1}\colon B(y,x) \to B(x,y)$ called the __[[inverse morphism|inverse]]__ operation;
*  For each pair of $0$-cells $x,y$, two [[natural isomorphisms]] called __[[unitors]]__: $id_{B(x,y)} \circ const_{1_x} \cong id_{B(x,y)} \cong const_{1_y} \circ id_{B(x,y)}\colon B(x,y) \to B(x,y)$;
*  For each quadruple of $0$-cells $w,x,y,z$, a natural isomorphism called the __[[associator]]__ between the two functors from $B_{y,z} \times B_{x,y} \times B_{w,x}$ to $B_{w,z}$ built out of ${\circ}$; and
*  For each triple of $0$-cells $x,y,z$, two natural isomorphisms called the __[[unit of an adjunction|unit]]__ and __[[counit]]__ between the two composites of ${-}^{-1}$ and $id_{B(x,y)}$ and the constant functors on the relevant identity morphisms;

such that

*  The [[unitor]]s and [[associator]] satisfy a [[unitality]] and [[associativity]] [[coherence law]], which we don not write this out here, but the structure is as in a [[monoidal category]]; and
*  The unit and counit satisfy the same axioms as the constraint isomorphisms in an [[adjunction]] (which we also do not write out in full here).

## Properties

The [[Duskin nerve]] operation identifies bigroupoids with certain 3-[[coskeletal]] [[Kan complex]]es.

[[!redirects bigroupoid]]
[[!redirects bigroupoids]]


biholomorphic function

+-- {: .rightHandSide}
+-- {: .toc .clickDown tabindex="0"}
###Context###
#### Complex geometry
+--{: .hide}
[[!include complex geometry - contents]]
=--
=--
=--

#Contents#
* table of contents
{:toc}

## Definition

A _biholomorphic function_ is a [[holomorphic function]] which is a [[bijection]] on the underlying sets and whose set-theoretic inverse is also holomorphic.

## Properties

If $f:U\to V$ is a bijective holomorphic map of open subsets of complexfied [[Cartesian space]] ${\mathbb{C}}^n$, then the [[determinant]] of the [[Jacobian]] $J(f)$ is nowhere $0$, that is $f^{-1}$ is holomorphic.

(See this [MO discussion](http://mathoverflow.net/a/44950/381) and also this other [MO discussion](http://mathoverflow.net/questions/147100/any-non-constant-surjective-holomorphic-map-between-connected-compact-complex-ma?lq=1))

## References

* {#Bedford} Eric Bedford, _What is... a Biholomorphic Mapping_, Notices of the AMS,volume 59, number 6 ([pdf](http://www.ams.org/notices/201206/rtx120600812p.pdf))

[[!redirects biholomorphic functions]]

[[!redirects biholomorphic map]]
[[!redirects biholomorphic maps]]

[[!redirects biholomorphism]]
[[!redirects biholomorphisms]]

[[!redirects bi-holomorphic function]]
[[!redirects bi-holomorphic functions]]

[[!redirects bi-holomorphic map]]
[[!redirects bi-holomorphic maps]]

[[!redirects bi-holomorphism]]
[[!redirects bi-holomorphisms]]


biideal

Given a [[bigebra]] $B$ over a field $k$ with comultplication $\Delta$, a $k$-vector subspace $I$ is a __biideal__ if it is two sided [[ideal]] (i.e. for all $b\in B$, $b I\subseteq I$ and $I b\subseteq I$) and a [[coideal]], i.e. $\Delta(I)\subseteq I\otimes B + B\otimes I$.

Quotient of a bigebra $B$ by a biideal $I$ is itself inheriting a canonical structure of a bigebra by taking representatives both for multiplication and for comultiplication of classes. This is the __quotient bigebra__.

A __Hopf ideal__ is a biideal in a
Hopf algebra which is invariant (as a set)
under the antipode map. A quotient bigebra of a Hopf algebra is
a Hopf algebra iff the biideal is in fact a Hopf ideal.

[[!redirects biideals]]
[[!redirects quotient bigebra]]
[[!redirects quotient bialgebra]]
[[!redirects quotient Hopf algebra]]
[[!redirects Hopf ideal]]


Bij > history

< [[Bij]]


bijection

\tableofcontents

## Idea

A **bijection** is an [[isomorphism]] in [[Set]].

Since [[Set]] is a [[balanced category]], bijections can also be characterized as functions which are both [[injection|injective]] ([[monomorphism|monic]]) and [[surjection|surjective]] ([[epimorphism|epic]]).

## Definition

Given [[sets]] $A$ and $B$, a [[function]] $f:A \to B$ is a **bijection** if it comes with an [[inverse function]] $f^{-1}:B \to A$ such that for all elements $b \in B$, $f(f^{-1}(b)) = b$ and for all elements $a \in A$, if $f(a) = b$, then $a = f^{-1}(b)$

$$\forall b \in B.(f(f^{-1}(b)) = b \wedge \forall a \in A.(f(a) = b \implies a = f^{-1}(b)))$$

The condition that $f(f^{-1}(b)) = b$ could also be made more general, by any element $a:A$ such that $a = f^{-1}(b)$. This then becomes

$$\forall a \in A.\forall b \in B.((a =_A f^{-1}(b)) \implies (f(a) =_B b)) \wedge ((f(a) =_B b) \implies (a =_A f^{-1}(b))$$

This could be simplified down to the statement that $f(a) = b$ if and only if $a = f^{-1}(b)$.

$$\forall a \in A.\forall b \in B.((f(a) =_B b) \iff (a =_A f^{-1}(b))$$

This is an [[adjoint equivalence]] between two thin univalent groupoids.

## Terminology

In older literature, a bijection may be called a __[[one-to-one correspondence]]__, or (as a compromise) __bijective correspondence__.

## See also

* [[equivalence of types]]
* [[one-to-one correspondence]]

[[!include types and logic - table]]

[[!redirects bijective]]
[[!redirects bijection]]
[[!redirects bijections]]
[[!redirects bijective function]]
[[!redirects bijective functions]]
[[!redirects bijective correspondence]]
[[!redirects bijective correspondences]]


bijection set

+-- {: .rightHandSide}
+-- {: .toc .clickDown tabindex="0"}
### Context
#### Set theory
+-- {: .hide}
[[!include set theory - contents]]
=--
=--
=--

\tableofcontents

## Definition

Given sets $A$ and $B$, the **bijection set** $\mathrm{Bij}(A, B)$ is the set of [[bijections]] between the set $A$ and $B$. In the [[foundations]] of mathematics, the existence of such a set may be taken to follow from the existence of [[power sets]], from the axiom of [[subset collection]], from the existence of [[function sets]], from the existence of [[injection sets]], or as an axiom (the __axiom of bijection sets__) in its own right.

## Properties

If the set theory has [[function sets]], then the bijection set between $A$ and $B$ is a [[subset]] of the function set between $A$ and $B$: $\mathrm{Bij}(A, B) \subseteq B^A$. Similarly, if the set theory has [[injection sets]], then the bijection set between $A$ and $B$ is a [[subset]] of the injection set between $A$ and $B$: $\mathrm{Bij}(A, B) \subseteq \mathrm{Inj}(A, B)$

The bijection set between $A$ and itself is the [[symmetric group]] on $A$, $\mathrm{Sym}(A) \coloneqq \mathrm{Bij}(A, A)$.

In the context of the [[axiom of choice]] or stronger axioms such as a [[choice operator]] satisfying the [[axiom schemata of existence]], having [[bijection sets]] implies having [[power sets]] in the foundations, since the axiom of choice implies that for every set $A$, there is a [[bijection]] $\mathcal{P}(A) \cong \mathrm{Sym}(A)$ between the [[power set]] of $A$ and the symmetric group on $A$. Thus, bijection sets are a form of [[impredicativity]] from the point of view of mathematics with the axiom of choice.

The [[universal property]] of the bijection set states that given a function $X \to \mathrm{Bij}(A, B)$ from a set $X$ to the bijection set between sets $A$ and $B$, there exists a bijection $A \times X \cong B \times X$ in the [[slice category]] $\mathrm{Set}/X$.

## Generalisations

Thinking of [[Set]] as a [[locally small category]], this is a special case of the [[hom-set]] of the [[core]] of [[Set]].

## Related concepts

* [[equivalence type]]

* [[object of isomorphisms]]

* [[symmetric group]]

* [[function set]], [[injection set]]

[[!include types and logic - table]]

[[!redirects bijection set]]
[[!redirects bijection sets]]
[[!redirects set of bijections]]
[[!redirects sets of bijections]]

[[!redirects axiom of bijection sets]]


bijective proof

+-- {: .rightHandSide}
+-- {: .toc .clickDown tabindex="0"}
### Context
#### Combinatorics
+-- {: .hide}
[[!include combinatorics - contents]]
=--
=--
=--

# Contents #
* table of contents
{:toc}

## Idea

In enumerative [[combinatorics]], a "bijective proof" refers to a basic method of counting the number of structures of a certain type supported on a finite set of underlying points, by analyzing structure in two different ways. It is really a special case of "[[categorification]]": an identity $a = b$ where $a$ and $b$ are [[natural number]] expressions is proved by taking underlying cardinalities of a [[bijection]] $A \cong B$ between sets of structures, hence the name. (If taking cardinalities is an example of "decategorifying", then going the other way from $a = b$ to $A \cong B$ would be "categorifying" or promoting an equation to an isomorphism.)

In some sense this is what the theory of [[species]] is all about: formalizing the operations adhering to bijective proofs. Often bijective proofs give an impression of elegance or enlightenment: rather than prove natural number or polynomial identities through acts of symbolic manipulation, one *sees* the identity by drawing pictures of structures that the two sides of the identity are counting.

## Examples

For the moment we'll just jot down some possible examples for illustrating the method; these are to be filled in later, or to be linked to other nLab articles where the bijective proof is given.

### Binomial identity

See for now [[binomial theorem]].

### $q$-binomial identity

For more details, see the [Wikipedia article](https://en.wikipedia.org/wiki/Gaussian_binomial_coefficient).

Algebraically, one may introduce the $q$-binomial coefficients $\binom{n}{k}_q$ by introducing a $q$-affine plane (or quantum affine plane, to be connected with [[quantum affine algebra]]) and its associated (non-commutative) algebra

$$k[x, y]_q = k\langle x, y \rangle/(y x = q x y)$$

where $q \in k$ is a parameter, and then writing $(x + y)^n = \sum_{k = 0}^n \binom{n}{k}_q x^k y^{n-k}$.

However, an illuminating combinatorial interpretation of the $q$-binomial coefficients is that they count points in a [[Grassmannian]] consisting of $k$-dimensional linear subspaces of an $n$-dimensional [[vector space]] $\mathbb{F}_q^n$ over a [[finite field]] $\mathbb{F}_q$ of cardinality $q$. This interpretation can be used to provide a bijective proof of the $q$-Pascal identity

$$\binom{n}{k}_q = \binom{n-1}{k}_q + q^{n-k}\binom{n-1}{k-1}_q.$$

For, if we choose a standard affine hyperplane $H = \{x_n = 1\}$ in $\mathbb{F}_q^n$, then any linear $k$-plane $W$ in $\mathbb{F}_q^n$ either intersects $H$ in an affine $(k-1)$-plane in the affine $(n-1)$-space, or intersects $H$ in the empty set, i.e., $W$ is contained in the linear space $\{x_n = 0\}$. The number of $W$ satisfying the latter condition is $\binom{n-1}{k}_q$, and the number of $W$ satisfying the former is in bijection with the number of $(k-1)$-dimensional affine subspaces of $\mathbb{F}_q^{n-1}$, which is $q^{n-1}$ times the number of linear subspaces $\binom{n-1}{k-1}_q$ divided by $q^{k-1}$, the number of translations which stabilize a given affine subspace. (Maybe to be rewritten later.)

### Counting trees: Cayley's theorem

Cayley's theorem, here not to be confused with Cayley's observation that every group (monoid) is a subgroup (submonoid) of a permutation group (endofunction monoid), says that the number of tree structures on an $n$-element set $\{x_1, \ldots, x_n\}$ is $n^{n-2}$.

There are many proofs of this fact in the literature. One, due to Gilbert Labelle and made popular by André Joyal, proceeds by establishing a bijection between trees equipped with a pair $(x_i, x_j)$ of nodes (allowing $x_i = x_j$) and the number of endofunctions on $X = \{x_1, \ldots, x_n\}$.

On the one hand, such a structure $(T, x_i, x_j)$ on $X$ can be identified with a linearly ordered set (the path $P$ from $x_i$ to $x_j$ in $T$) together with, for each node $y$ along that path, a rooted tree structure $T_y$ consisting of nodes $x \in X$ for which the shortest path in $T$ from $x$ to $P$ ends at $y$. (As a subgraph of $T$, this naturally forms a tree $T_y$ rooted at $y$.) Thus, such a structure $(T, x_i, x_j)$ on $X$ determines and is determined by an equivalence relation $E$ on $X$, a rooted tree structure on each equivalence class, and a linear ordering of the set $X/E$ of equivalence classes.

On the other hand, each endofunction on $X$, say $f: X \to X$, has an [[eventual image]] or stable set $stab(f) = \bigcap_{n \geq 0} f^n(X)$, on which $f$ acts by a permutation (i.e., bijectively). For each $y \in stab(f)$, there is a rooted tree $T_y$ which consists of all $x \in X$ for which the set of iterates $x, f(x), f^2(x), \ldots$ first lands in $stab(f)$ at $y$. Thus an endofunction on $X$ determines and is determined by an equivalence relation $E$ on $X$, a rooted tree structure on each equivalence class, and a permutation on the set $X/E$ of equivalence classes.

Since the number of permutations on $X/E$ is equinumerous with the number of linear orderings of $X/E$, we conclude that the set of "bipointed tree" structures on $X$ is equinumerous with the set of endofunctions on $X$. Thus the number of bipointed tree structures $(T, x_i, x_j)$ on $X$ is $n^n$, and therefore the number of tree structures $T$ on $X$ is $n^{n-2}$.

### Vandermonde identity

### Stirling number identities

## Polynomial identities

One method for proving [[polynomial]] identities (equations $p = q$ between polynomials $p, q \in \mathbb{C}[x_1, \ldots, x_k]$ in several variables) is first to give a bijective proof for the special case in which natural numbers $m_i$ are substituted for the variables $x_i$, and then reason that there are enough natural numbers that the polynomial identity must hold generally.

More formally, two polynomials are equal, $p(x_1, \ldots, x_k) = q(x_1, \ldots, x_k)$, if $p(m_1, \ldots, m_k) = q(m_1, \ldots, m_k)$ for all choices of natural numbers $m_i$. Relatedly, the set $\mathbb{N}^k \subseteq \mathbb{C}^k$ is Zariski-dense (i.e., the closure of $\mathbb{N}^k$ in $\mathbb{C}^k$ equipped with the [[Zariski topology]] is all of $\mathbb{C}^k$).

This is intuitively obvious of course. As a public service, we prove a more general result.

+-- {: .num_prop}
###### Proposition
Suppose $B$ is an [[infinite set|infinite]] [[subset]] of an [[integral domain]] $A$. Then a polynomial $p(x_1, \ldots, x_k) \in A[x_1, \ldots, x_k]$ is uniquely determined by its values it takes at arguments $b_1, \ldots, b_k \in B$.
=--

+-- {: .proof}
###### Proof
It suffices to show that if $p(b_1, \ldots, b_k) = 0$ for every choice of $b_i \in B$, then $p = 0$. We prove this by induction on $k$. The case $k = 0$ is trivial.

Assuming the assertion as induction hypothesis for case $k$, suppose $p \in A[x_1, \ldots, x_k, x_{k+1}]$ satisfies $p(b_1, \ldots, b_k, b) = 0$ for all choices $b_i \in B$ and $b \in B$. Then by induction, for each fixed $b \in B$ the polynomial $p(x_1, \ldots, x_k, b) \in A[x_1, \ldots, x_k]$ is identically zero. Thus if $F$ is the [[field of fractions]] of $A[x_1, \ldots, x_k]$, and if we regard $p$ as an element of the [[Euclidean domain]] $F[x_{k+1}]$ under the obvious embedding

$$A[x_1, \ldots, x_k, x_{k+1}] \cong A[x_1, \ldots, x_k][x_{k+1}] \hookrightarrow F[x_{k+1}],$$

then $p$ has infinitely many [[roots]] $b$ in $A$ and thus in $F$, forcing $p$ to be identically zero.
=--


bijective-on-objects functor

+-- {: .rightHandSide}
+-- {: .toc .clickDown tabindex="0"}
### Context
#### Category theory
+-- {: .hide}
[[!include category theory - contents]]
=--
=--
=--

#Contents#
* table of contents
{:toc}

## Idea

The concept of an [[identity-on-objects functor]] is important for defining various structures in [[category theory]], such as [[Freyd categories]] and [[dagger categories]]. However, in a [[structural set theory]] such as [[ETCS]] or [[SEAR]], there is no concept of [[equality]] of [[sets]], and thus, an [[identity-on-objects functor]] cannot be defined via the usual definition. Instead, equality of sets is expressed through [[bijection]] of sets, which, when applied to the definition of identity-on-objects functor, yields a bijective-on-objects functor.

In [[foundations]] where categories are weak by default and thus the collection of objects do not form a set, the concept of a bijective-on-objects functor still makes sense for [[strict categories]], where the functor is a [[strict functor]] by definition.

Another motivation for bijective-on-objects functors is that they together with [[full and faithful functors|full and faithful]] [[strict functors]] form an [[weak factorization system|orthogonal factorization system]] on [[StrCat]]; see [[bo-ff factorization system]]. This factorization system can also be constructed using a [[generalized kernel]].

## Definition

\begin{definition}
A [[strict functor]] between two [[strict categories]] $A$ and $B$ is called **bijective-on-objects**, or **bo**, if it is a [[bijection]] on [[objects]], if its underlying object function $F_{ob}: ob(A) \to ob(B)$ is a [[bijection]] $F_{ob}: ob(A) \simeq ob(B)$.
\end{definition}

## Principle of equivalence

To be more in accord with the [[principle of equivalence]], one could require that the functor be bijective on objects only up to isomorphism; that is, it is [[essentially surjective functor|essentially surjective]] and [[full functor|full]] on isomorphisms.  However, from the point of view of [[factorization systems]], the version of the concept of a  bo functor which is in accord with the [[principle of equivalence]] is nothing more or less than an [[essentially surjective functor]], since essentially surjective functors and ff functors form a bicategorical factorization system on the [[bicategory]] $Cat$.

## Properties

[[R. Street]] in _[Categorical and combinatorial aspects of descent theory](http://arxiv.org/pdf/math/0303175)_ proves

Proposition. A functor is bijective on objects if and only if it exhibits its
codomain as the (2-categorical) [[descent object|codescent object]] of some simplicial category.

This can be generalized to any [[regular 2-category]].

### Relation to equivalent-on-objects functors

Every bijective-on-objects functor between two strict categories is an [[equivalent-on-objects functor]] between two strict categories.

### Relation to identity-on-objects functors

In the context of [[type theory]], if both strict categories live in a [[univalent universe]] $\mathcal{U}$, a bijective-on-objects functor also becomes an [[identity-on-objects functor]] due to the [[univalence axiom]] and the fact that equivalences between sets are equivalent to bijections of sets:

For sets $A:\mathcal{U}$ and $B:\mathcal{U}$, there is an [[identity type]] $A =_\mathcal{U} B$, a type of equivalences between $A$ and $B$, $A \simeq_\mathcal{U} B$, and a type of bijections between $A$ and $B$, $A \cong_\mathcal{U} B$, as well as canonical canonical functions $\mathrm{IdtoEquiv}:A =_\mathcal{U} B \to A \simeq_\mathcal{U} B$ and $\mathrm{IdtoBij}:A =_\mathcal{U} B \to A \cong_\mathcal{U} B$.

Since between equivalences between sets are equivalent to bijections between sets, there is a function $\mathrm{EquivtoBij}:A \simeq_\mathcal{U} B \simeq A \cong_\mathcal{U} B$ which is an equivalence of types.

Since $\mathcal{U}$ is univalent, $\mathrm{IdtoEquiv}$ is an equivalence of types $\mathrm{IdtoEquiv}:A =_\mathcal{U} B \simeq A \simeq_\mathcal{U} B$. By the properties of equivalences, the function $\mathrm{IdtoBij}$ is also an equivalence of types $\mathrm{IdtoBij}:A =_\mathcal{U} B \simeq A \cong_\mathcal{U} B$. Thus there is a homotopy inverse $\mathrm{BijtoId}:A \simeq_\mathcal{U} B \to A =_\mathcal{U} B$.

Thus, in an univalent universe, bijective-on-objects functors and identity-on-objects functors are the same:

\begin{definition}
An **identity-on-objects [[functor]]** $F: A\to B$ between [[strict categories]] $A$ and $B$ in a [[univalent universe]] $\mathcal{U}$ is a [[strict functor]] with an [[identification]] $\mathrm{BijtoId}(F_{ob}):ob(A) =_\mathcal{U} ob(B)$, where $F_{ob}: ob(A) \to ob(B)$ is the underlying object function of the functor $F$.
\end{definition}

## Related pages

* [[strict category]]
* [[identity-on-objects functor]]
* [[equivalent-on-objects functor]]
* [[essentially surjective functor]]

[[!include properties of functors -- contents]]

[[!redirects bijective-on-objects]]
[[!redirects bijective on objects]]

[[!redirects bijective on objects functor]]
[[!redirects bijective on objects functors]]

[[!redirects bijective-on-objects functor]]
[[!redirects bijective-on-objects functors]]

[[!redirects bo functor]]
[[!redirects bo functors]]

[[!redirects b.o. functor]]
[[!redirects b.o. functors]]


bilax monoidal functor

+-- {: .rightHandSide}
+-- {: .toc .clickDown tabindex="0"}
###Context###
#### Monoidal categories
+--{: .hide}
[[!include monoidal categories - contents]]
=--
=--
=--

#Contents#
* table of contents
{:toc}

## Definition

A **bilax monoidal functor** is a [[functor]] $F : C \to D$ between categories equipped with the structure of [[braided monoidal categories]] that is both a [[lax monoidal functor]] as well as an [[oplax monoidal functor]] with natural transformations

$$
  F(x) \otimes F(y)
  \stackrel{\overset{\Delta_{x,y}}{\leftarrow}}{\underset{\nabla_{x,y}}{\to}}
  F(x \otimes y)
$$

satisfying two compatibility conditions:

* **braiding** For all $a,b,c,d \in C$ the following diagram commutes

  $$
    \array{
      && F(a \otimes b) \otimes F(c \otimes d)
      \\
      & \swarrow && \searrow
      \\
      F(a \otimes b \otimes c \otimes d)
      &&&&
      F(a) \otimes F(b) \otimes F(c) \otimes F(d)
      \\
      \downarrow &&&& \downarrow
      \\
      F(a \otimes c \otimes b \otimes d)
      &&&&
      F(a) \otimes F(c) \otimes F(b) \otimes F(d)
      \\
      & \searrow && \swarrow
      \\
      && F(a \otimes c) \otimes F(b \otimes d)
    }
  $$

* **unitality** (...)

## Related concepts

* [[monoidal functor]]

* [[strong monoidal functor]]

* [[lax monoidal functor]]

* [[oplax monoidal functor]]

* **bilax monoidal functor**

* [[Frobenius monoidal functor]]

## References

Definition 3.3 in

* [[Marcelo Aguiar]], [[Swapneel Mahajan]], _[[Monoidal Functors, Species and Hopf Algebras]]_
{#AguiarMahajan}

[[!redirects bilax monoidal functors]]


bilimit

+-- {: .rightHandSide}
+-- {: .toc .clickDown tabindex="0"}
###Context###
#### Limits and colimits
+--{: .hide}
[[!include infinity-limits - contents]]
=--
=--
=--

The word _bilimit_ is used in two unrelated senses:

* **2-categorical limits** -- In the context of [[bicategory]] theory, _bilimit_ is the relevant notion of categorical [[limit]]. If one adopts the convention that _[[2-categories]]_ are understood in the most general sense and subsume bicategories, then these are just called **[[2-limits]]**. See there for more on this sense of the word.

* **limits coinciding with colimits** -- It is common to speak of [[biproducts]] to mean categorical [[products]] that coincide with [[coproducts]]. Since a product is a special kind of [[limit]], this terminology conflicts with the above one. Indeed, some references use "bilimit" to mean [[limits]] that coincide with [[colimits]] (e.g. Selinger 97 ([[SelingerThesis.pdf:file]])).

  In a category [[enriched category|enriched]] over [[CMon]] (in particular over [[Ab]]) biproducts are a special case of [[absolute colimits]], see at _[absolute colimit -- Examples -- Weights for absolute colimits](absolute+colimit#WExampleseightsForAbsoluteColimits)_.

  More generally, since limits and colimits are a special case of [[right adjoints]] and [[left adjoints]], respectively (namely left and right [[Kan extension]] to the point), bilimits in this sense are a special case of an **[[ambidextrous adjunction]]**, which is therefore maybe a preferable terminology (proposed this way in [[Ambidexterity in K(n)-Local Stable Homotopy Theory|Hopkins-Lurie 14]]).

  Notice however that being an [[ambidextrous adjunction]] is [[structure]], since in general it involves a genuine choice of equivalence between the left and the right adjoint, whereas bilimits in the above sense are typically regarded as [[property]]. On the other hand, at least for (co-)products the existence of any [[natural isomorphism]] between coproducts and products already implies that also the canonical comparison morphism is an equivalence, which is traditionally taken to be the property that characterizes [[semiadditive categories]], see at _[biproduct -- Properties -- Semiadditivity as structure/property](biproduct#SemiadditivityAsStructureProperty)_. Similarly, one may strengthen the notion of ambidextrous adjunction such as to make it canonical, see at _[fiberwise characterization](ambidextrous+adjunction#FiberwiseCharacterization)_.

category: disambiguation

[[!redirects bilimits]]

[[!redirects bi-limit]]
[[!redirects bi-limits]]


bilinear form

+-- {: .rightHandSide}
+-- {: .toc .clickDown tabindex="0"}
### Context
#### Linear algebra
+-- {: .hide}
[[!include homotopy - contents]]
=--
=--
=--

# Bilinear forms
* table of contents
{: toc}

## Definitions

A __bilinear form__ is simply a [[linear map]] $\langle -,-\rangle\colon V \otimes V \to k$ out of a [[tensor product]] of $k$-[[module|modules]] into the [[ring]] $k$ (typically taken to be a [[field]]).

It is called __symmetric__ if $\langle x,y\rangle = \langle y,x\rangle$ for all $x,y \in V$. For variants on this, such as the property of being _conjugate-symmetric_, see [[inner product space]].

It is called __antisymmetric__ or __skew-symmetric__ if $\langle x,y\rangle = -\langle y,x\rangle$ for all $x,y \in V$.

It is called __alternating__ if $\langle x,x\rangle = 0$ for all $x \in V$.

It is called __nondegenerate__ if the [[mate]] $V \to V^\ast = \hom(V, k)$ is injective (a [[monomorphism]]).

Let $k = \mathbb{R}$ be the [[real numbers]]. A symmetric bilinear form is called

* [[positive definite]] if $\langle x,x\rangle \gt 0$ if $x \neq 0$.

* [[negative definite]] if $\langle x,x\rangle \lt 0$ if $x \neq 0$.

## Examples

\begin{example}\label{InnerProductOnRealVectorSpace}
An _[[inner product]]_ on a [[real vector space]] (not though generally on [[complex vector spaces]], see Rem. \ref{BewareInnerProductsOnComplexVectorSpaces}) is an example of a symmetric bilinear form. (For some authors, an inner product on a real vector space is precisely a positive definite symmetric bilinear form. Other authors relax the positive definiteness to nondegeneracy. Perhaps some authors even drop the nondegeneracy condition (citation?).)
\end{example}
\begin{remark}\label{BewareInnerProductsOnComplexVectorSpaces}
In contrast to Exp. \ref{InnerProductOnRealVectorSpace}, beware that an [[inner product]] on a [[complex vector space]] is typically *not* taken to be a bilinear form, but a *[[sesquilinear form]]* (called a *[[Hermitian form]]* if positive definite).
\end{remark}

\begin{example}
If $f \colon \mathbb{R}^n \to \mathbb{R}$ is a [[differentiable function]] of class $C^2$, then the [[Hessian]] of $f$ at a point defines a symmetric bilinear form. It may be degenerate, but in [[Morse theory]], a [[Morse function]] is a $C^2$ function such that the Hessian at each critical point is nondegenerate.
\end{example}

## Categorification and $n$POV
 {#CategorificationsAndnPOV}

Concepts which relate to (non-degenerate) bilinear forms from the [[nPOV]] and/or [[categorification|categorifications]] of the concept of bilinear forms  include

* [[2-Hilbert space]]

* [[Calabi-Yau object]], [[Calabi-Yau A-infinity category]]

## Generalizations

### From Ab to monoidal categories

This concept could be generalized from the [[category of abelian groups]] to any [[monoidal category]]:

Let $(C, I, \otimes)$ be a [[monoidal category]], let $(k, 1, \pi)$ be a [[monoid object]] in $C$, and let $(V, \rho)$ be a $k$-[[module object]] in $C$. $k$ itself is a $k$-module object with the [[action]] being represented by the [[monoid]] [[binary operation]] $\pi$. A bilinear form is simply an [[action]]-preserving [[morphism]] $f:V \otimes V \to k$ from the [[tensor product]] $V \otimes V$ to $k$: given morphisms $a:I \to k$, $v:I \to V$, and $w:I \to V$,

$$f \circ ((\rho \circ (a \otimes v)) \otimes w) = \pi \circ (a \otimes (f \circ (v \otimes w))$$

and

$$f \circ (v \otimes (\rho \circ (a \otimes w))) = \pi \circ (a \otimes (f \circ (v \otimes w))$$

However, if $C$ is not a [[Ab-enriched category]], then the morphisms of the category are not linear and it would probably be better to call these morphisms *binary forms* or something similar.

Symmetric bilinear forms can similarly be generalized from the [[category of abelian groups]] to any [[monoidal category]], where for all morphisms $v:I \to V$ and $w:I \to V$, we have $f \circ (v \otimes w) = f \circ (w \otimes v)$.

### From Mod to monoidal categories

This concept could be generalized from the [[category of modules]] to any [[monoidal category]], since the ground ring $k$ is the [[tensor unit]] of the category of $k$-modules:

Let $(C, I, \otimes)$ be a [[monoidal category]]. Given an object $V$, every morphism $I \otimes V \to V$ is given by the composition of an [[endomorphism]] $V \to V$ with the [[left unitor]] $\lambda_V:I \otimes V \to V$. Then given an object $V \in C$, a bilinear form is just a morphism $f:V \otimes V \to I$. However, if $C$ is not a [[Ab-enriched category]], then the morphisms of the category are not linear and it would probably be better to call these morphisms *binary forms* or something similar. In [[cartesian monoidal categories]] $(C, 1, \times)$, the binary forms $V \times V \to 1$ always exist and is unique, by the universal property of the [[terminal object]].

Symmetric bilinear forms can similarly be generalized from the [[category of modules]] to any [[monoidal category]], where for all morphisms $v:I \to V$ and $w:I \to V$, we have $f \circ (v \otimes w) = f \circ (w \otimes v)$.

## Related concepts

* [[quadratic form]], [[polarization identity]]

* [[sesquilinear form]]

* [[symplectic form]], [[Kähler form]], [[Hermitian form]]

* [[Hermitian K-theory]]

* [[characteristic element of a bilinear form]]

* [[hyperbolic functor]]

* [[Riemannian metric]]

* [[Pythagorean theorem]]

* [[Cauchy–Schwarz inequality]]

* [[Bochner's theorem]]

## References

* [[John Milnor]], [[Dale Husemöller]], *Symmetric Bilinear Forms*,  Ergebnisse der Mathematik und ihrer Grenzgebiete **73**, Springer (1973) [[doi:10.1007/978-3-642-88330-9](https://doi.org/10.1007/978-3-642-88330-9)]

* [[Richard Elman]], [[Nikita Karpenko]], [[Alexander Merkurjev]], *Algebraic and Geometric Theory of Quadratic Forms*, Colloquium Publication **56**, AMS (2008) [[ams:coll-56](https://bookstore.ams.org/coll-56), [pdf](https://www.math.ucla.edu/~rse/old_book/Kniga.pdf)]

* [[Igor R. Shafarevich]], [[Alexey O. Remizov]]: §6 in: *Linear Algebra and Geometry* (2012) [[doi:10.1007/978-3-642-30994-6](https://doi.org/10.1007/978-3-642-30994-6), [MAA-review](https://maa.org/press/maa-reviews/linear-algebra-and-geometry)]

Lecture notes:

* [[Keith Conrad]], *Bilinear forms* [[pdf](https://kconrad.math.uconn.edu/blurbs/linmultialg/bilinearform.pdf), [[Conrad-BilinearForms.pdf:file]]]

[[!redirects bilinear form]]
[[!redirects bilinear forms]]

[[!redirects positive definite bilinear form]]
[[!redirects positive definite bilinear forms]]

[[!redirects positive semi-definite bilinear form]]
[[!redirects positive semi-definite bilinear forms]]

[[!redirects indefinite bilinear form]]
[[!redirects indefinite bilinear forms]]

[[!redirects symmetric bilinear form]]
[[!redirects symmetric bilinear forms]]

[[!redirects antisymmetric bilinear form]]
[[!redirects antisymmetric bilinear forms]]

[[!redirects skew-symmetric bilinear form]]
[[!redirects skew-symmetric bilinear forms]]

[[!redirects alternating bilinear form]]
[[!redirects alternating bilinear forms]]


bilinear map

+-- {: .rightHandSide}
+-- {: .toc .clickDown tabindex="0"}
### Context
#### Group Theory
+-- {: .hide}
[[!include group theory - contents]]
=--
=--
=--

# Contents
* table of contents
{: toc}

## Definition

### For abelian groups

+-- {: .num_defn #BilinearOnAbelianGroups}
###### Definition

For $A$, $B$ and $C$ [[abelian groups]] and $A \times B$ the [[cartesian product]] group, a **bilinear map**

$$
  f : A \times B \to C
$$

from $A$ and $B$ to $C$ is a [[function]] of the underlying [[sets]] (that is, a [[binary function]] from $A$ and $B$ to $C$) which is a [[linear map]] -- that is a [[group homomorphism]] -- in each argument separately.

=--

\begin{remark}
In terms of [[elements]] this means that
a bilinear map $f : A \times B \to C$ is a function of sets that satisfies for all elements $a_1, a_2 \in A$ and $b_1, b_2 \in B$ the two relations

$$
  f(a_1 + a_2, b_1) = f(a_1,b_1) + f(a_2, b_1)
$$

and

$$
  f(a_1, b_1 + b_2) = f(a_1, b_1) + f(a_1, b_2)
  \,.
$$
\end{remark}

\begin{remark}
Notice that a bilinear map is _not_ a group homomorphism out of the [[direct product]] group $A \times B$:

Here the direct product $A \times B$ is the group whose elements are pairs $(a,b)$ with $a \in A$ and $b \in B$, and whose group operation is

$$
  (a_1, b_1) + (a_2, b_2) = (a_1 + a_2 \;,\; b_1 + b_2)
  \,.
$$

Therefore a _[[group homomorphism]]_

$$
  \phi \colon A \times B \to C
$$

satisfies

$$
  \phi( a_1+a_2, b_1 + b_2 ) = \phi(a_1,b_1) + \phi(a_2, b_2)
$$

and hence in particular

$$
  \phi( a_1+a_2, b_1  ) = \phi(a_1,b_1) + \phi(a_2, 0)
$$

$$
  \phi( a_1, b_1 + b_2 ) = \phi(a_1,b_1) + \phi(0, b_2)
  \mathrlap{\,,}
$$

which is (in general) different from the behaviour of a bilinear map.
\end{remark}

The definition of [[tensor product of abelian groups]] is precisely such that the following is an equivalent definition of bilinear map:

+-- {: .num_defn}
###### Definition

For $A, B, C \in Ab$ a function of sets $f : A \times B \to C$
is a **bilinear map** from $A$ and $B$ to $C$ precisely if it factors through the [[tensor product of abelian groups]] $A \otimes B$ as

$$
  f \;\colon\; A \times B \to A \otimes B \to C
  \,.
$$

=--

+-- {: .num_remark}
###### Remark

The analogous definition for more than two arguments yields __multilinear maps__. There is a [[multicategory]] of abelian groups and multilinear maps between them; the bilinear maps are the [[binary morphisms]], and the multilinear maps are the [[multimorphisms]].

=--

### For modules

+-- {: .num_defn}
###### Definition

For $R$ a [[ring]] (or [[rig]]) and $A, B, C \in R$[[Mod]] being [[modules]] (say on the left, but on the right works similarly) over $R$, a **bilinear map** from $A$ and $B$ to $C$ is a function of the underlying sets

$$
  f : A \times B \to C
$$

which is a bilinear map of the underlying [[abelian groups]] as in def. \ref{BilinearOnAbelianGroups} and in addition such that for all $r \in R$ we have

$$
  f(r a, b) = r f(a,b)
$$

and

$$
  f(a, r b) = r f(a,b)
  \,.
$$

=--

As before, if $R$ is [[commutative ring|commutative]] then this is equivalent to $f$ factoring through the [[tensor product of modules]]

$$
 f : A \times B \to A \otimes_R B \to C
  \,.
$$

__Multilinear maps__ are again a generalisation.

### For bimodules

+-- {: .num_defn}
###### Definition

For [[rings]] $R$ and $S$ and $R$-$S$-[[bimodules]] $A$, $B$, and $C$, a **$R$-$S$-bilinear map** from $A$ and $B$ to $C$ is a function of the underlying sets

$$
  f : A \times B \to C
$$

which is a bilinear map of the underlying [[abelian groups]] as in def. \ref{BilinearOnAbelianGroups} and in addition such that for all $r \in R$ and $s \in S$ we have

$$
  f(r a s, b) = r f(a,b) s
$$

and

$$
  f(a, r b s) = r f(a,b) s
  \,.
$$

=--

If $R$ and $S$ are [[commutative rings]], then this is equivalent to $f$ factoring through the [[tensor product of bimodules]]

$$
 f : A \times B \to A \otimes_{R, S} B \to C
  \,.
$$

__Multilinear maps__ are again a generalisation.

### For $\infty$-modules
 {#ForInfinityModules}

([Lurie, section 4.3.4](#Lurie))

See at _[[tensor product of ∞-modules]]_

## Classification

A __[[bilinear form]]__ is a bilinear map $f\colon A, B \to K$ whose target is the [[ground ring]] $K$; more generally, a __[[multilinear form]]__ is multilinear map whose target is $K$.

A bilinear map $f\colon A, A \to K$ whose two sources are the same is __[[symmetric bilinear map|symmetric]]__ if $f(a, b) = f(b, a)$ always; more generally, a multilinear map whose sources are all the same is __[[symmetric multilinear map|symmetric]]__ if $f(a_1, a_2, \ldots, a_n) = f(a_{\sigma(1)}, a_{\sigma(2)}, \ldots, a_{\sigma(n)})$ for each [[permutation]] $\sigma$ in the [[symmetric group]] $S_n$.  (It\'s enough to check the $n-1$ generators of $S_n$ that transpose two adjacent arguments.)  In particular, this defines symmetric [[symmetric bilinear form|bilinear]] and [[symmetric multilinear form|multilinear]] forms.

A bilinear map $f\colon A, A \to K$ whose two sources are the same is __[[antisymmetric bilinear map|antisymmetric]]__ if $f(a, b) = -f(b, a)$ always; more generally, a multilinear map whose sources are all the same is __[[antisymmetric multilinear map|antisymmetric]]__ if $f(a_1, a_2, \ldots, a_n) = (-1)^\sigma f(a_{\sigma(1)}, a_{\sigma(2)}, \ldots, a_{\sigma(n)})$ for each [[permutation]] $\sigma$ in the [[symmetric group]] $S_n$, where $(-1)^\sigma$ is $1$ or $-1$ according as $\sigma$ is an even or odd permutation.  (It\'s enough to check the $n-1$ generators of $S_n$ that transpose two adjacent arguments, which are each odd and so each introduce a factor of $-1$.)  In particular, this defines antisymmetric [[antisymmetric bilinear form|bilinear]] and [[antisymmetric multilinear form|multilinear]] forms.

A bilinear map $f\colon A, A \to K$ whose two sources are the same is __[[alternating bilinear map|alternating]]__ if $f(a, a) = 0$ always; more generally, a multilinear map whose sources are all the same is __[[alternating multilinear map|alternating]]__ if $f(a_1, a_2, \ldots, a_n) = 0$ whenever there exists a nontrivial [[permutation]] $\sigma$ in the [[symmetric group]] $S_n$ such that $(a_1, a_2, \ldots, a_n) = (a_{\sigma(1)}, a_{\sigma(2)}, \ldots, a_{\sigma(n)})$, in other words whenever there exist indexes $i \ne j$ such that $a_i = a_j$.  (It\'s enough to say that $f(a_1, a_2, \ldots, a_n) = 0$ whenever two adjacent arguments are equal, although this is not as trivial as the analogous statements in the previous two paragraphs.)  In particular, this defines alternating [[alternating bilinear form|bilinear]] and [[alternating multilinear form|multilinear]] forms.

In many cases, antisymmetric and alternating maps are equivalent:

+-- {: .num_prop #alternationImpliesAntisymmetry}
###### Proposition

An alternating bilinear (or even multilinear) map must be antisymmetric.
=--

+-- {: .proof}
###### Proof

If $f$ is an alternating bilinear map, then $f(a + b, a + b) = f(a, a) + f(a, b) + f(b, a) + f(b, b) = 0 + f(a, b) + f(b, a) + 0$, so $f(a, b) + f(b, a) = f(a + b, a + b) = 0$, so $f(a, b) = -f(b, a)$; that is, $f$ is antisymmetric.  The general multilinear case is similar.  (Note that linearity is essential to this proof.)
=--

+-- {: .num_prop #antisymmetryImpliesAlternation}
###### Proposition

If the ground ring is a [[field]] whose characteristic is not $2$, or more generally if $1/2$ exists in the ground ring, or more generally if $2$ is cancellable in the target of the map in question, then an antisymmetric bilinear (or even multilinear) map must be alternating.
=--

+-- {: .proof}
###### Proof

If $f$ is an antisymmetric bilinear map, then $f(a, a) = -f(a, a)$, so $2 f(a, a) = f(a, a) + f(a, a) = f(a, a) - f(a, a) = 0$, so $f(a, a) = 0$ (by dividing by $2$, multiplying by $1/2$, or cancelling $2$, as applicable).  The general multilinear case is similar.  (Note that linearity is irrelevant to this proof.)
=--

The argument that the simplified description of alternation is correct is along the same lines as Proposition \ref{alternationImpliesAntisymmetry} above:

+-- {: .num_prop #transpositionsSufficeForAlternation}
###### Proposition

If a trilinear map is alternating in the first two arguments and in the last two arguments, or more generally if a multilinear map is alternating in every pair of adjacent arguments (or indeed in any set of transpositions that generate the entire symmetric group), then the map is alternating overall.
=--

+-- {: .proof}
###### Proof

If $f$ is a trilinear map that alternates in each adjacent pair of arguments, then $f(a + b, a + b, a) = f(a, a, a) + f(a, b, a) + f(b, a, a) + f(b, b, a) = 0 + f(a, b, a) + 0 + 0$, so $f(a, b, a) = f(a + b, a + b, a) = 0$; that is, $f$ is alternating in the remaining pair of arguments.  The general multilinear case is similar.  (Again, linearity is essential to this proof.)
=--

## Related concepts

* [[binary function]], **bilinear map**, **multilinear map**

* [[binary morphism]], [[multimorphism]]

* [[bifunctor]], [[Quillen bifunctor]]

## References

In the context of [[higher algebra]]/[[(∞,1)-category theory]] [[bilinear maps in an (∞,1)-category]] are discussed in section 4.3.4 of

* [[Jacob Lurie]], _[[Higher Algebra]]_

[[!redirects bilinear]]
[[!redirects bilinear map]]
[[!redirects bilinear maps]]
[[!redirects bilinear mapping]]
[[!redirects bilinear mappings]]
[[!redirects bilinear function]]
[[!redirects bilinear functions]]

[[!redirects bilinear operator]]
[[!redirects bilinear operators]]

[[!redirects multilinear map]]
[[!redirects multilinear maps]]
[[!redirects multilinear mapping]]
[[!redirects multilinear mappings]]
[[!redirects multilinear function]]
[[!redirects multilinear functions]]

[[!redirects bilinear map in an (∞,1)-category]]
[[!redirects bilinear maps in an (∞,1)-category]]
[[!redirects bilinear map in an (infinity,1)-category]]
[[!redirects bilinear maps in an (infinity,1)-category]]


Bill Spence

* [webpage](https://www.qmul.ac.uk/spa/people/academics/profiles/wjspence.html)

## Selected writings

On relation of [[Dp-D(p+2)-brane bound states]] ([hence](Dp-Dp+2-brane+bound+states#ReferencesRelationToMonopoles)
[[Yang-Mills monopoles]]) to [[knot invariants]] via [[chord diagrams]] computing [[radii]] of [[fuzzy spheres]]:

* [[Sanyaje Ramgoolam]], [[Bill Spence]], S. Thomas, Section 3.2 of: _Resolving brane collapse with $1/N$ corrections in non-Abelian DBI_, Nucl. Phys. B703 (2004) 236-276 ([arxiv:hep-th/0405256](https://arxiv.org/abs/hep-th/0405256))

* [[Simon McNamara]], [[Constantinos Papageorgakis]], [[Sanyaje Ramgoolam]], [[Bill Spence]], Appendix A of: _Finite $N$ effects on the collapse of fuzzy spheres_, JHEP 0605:060, 2006 ([arxiv:hep-th/0512145](https://arxiv.org/abs/hep-th/0512145))


Bimod

+-- {: .rightHandSide}
+-- {: .toc .clickDown tabindex="0"}
###Context###
#### Category theory
+--{: .hide}
[[!include category theory - contents]]
=--
#### Enriched category theory
+--{: .hide}
[[!include enriched category theory - contents]]
=--
#### Categorical algebra
+-- {: .hide}
[[!include categorical algebra -- contents]]
=--
=--
=--

For any [[monoidal category]] $V$ with coequalisers, one can form a bicategory Bimod(V) of bimodules as follows. The objects of Bimod(V) are monoids R, S internal to V. The 1-cells are (R,S)-bimodules. That is, objects A in V with a compatible left action of R and right action of S. 1-cell composition is then a generalization of the usual notion of tensor product. For an (R,S)-bimodule A and an (S,T)-bimodule B, a new (R,T)-bimodule $A \otimes_S B$ is computed as the coequaliser of A's right action and B's left action of S.

\[
A \otimes S \otimes B
\begin{matrix}
  \overset{\rho \otimes B}{\rightarrow} \\
  \underset{A \otimes \lambda}{\rightarrow}
\end{matrix}\,\,
A \otimes B \rightarrow A \otimes_S B
\]

2-cells, as expected are just module homomorphisms. In the case where V = Ab, this recovers the usual notion of bimodules and tensor product.

More generally, profunctors over any monoidal category are referred to as [[bimodule objects]]. Composition in this case replaces the colimit above with a coend.

## See also

* [[bimodule]]
* [[bimodule object]]
* [[Bimod]]


bimodel

Let $A$ and $B$ be [[algebraic theory|algebraic theories]]. The category $[A,B]$ of **$(A,B)$-bimodels** and their homomorphisms is the category of $A$-models and homomorphisms in $B Mod^{op}$. An alternative description is that is a co-$A$-model in $B Mod$. Each such bimodel $M$ determines and is determined by a pair of [[adjoint functor]]s

$$Hom_B(M,?): B Mod \to A Mod$$

$$M\otimes_A ?: A Mod \to B Mod$$

Composition of such adjoint pairs yields a functor

$$\otimes_B: [B,C]\times [A,B] \to [A,C]$$

The category $[A,A]$ has a unit object -- it would be churlish not to overload our notation yet further by calling it $A$, corresponding to the fact that the free $A$-model on one generator has a canonical co-$A$-structure.

So we have a [[bicategory]]; the 0-cells are algebraic theories, the 1-cells are bimodels and the 2-cells are homomorphisms of bimodels. Consider a [[monad]] in this bicategory: an algebraic theory $A$, an $(A,A)$-bimodel $M$, and homomorphisms $\eta : A\to M$, $\mu : M\otimes_A M \to M$ satisfying the usual rules. A [[algebra of a monad|module]] of this monad is given by an $A$-model $B$ together with an action $M\otimes_A B \to B$ satisfying the usual rules. It should be clear that such modules are models of an algebraic theory, which we shall confusingly denote by $M$. This theory is an extension of $A$ by unary operations (the elements of the underlying set of the underlying $A$-model of the underlying $(A,A)$-bimodel of the monad). The rules for composing them are given by $\mu$. They satisfy [[distributive law]]s over the operations of $A$ given by the co-$A$-structure of $M$.

We may overload $\eta$ to refer both to a homomorphism of bimodels and to a map of algebraic theories. The forgetful functor $M Mod \to A Mod$ has for its left adjoint the functor $M\otimes_A ?$, but it also has a right adjoint $Hom_A(M,?)$. So in this case the forgetful functor preserves colimits as well as limits. In fact all maps of theories whose associated forgetful functors have [[adjoint functor|right adjoint]]s must arise from such a monad in the bicategory of bimodels.

I would like some snappier terminology at this point. What should we call these monads in the bicategory of bimodels? If we use words like _algebra_ or _monad_ our rickety overloaded onomastic scaffolding starts to creak ominously. Put on your hard hats. We are in territory where to discriminate too meticulously between different views of the same thing is to invite fuddlement. And yet we have to hold in our heads that [[isomorphism]] is not [[equality]], and that too cavalier an approach to identification can sometimes lead to error.

+-- {: .query}
If $A$ were a ring, then I\'d call $M$ an '$A$-algebra'.  Unfortunately, that term can also be used for an $A$-model.  Also, even in ring theory, that term is usually only used when $A$ is commutative.  One might, following 'bimodule' (and 'bimodel') say 'bialgebra' in that case, but that also has another meaning.  So let\'s give up in that direction.

But it seems OK to me to call it an '$A$-monad'.  ---Toby

This fits with the fact that $M$ is an extension of $A$ by unary operations, so one should be reminded of monoids, maybe? ---Gavin
=--

## References

* [[Peter Freyd]], _Algebra valued functors in general and tensor products in particular_, Colloquium mathematicum. Vol. 14. No. 1. Polska Akademia Nauk. Instytut Matematyczny PAN, 1966.

* [[Francis Borceux]] and [[Enrico M. Vitale]], _On the notion of bimodel for functorial semantics_, Applied Categorical Structures 2.3 (1994): 283-295.

* [[Jiří Adámek]] and [[Francis Borceux]], _Morita equivalence of sketches_, Applied Categorical Structures 8 (2000): 503-517.