HoTT/HoTT — pull request #356 by JasonGross (2014-04-01 03:12:07+00:00)
Title: Hom-set adjunctions

Prove that it's logically equivalent to the other kinds of adjunctions
(via a coercion to the adjunction-unit definition).

There's not too much going on in the proof scripts, but maybe someone
can find a way to make them even cleaner? And maybe also faster, because they're slow?

This is on top of #354 and #355.

```
After | File Name | Before
------------------------------------------------------------------------------
8m57.97s | Total | 8m33.74s
------------------------------------------------------------------------------
1m45.72s | categories/Comma/ProjectionFunctors | 1m45.60s
0m32.69s | categories/Adjoint/Composition/AssociativityLaw | 0m33.41s
0m24.70s | categories/Grothendieck/PseudofunctorToCat | 0m25.47s
0m23.68s | categories/Adjoint/HomCoercions | N/A
0m16.75s | categories/Adjoint/UnitCounitCoercions | 0m16.96s
0m16.70s | categories/ExponentialLaws/Law4/Functors | 0m17.55s
0m16.14s | categories/Comma/InducedFunctors | 0m15.69s
0m15.17s | categories/FunctorCategory/Dual | 0m15.70s
0m13.65s | hit/Flattening | 0m12.76s
0m12.29s | categories/Adjoint/Composition/Core | 0m12.04s
0m12.08s | categories/Pseudofunctor/Core | 0m11.98s
0m12.04s | categories/Functor/Pointwise/Properties | 0m12.47s
0m11.92s | categories/Adjoint/Dual | 0m11.75s
0m10.49s | categories/Adjoint/Composition/IdentityLaws | 0m10.61s
0m10.40s | categories/Pseudofunctor/FromFunctor | 0m10.91s
0m08.64s | categories/Yoneda | 0m08.23s
0m08.18s | categories/ExponentialLaws/Law1/Law | 0m08.12s
0m08.13s | categories/Functor/Prod/Universal | 0m07.82s
0m08.13s | categories/GroupoidCategory/Morphisms | 0m07.66s
0m07.10s | hit/Connectedness | 0m07.02s
0m06.90s | categories/UniversalProperties | 0m06.76s
0m06.89s | categories/Adjoint/Paths | 0m06.63s
0m06.58s | categories/Structure/IdentityPrinciple | 0m06.69s
0m06.24s | categories/Comma/Dual | 0m06.33s
0m06.02s | categories/Functor/Paths | 0m05.63s
0m05.83s | categories/Category/Morphisms | 0m05.60s
0m05.74s | categories/Functor/Sum | 0m05.75s
0m05.59s | categories/Adjoint/UnitCounit | 0m05.46s
0m05.08s | categories/ExponentialLaws/Law2/Functors | 0m04.75s
0m05.04s | EquivalenceVarieties | 0m05.34s
0m04.68s | categories/Category/Sigma/OnMorphisms | 0m04.42s
0m04.42s | categories/DualFunctor | 0m04.52s
0m03.66s | categories/ProductLaws | 0m03.59s
0m03.54s | categories/Structure/Core | 0m03.57s
0m03.48s | types/ObjectClassifier | 0m03.70s
0m02.99s | types/Sigma | 0m03.16s
0m02.84s | categories/Functor/Prod/Functorial | 0m02.88s
0m02.74s | categories/Adjoint/UniversalMorphisms | 0m02.85s
0m02.59s | categories/FunctorCategory/Functorial | 0m02.65s
0m02.54s | Equivalences | 0m02.50s
0m02.50s | categories/Grothendieck/ToSet | 0m02.47s
0m02.23s | categories/Category/Sum | 0m02.24s
0m02.22s | categories/Functor/Attributes | 0m02.22s
0m02.06s | categories/Category/Sigma/Core | 0m02.06s
0m02.03s | PathGroupoids | 0m01.76s
0m02.00s | categories/Comma/Core | 0m01.94s
0m01.89s | categories/NaturalTransformation/Isomorphisms | 0m01.92s
0m01.84s | categories/HomFunctor | 0m01.73s
0m01.78s | categories/NaturalTransformation/Dual | 0m01.86s
0m01.66s | categories/FunctorCategory/Morphisms | 0m01.68s
0m01.59s | categories/NaturalTransformation/Paths | 0m01.69s
0m01.40s | categories/NaturalTransformation/Pointwise | 0m01.46s
0m01.30s | categories/Category/Prod | 0m01.26s
0m01.28s | categories/Category/Sigma/OnObjects | 0m01.44s
0m01.26s | categories/NaturalTransformation/Composition/Laws | 0m01.23s
0m01.22s | types/Prod | 0m01.29s
0m01.16s | categories/Limits/Core | 0m01.09s
0m01.10s | hit/Spheres | 0m00.87s
0m01.08s | categories/Functor/Pointwise | 0m01.04s
0m01.02s | categories/CategoryOfSections/Core | 0m01.04s
0m01.02s | categories/ExponentialLaws/Law1/Functors | 0m01.03s
0m00.96s | hit/epi | 0m00.89s
0m00.96s | categories/ExponentialLaws/Law N/A | 0m00.98s
0m00.93s | categories/Functor/Prod | 0m00.92s
0m00.91s | types/Paths | 0m00.87s
0m00.91s | contrib/HoTTBookExercises | 0m00.84s
0m00.90s | categories/NaturalTransformation/Prod | 0m00.89s
0m00.85s | categories/Functor/Composition/Functorial | 0m00.85s
0m00.74s | Trunc | 0m00.77s
0m00.68s | categories/InitialTerminalCategory | 0m00.65s
0m00.64s | types/Sum | 0m00.56s
0m00.64s | categories/NaturalTransformation/Composition/Core | 0m00.64s
0m00.62s | types/Universe | 0m00.65s
0m00.57s | contrib/HoTTBook | 0m00.62s
0m00.57s | hit/quotient | 0m00.54s
0m00.56s | categories/NaturalTransformation/Sum | 0m00.52s
0m00.56s | categories/categories | 0m00.57s
0m00.54s | types/Record | 0m00.53s
0m00.53s | Functorish | 0m00.54s
0m00.53s | hit/Suspension | 0m00.69s
0m00.52s | categories/Functor/Composition/Laws | 0m00.45s
0m00.50s | categories/Limits/Functors | 0m00.47s
0m00.49s | categories/Comma/Projection | 0m00.53s
0m00.47s | HProp | 0m00.52s
0m00.46s | hit/Circle | 0m00.57s
0m00.46s | categories/KanExtensions/Functors | 0m00.45s
0m00.45s | types/Forall | 0m00.45s
0m00.44s | categories/ExponentialLaws/Law3/Functors | 0m00.44s
0m00.43s | HSet | 0m00.48s
0m00.43s | Tactics | 0m00.42s
0m00.42s | categories/NaturalTransformation/Identity | 0m00.38s
0m00.39s | categories/Cat/Core | 0m00.41s
0m00.37s | categories/Functor/Dual | 0m00.38s
0m00.37s | categories/Functor/Functor | 0m00.33s
0m00.37s | Fibrations | 0m00.40s
0m00.36s | TruncType | 0m00.36s
0m00.32s | categories/IndiscreteCategory | 0m00.35s
0m00.31s | categories/Cat/Morphisms | 0m00.32s
0m00.30s | hit/minus1Trunc | 0m00.26s
0m00.30s | categories/NaturalTransformation/Composition/Functorial | 0m00.30s
0m00.29s | categories/ExponentialLaws/ExponentialLaws | 0m00.26s
0m00.29s | Misc | 0m00.36s
0m00.28s | categories/KanExtensions/Core | 0m00.30s
0m00.26s | categories/Adjoint/Hom | N/A
0m00.26s | categories/Functor/Composition/Core | 0m00.22s
0m00.26s | types/Arrow | 0m00.27s
0m00.26s | categories/Grothendieck/Grothendieck | 0m00.29s
0m00.24s | categories/Utf8 | 0m00.20s
0m00.24s | categories/Notations | 0m00.21s
0m00.24s | categories/Adjoint/Adjoint | 0m00.21s
0m00.22s | hit/iso | 0m00.20s
0m00.22s | categories/SetCategory/Functors/Functors | 0m00.18s
0m00.22s | categories/Comma/Comma | 0m00.17s
0m00.22s | categories/Category/Objects | 0m00.25s
0m00.21s | categories/FunctorCategory/FunctorCategory | 0m00.15s
0m00.21s | categories/Pseudofunctor/Pseudofunctor | 0m00.19s
0m00.20s | Conjugation | 0m00.21s
0m00.20s | categories/NaturalTransformation/NaturalTransformation | 0m00.21s
0m00.20s | FunextVarieties | 0m00.15s
0m00.20s | types/Bool | 0m00.17s
0m00.19s | categories/Cat/Cat | 0m00.17s
0m00.19s | categories/Functor/Prod/Prod | 0m00.14s
0m00.18s | categories/DependentProduct | 0m00.18s
0m00.18s | categories/Grothendieck/ToCat | 0m00.19s
0m00.18s | categories/NatCategory | 0m00.20s
0m00.18s | categories/FunctorCategory/Core | 0m00.18s
0m00.17s | categories/Adjoint/Utf8 | 0m00.14s
0m00.17s | categories/Limits/Limits | 0m00.16s
0m00.17s | categories/Category/Category | 0m00.19s
0m00.17s | categories/Adjoint/Composition/Composition | 0m00.18s
0m00.16s | categories/KanExtensions/KanExtensions | 0m00.16s
0m00.16s | HoTT | 0m00.15s
0m00.16s | categories/Profunctor/Notations | 0m00.12s
0m00.16s | categories/Functor/Notations | 0m00.16s
0m00.16s | categories/GroupoidCategory/Core | 0m00.19s
0m00.16s | categories/Functor/Utf8 | 0m00.13s
0m00.16s | hit/TwoSphere | 0m00.12s
0m00.16s | categories/ExponentialLaws/Law1/Law1 | 0m00.14s
0m00.16s | categories/ExponentialLaws/Law2/Law2 | 0m00.17s
0m00.15s | categories/Profunctor/Core | 0m00.14s
0m00.15s | categories/Adjoint/Notations | 0m00.17s
0m00.15s | categories/NaturalTransformation/Core | 0m00.15s
0m00.15s | categories/NaturalTransformation/Notations | 0m00.14s
0m00.15s | categories/NaturalTransformation/Utf8 | 0m00.14s
0m00.15s | Overture | 0m00.17s
0m00.14s | categories/Adjoint/Identity | 0m00.14s
0m00.14s | categories/Profunctor/Identity | 0m00.13s
0m00.14s | categories/Adjoint/Composition/LawsTactic | 0m00.12s
0m00.14s | categories/CategoryOfSections/CategoryOfSections | 0m00.14s
0m00.13s | categories/DiscreteCategory | 0m00.11s
0m00.13s | hit/Interval | 0m00.11s
0m00.13s | categories/SetCategory/Core | 0m00.12s
0m00.13s | categories/Category/Dual | 0m00.15s
0m00.13s | categories/Profunctor/Representable | 0m00.17s
0m00.13s | categories/Category/Core | 0m00.14s
0m00.13s | categories/Category/Sigma/Sigma | 0m00.14s
0m00.13s | categories/Profunctor/Utf8 | 0m00.17s
0m00.12s | categories/Comma/Utf8 | 0m00.15s
0m00.12s | categories/ExponentialLaws/Law3/Law3 | 0m00.13s
0m00.12s | Contractible | 0m00.11s
0m00.12s | categories/ExponentialLaws/Law4/Law4 | 0m00.11s
0m00.12s | categories/Category/Univalent | 0m00.12s
0m00.12s | categories/Profunctor/Profunctor | 0m00.14s
0m00.12s | categories/Comma/Notations | 0m00.13s
0m00.12s | categories/SetCategory/SetCategory | 0m00.10s
0m00.12s | UnivalenceAxiom | 0m00.11s
0m00.12s | categories/NaturalTransformation/Composition/Composition | 0m00.11s
0m00.12s | categories/Category/Subcategory/Full | 0m00.12s
0m00.12s | categories/Functor/Pointwise/Pointwise | 0m00.08s
0m00.12s | categories/FunctorCategory/Notations | 0m00.12s
0m00.12s | hit/Truncations | 0m00.12s
0m00.11s | categories/Adjoint/Core | 0m00.11s
0m00.11s | categories/GroupoidCategory/GroupoidCategory | 0m00.10s
0m00.11s | categories/Category/Utf8 | 0m00.12s
0m00.11s | categories/Structure/Structure | 0m00.17s
0m00.11s | coq/Init/Peano | 0m00.11s
0m00.11s | hit/unique_choice | 0m00.15s
0m00.11s | types/Unit | 0m00.12s
0m00.11s | categories/Functor/Composition/Composition | 0m00.13s
0m00.10s | categories/Functor/Identity | 0m00.07s
0m00.10s | categories/FunctorCategory/Utf8 | 0m00.16s
0m00.10s | categories/Functor/Core | 0m00.12s
0m00.10s | categories/Category/Subcategory/Wide | 0m00.10s
0m00.10s | categories/Category/Notations | 0m00.10s
0m00.09s | categories/Structure/Notations | 0m00.10s
0m00.09s | categories/Category/Subcategory/Subcategory | 0m00.11s
0m00.09s | Pointed | 0m00.08s
0m00.09s | categories/Structure/Utf8 | 0m00.11s
0m00.08s | categories/Category/Strict | 0m00.08s
0m00.08s | types/UniverseLevel | 0m00.08s
0m00.08s | types/Empty | 0m00.07s
0m00.07s | coq/Init/Datatypes | 0m00.06s
0m00.06s | coq/Init/Notations | 0m00.04s
0m00.06s | coq/Init/Specif | 0m00.07s
0m00.06s | coq/Init/Logic_Type | 0m00.06s
0m00.06s | FunextAxiom | 0m00.05s
0m00.05s | coq/Program/Tactics | 0m00.06s
0m00.04s | coq/Bool/Bool | 0m00.02s
0m00.03s | coq/Init/Logic | 0m00.03s
0m00.03s | coq/Init/Prelude | 0m00.02s
0m00.03s | coq/Init/Tactics | 0m00.03s
```