Built with Alectryon. Bubbles () indicate interactive fragments: hover for details, tap to reveal contents. Use Ctrl+↑Ctrl+↓ to navigate, Ctrl+🖱️ to focus. On Mac, use ⌘ instead of Ctrl.
(** The HoTT Book formalization. *)(** This file links the results of the HoTT Book with their formalizations in the HoTT library. You can lookup definitions and theorems by their number in the HoTT Book. *)(* IMPORTANT NOTE FOR THE HoTT DEVELOPERS: This files is processed automagically by the etc/Book.py script. The script parses the file according to the markers present in it (the comment lines with many = signs followed by a LaTeX label). It reorders the entries according to entry number X.Y.Z and inserts missing entries. You must therefore obey the following rules: 0. Read the description below of what the correct procedure is. 1. Do not mess with the markers and do not insert new entries by hand. If a LaTeX label has been renamed you may rename the corresponding marker, but for addition of new entries you have to use the etc/Book.py script, as described below. 2. If a theorem is gone, you may delete the corresponding entry, but make sure first that it was not just moved elsewhere. 3. Make entries independent of other entries, as they may get reordered or deleted. 4. If you need to import anything, do it before the first entry. 5. Each entry should define Book_X_Y_Z, but you can also put in auxiliary definitions and lemmas (keep it short please). The script renames the Book_X_Y_Z to whatever the correct number is, so initially you can use whatever number you like. If you are formalizing a Lemma with several part, use Book_X_Y_Z_item_i, Book_X_Y_Z_item_ii, or some such. 6. If there is a corresponding HoTT library theorem or definition, please use that one, even if it is not exactly the same. PROCEDURE FOR UPDATING THE FILE: 1. Compile the latest version of the HoTT Book to update the LaTeX labels. Do not forget to pull in changes from HoTT/HoTT. 2. Run `cat ../book/*.aux | etc/Book.py contrib/HoTTBook.v`. If it complains, fix things. 3. Add contents to new entries. 4. Run `etc/Book.py` again to make sure it is happy. 5. Compile this file with `make contrib` or `make contrib/HoTTBook.vo`. 6. Do the git thing to submit your changes.*)From HoTT Require Import Basics Truncations.From HoTT Require Idempotents Spaces.No Spaces.Nat.From HoTT Require HIT.V HIT.Flattening Homotopy.WhiteheadsPrinciple Homotopy.Hopf.From HoTT Require Categories.From HoTT Require Metatheory.IntervalImpliesFunext Metatheory.UnivalenceImpliesFunext.From HoTT Require Classes.theory.premetric.(* END OF PREAMBLE *)(* ================================================== lem:opp *)(** Lemma 2.1.1 *)DefinitionBook_2_1_1 := @HoTT.Basics.Overture.inverse.(* ================================================== lem:concat *)(** Lemma 2.1.2 *)DefinitionBook_2_1_2 := @HoTT.Basics.Overture.transitive_paths.(* ================================================== thm:omg *)(** Lemma 2.1.4 *)DefinitionBook_2_1_4_item_i := @HoTT.Basics.PathGroupoids.concat_p1.DefinitionBook_2_1_4_item_i' := @HoTT.Basics.PathGroupoids.concat_1p.DefinitionBook_2_1_4_item_ii := @HoTT.Basics.PathGroupoids.concat_Vp.DefinitionBook_2_1_4_item_ii' := @HoTT.Basics.PathGroupoids.concat_pV.DefinitionBook_2_1_4_item_iii := @HoTT.Basics.PathGroupoids.inv_V.DefinitionBook_2_1_4_item_iv := @HoTT.Basics.PathGroupoids.concat_p_pp.(* ================================================== thm:EckmannHilton *)(** Theorem 2.1.6 *)DefinitionBook_2_1_6 := @HoTT.Basics.PathGroupoids.eckmann_hilton.(* ================================================== def:pointedtype *)(** Definition 2.1.7 *)DefinitionBook_2_1_7 := @HoTT.Basics.Overture.pType.(* ================================================== def:loopspace *)(** Definition 2.1.8 *)DefinitionBook_2_1_8 := @HoTT.Pointed.Loops.iterated_loops.(* ================================================== lem:map *)(** Lemma 2.2.1 *)DefinitionBook_2_2_1 := @HoTT.Basics.Overture.ap.(* ================================================== lem:ap-functor *)(** Lemma 2.2.2 *)DefinitionBook_2_2_2_item_i := @HoTT.Basics.PathGroupoids.ap_pp.DefinitionBook_2_2_2_item_ii := @HoTT.Basics.PathGroupoids.inverse_ap.DefinitionBook_2_2_2_item_iii := @HoTT.Basics.PathGroupoids.ap_compose.DefinitionBook_2_2_2_item_iv := @HoTT.Basics.PathGroupoids.ap_idmap.(* ================================================== lem:transport *)(** Lemma 2.3.1 *)DefinitionBook_2_3_1 := @HoTT.Basics.Overture.transport.(* ================================================== thm:path-lifting *)(** Lemma 2.3.2 *)(* special case of *)DefinitionBook_2_3_2 := @HoTT.Types.Sigma.equiv_path_sigma.(* ================================================== lem:mapdep *)(** Lemma 2.3.4 *)DefinitionBook_2_3_4 := @HoTT.Basics.Overture.apD.(* ================================================== thm:trans-trivial *)(** Lemma 2.3.5 *)DefinitionBook_2_3_5 := @HoTT.Basics.PathGroupoids.transport_const.(* ================================================== thm:apd-const *)(** Lemma 2.3.8 *)DefinitionBook_2_3_8 := @HoTT.Basics.PathGroupoids.apD_const.(* ================================================== thm:transport-concat *)(** Lemma 2.3.9 *)DefinitionBook_2_3_9 := @HoTT.Basics.PathGroupoids.transport_compose.(* ================================================== thm:transport-compose *)(** Lemma 2.3.10 *)DefinitionBook_2_3_10 := @HoTT.Basics.PathGroupoids.ap_transport.(* ================================================== thm:ap-transport *)(** Lemma 2.3.11 *)DefinitionBook_2_3_11 := @HoTT.Basics.PathGroupoids.transport_pp.(* ================================================== defn:homotopy *)(** Definition 2.4.1 *)DefinitionBook_2_4_1 := @HoTT.Basics.Overture.pointwise_paths.(* ================================================== lem:homotopy-props *)(** Lemma 2.4.2 *)DefinitionBook_2_4_2 := @HoTT.Basics.Overture.pointwise_paths.(* ================================================== lem:htpy-natural *)(** Lemma 2.4.3 *)DefinitionBook_2_4_3 := @HoTT.Basics.PathGroupoids.concat_Ap.(* ================================================== cor:hom-fg *)(** Corollary 2.4.4 *)DefinitionBook_2_4_4 := @HoTT.Basics.PathGroupoids.concat_A1p.(* ================================================== defn:quasi-inverse *)(** Definition 2.4.6 *)(** Quasi-inverses do not occur explicitly in the library since they are `not good'. They do only occur implicitly as input to isequiv_adjointify : IsEquiv f. Therefore we link to the half adjoint equivalence extending the quasi-inverse *)DefinitionBook_2_4_6 := @HoTT.Basics.Equivalences.isequiv_adjointify.(* ================================================== eg:idequiv *)(** Example 2.4.7 *)DefinitionBook_2_4_7 := @HoTT.Basics.Equivalences.equiv_idmap.(* ================================================== eg:concatequiv *)(** Example 2.4.8 *)DefinitionBook_2_4_8_i := @HoTT.Types.Paths.isequiv_concat_l.DefinitionBook_2_4_8_ii := @HoTT.Types.Paths.isequiv_concat_r.(* ================================================== thm:transportequiv *)(** Example 2.4.9 *)DefinitionBook_2_4_9 := @HoTT.Basics.Equivalences.isequiv_transport.(* ================================================== thm:equiv-eqrel *)(** Lemma 2.4.12 *)DefinitionBook_2_4_12_item_i := @HoTT.Basics.Equivalences.reflexive_equiv.DefinitionBook_2_4_12_item_ii := @HoTT.Basics.Equivalences.symmetric_equiv.DefinitionBook_2_4_12_item_iii := @HoTT.Basics.Equivalences.transitive_equiv.(* ================================================== thm:path-prod *)(** Theorem 2.6.2 *)DefinitionBook_2_6_2 := @HoTT.Types.Prod.equiv_path_prod.(* ================================================== thm:trans-prod *)(** Theorem 2.6.4 *)DefinitionBook_2_6_4 := @HoTT.Types.Prod.transport_prod.(* ================================================== thm:ap-prod *)(** Theorem 2.6.5 *)DefinitionBook_2_6_5 := @HoTT.Types.Prod.ap_functor_prod.(* ================================================== thm:path-sigma *)(** Theorem 2.7.2 *)DefinitionBook_2_7_2 := @HoTT.Types.Sigma.equiv_path_sigma.(* ================================================== thm:eta-sigma *)(** Corollary 2.7.3 *)DefinitionBook_2_7_3 := @HoTT.Types.Sigma.eta_sigma.(* ================================================== transport-Sigma *)(** Theorem 2.7.4 *)DefinitionBook_2_7_4 := @HoTT.Types.Sigma.transportD_is_transport.(* ================================================== thm:path-unit *)(** Theorem 2.8.1 *)DefinitionBook_2_8_1 := @HoTT.Types.Unit.equiv_path_unit.(* ================================================== axiom:funext *)(** Axiom 2.9.3 *)DefinitionBook_2_9_3 := @HoTT.Basics.Overture.path_forall.(* ================================================== thm:dpath-arrow *)(** Lemma 2.9.6 *)DefinitionBook_2_9_6 := @HoTT.Types.Arrow.dpath_arrow.(* ================================================== thm:dpath-forall *)(** Lemma 2.9.7 *)DefinitionBook_2_9_7 := @HoTT.Types.Forall.dpath_forall.(* ================================================== thm:idtoeqv *)(** Lemma 2.10.1 *)DefinitionBook_2_10_1 := @HoTT.Types.Universe.equiv_path.(* ================================================== axiom:univalence *)(** Axiom 2.10.3 *)DefinitionBook_2_10_3 := @HoTT.Types.Universe.isequiv_equiv_path.(* ================================================== thm:transport-is-ap *)(** Lemma 2.10.5 *)(** Lemma 2.10.5 is a special case of Lemma 2.3.10, but also of: *)DefinitionBook_2_10_5 := @HoTT.Types.Universe.transport_path_universe'.(* ================================================== thm:paths-respects-equiv *)(** Theorem 2.11.1 *)DefinitionBook_2_11_1 := @HoTT.Basics.Equivalences.isequiv_ap.(* ================================================== cor:transport-path-prepost *)(** Lemma 2.11.2 *)DefinitionBook_2_11_2_item_1 := @HoTT.Types.Paths.transport_paths_l.DefinitionBook_2_11_2_item_2 := @HoTT.Types.Paths.transport_paths_r.DefinitionBook_2_11_2_item_3 := @HoTT.Types.Paths.transport_paths_lr.(* ================================================== thm:transport-path *)(** Theorem 2.11.3 *)DefinitionBook_2_11_3 := @HoTT.Types.Paths.transport_paths_FlFr.(* ================================================== thm:transport-path2 *)(** Theorem 2.11.4 *)DefinitionBook_2_11_4 := @HoTT.Types.Paths.transport_paths_FlFr_D.(* ================================================== thm:dpath-path *)(** Theorem 2.11.5 *)DefinitionBook_2_11_5 := @HoTT.Types.Paths.dpath_path_lr.(* ================================================== thm:path-coprod *)(** Theorem 2.12.5 *)DefinitionBook_2_12_5 := @HoTT.Types.Sum.equiv_path_sum.(* ================================================== thm:path-nat *)(** Theorem 2.13.1 *)DefinitionBook_2_13_1 := @HoTT.Spaces.Nat.Paths.equiv_path_nat.(* ================================================== thm:prod-ump *)(** Theorem 2.15.2 *)(** non-dependent as special case of dependent, Theorem 2.15.5 *)DefinitionBook_2_15_2 := @HoTT.Types.Prod.isequiv_prod_coind.(* ================================================== thm:prod-umpd *)(** Theorem 2.15.5 *)DefinitionBook_2_15_5 := @HoTT.Types.Prod.isequiv_prod_coind.(* ================================================== thm:ttac *)(** Theorem 2.15.7 *)DefinitionBook_2_15_7 := @HoTT.Types.Sigma.isequiv_sig_coind.(* ================================================== defn:set *)(** Definition 3.1.1 *)DefinitionBook_3_1_1 := funA => @HoTT.Basics.Overture.IsTrunc 0 A.(* ================================================== eg:isset-unit *)(** Example 3.1.2 *)DefinitionBook_3_1_2 := @HoTT.Types.Unit.contr_unit.(* ================================================== eg:isset-empty *)(** Example 3.1.3 *)DefinitionBook_3_1_3 := @HoTT.Types.Empty.istrunc_Empty (-2).(* ================================================== thm:nat-set *)(** Example 3.1.4 *)DefinitionBook_3_1_4 := @HoTT.Spaces.Nat.Core.ishset_nat.(* ================================================== thm:isset-prod *)(** Example 3.1.5 *)DefinitionBook_3_1_5 := @HoTT.Types.Prod.istrunc_prod.(* ================================================== thm:isset-forall *)(** Example 3.1.6 *)DefinitionBook_3_1_6 `{Funext} A P := @HoTT.Basics.Trunc.istrunc_forall _ A P 0.(* ================================================== defn:1type *)(** Definition 3.1.7 *)DefinitionBook_3_1_7 := funA => @HoTT.Basics.Overture.IsTrunc 1 A.(* ================================================== thm:isset-is1type *)(** Lemma 3.1.8 *)DefinitionBook_3_1_8 := @HoTT.Basics.Trunc.istrunc_succ 0.(* ================================================== thm:type-is-not-a-set *)(** Example 3.1.9 *)DefinitionBook_3_1_9 := @HoTT.Types.Universe.not_hset_Type.(* ================================================== thm:not-dneg *)(** Theorem 3.2.2 *)(* ================================================== thm:not-lem *)(** Corollary 3.2.7 *)(* ================================================== defn:isprop *)(** Definition 3.3.1 *)DefinitionBook_3_3_1 := funA => @HoTT.Basics.Overture.IsTrunc (-1) A.(* ================================================== thm:inhabprop-eqvunit *)(** Lemma 3.3.2 *)DefinitionBook_3_3_2 := @HoTT.Universes.HProp.if_hprop_then_equiv_Unit.(* ================================================== lem:equiv-iff-hprop *)(** Lemma 3.3.3 *)DefinitionBook_3_3_3 := @HoTT.Basics.Trunc.equiv_iff_hprop.(* ================================================== thm:prop-set *)(** Lemma 3.3.4 *)DefinitionBook_3_3_4 := @HoTT.Basics.Trunc.istrunc_succ (-1).(* ================================================== thm:isprop-isset *)(** Lemma 3.3.5 *)DefinitionBook_3_3_5_i := @HoTT.Basics.Trunc.ishprop_istrunc.(* ================================================== thm:isprop-isprop *)(** Lemma 3.3.5 *)DefinitionBook_3_3_5_ii := @HoTT.Basics.Trunc.ishprop_istrunc.(* ================================================== defn:decidable-equality *)(** Definition 3.4.3 *)DefinitionBook_3_4_3_part_i := @HoTT.Basics.Decidable.Decidable.(** Definition Book_3_4_3_part_ii := *)DefinitionBook_3_4_3_part_iii := @HoTT.Basics.Decidable.DecidablePaths.(* ================================================== defn:setof *)(** Lemma 3.5 *)(* ================================================== thm:path-subset *)(** Lemma 3.5.1 *)DefinitionBook_3_5_1 := @HoTT.Types.Sigma.path_sigma_hprop.(* ================================================== thm:isprop-forall *)(** Example 3.6.2 *)DefinitionBook_3_6_2 `{Funext} (A : Type) (B : A -> Type)
:= @HoTT.Basics.Trunc.istrunc_forall _ A B (-1).(* ================================================== defn:logical-notation *)(** Definition 3.7.1 *)(* ================================================== thm:ac-epis-split *)(** Lemma 3.8.2 *)(* ================================================== thm:no-higher-ac *)(** Lemma 3.8.5 *)(* ================================================== thm:prop-equiv-trunc *)(** Lemma 3.9.1 *)DefinitionBook_3_9_1 := @HoTT.Modalities.ReflectiveSubuniverse.isequiv_to_O_inO (Tr (-1)).(* ================================================== cor:UC *)(** Corollary 3.9.2 *)DefinitionBook_3_9_2 := @HoTT.HIT.unique_choice.unique_choice.(* ================================================== defn:contractible *)(** Definition 3.11.1 *)DefinitionBook_3_11_1 := funA => @HoTT.Basics.Overture.IsTrunc (-2) A.(* ================================================== thm:contr-unit *)(** Lemma 3.11.3 *)DefinitionBook_3_11_3 := @HoTT.Types.Unit.contr_unit.(* ================================================== thm:isprop-iscontr *)(** Lemma 3.11.4 *)DefinitionBook_3_11_4 := @HoTT.Basics.Trunc.ishprop_istrunc.(* ================================================== thm:contr-contr *)(** Corollary 3.11.5 *)DefinitionBook_3_11_5 `{Funext} := @HoTT.Basics.Trunc.contr_istrunc _ (-2).(* ================================================== thm:contr-forall *)(** Lemma 3.11.6 *)DefinitionBook_3_11_6 `{Funext} A P := @HoTT.Basics.Trunc.istrunc_forall _ A P (-2).(* ================================================== thm:retract-contr *)(** Lemma 3.11.7 *)DefinitionBook_3_11_7a := @HoTT.Idempotents.contr_retracttype.DefinitionBook_3_11_7 := @HoTT.Modalities.ReflectiveSubuniverse.inO_to_O_retract (Tr (-2)).(* ================================================== thm:contr-paths *)(** Lemma 3.11.8 *)DefinitionBook_3_11_8 := @HoTT.Basics.Contractible.contr_basedpaths.(* ================================================== thm:omit-contr *)(** Lemma 3.11.9 *)DefinitionBook_3_11_9_part_i := @HoTT.Types.Sigma.equiv_sigma_contr.DefinitionBook_3_11_9_part_ii := @HoTT.Types.Sigma.equiv_contr_sigma.(* ================================================== thm:prop-minusonetype *)(** Lemma 3.11.10 *)DefinitionBook_3_11_10_if := @HoTT.Basics.Trunc.path_ishprop.DefinitionBook_3_11_10_onlyif := @HoTT.Basics.Trunc.hprop_allpath.(* ================================================== lem:qinv-autohtpy *)(** Lemma 4.1.1 *)(* ================================================== lem:autohtpy *)(** Lemma 4.1.2 *)(* ================================================== thm:qinv-notprop *)(** Theorem 4.1.3 *)(* ================================================== defn:ishae *)(** Definition 4.2.1 *)DefinitionBook_4_2_1 := @HoTT.Basics.Overture.IsEquiv.(* ================================================== lem:coh-equiv *)(** Lemma 4.2.2 *)(* The proof of Lemma 4.2.2 is embedded in the proof of isequiv_inverse. *)DefinitionBook_4_2_2 := fun (AB : Type) (f : A -> B) (feq : IsEquiv f) (y : B) =>
@HoTT.Basics.Overture.eisadj B A f^-1
(@HoTT.Basics.Equivalences.isequiv_inverse A B f feq) y.(* ================================================== thm:equiv-iso-adj *)(** Theorem 4.2.3 *)DefinitionBook_4_2_3 := @HoTT.Basics.Equivalences.isequiv_adjointify.(* ================================================== defn:homotopy-fiber *)(** Definition 4.2.4 *)DefinitionBook_4_2_4 := @HoTT.Basics.Overture.hfiber.(* ================================================== lem:hfib *)(** Lemma 4.2.5 *)DefinitionBook_4_2_5 := @HoTT.HFiber.equiv_path_hfiber.(* ================================================== thm:contr-hae *)(** Theorem 4.2.6 *)DefinitionBook_4_2_6 := @HoTT.Types.Equiv.contr_map_isequiv.(* ================================================== defn:linv-rinv *)(** Definition 4.2.7 *)DefinitionBook_4_2_7_i {AB} (f : A -> B) := {g : B -> A & g o f == idmap }.DefinitionBook_4_2_7_ii {AB} (f : A -> B) := {g : B -> A & f o g == idmap }.(* ================================================== thm:equiv-compose-equiv *)(** Lemma 4.2.8 *)DefinitionBook_4_2_8_i := @HoTT.Basics.Equivalences.isequiv_postcompose.DefinitionBook_4_2_8_ii := @HoTT.Basics.Equivalences.isequiv_precompose.(* ================================================== lem:inv-hprop *)(** Lemma 4.2.9 *)DefinitionBook_4_2_9_i := @HoTT.Types.Equiv.contr_sect_equiv.DefinitionBook_4_2_9_ii := @HoTT.Types.Equiv.contr_retr_equiv.(* ================================================== defn:lcoh-rcoh *)(** Definition 4.2.10 *)(* ================================================== lem:coh-hfib *)(** Lemma 4.2.11 *)(* ================================================== lem:coh-hprop *)(** Lemma 4.2.12 *)(* ================================================== thm:hae-hprop *)(** Theorem 4.2.13 *)DefinitionBook_4_2_13 := @HoTT.Types.Equiv.hprop_isequiv.(* ================================================== defn:biinv *)(** Definition 4.3.1 *)DefinitionBook_4_3_1 := @HoTT.Equiv.BiInv.IsBiInv.(* ================================================== thm:isprop-biinv *)(** Theorem 4.3.2 *)DefinitionBook_4_3_2 := @HoTT.Equiv.BiInv.ishprop_isbiinv.(* ================================================== thm:equiv-biinv-isequiv *)(** Corollary 4.3.3 *)DefinitionBook_4_3_3 := @HoTT.Equiv.BiInv.equiv_isbiinv_isequiv.(* ================================================== defn:equivalence *)(** Definition 4.4.1 *)DefinitionBook_4_4_1 := @HoTT.Basics.Trunc.IsTruncMap (-2).(* ================================================== thm:lequiv-contr-hae *)(** Theorem 4.4.3 *)DefinitionBook_4_4_3 := @HoTT.Types.Equiv.isequiv_contr_map.(* ================================================== thm:contr-hprop *)(** Lemma 4.4.4 *)DefinitionBook_4_4_4 := @HoTT.Basics.Trunc.ishprop_istrunc.(* ================================================== thm:equiv-contr-hae *)(** Theorem 4.4.5 *)DefinitionBook_4_4_5 := @HoTT.Types.Equiv.equiv_contr_map_isequiv.(* ================================================== thm:equiv-inhabcod *)(** Corollary 4.4.6 *)DefinitionBook_4_4_6 := @HoTT.Types.Equiv.isequiv_inhab_codomain.(* ================================================== defn:surj-emb *)(** Definition 4.6.1 *)DefinitionBook_4_6_1 := @HoTT.Basics.Trunc.IsTruncMap (-1).(* ================================================== thm:mono-surj-equiv *)(** Theorem 4.6.3 *)DefinitionBook_4_6_3 := @HoTT.Modalities.ReflectiveSubuniverse.isequiv_conn_ino_map.(* ================================================== thm:two-out-of-three *)(** Theorem 4.7.1 *)DefinitionBook_4_7_1_part_i := @HoTT.Basics.Equivalences.isequiv_compose.DefinitionBook_4_7_1_part_ii := @HoTT.Basics.Equivalences.cancelR_isequiv.DefinitionBook_4_7_1_part_iii := @HoTT.Basics.Equivalences.cancelL_isequiv.(* ================================================== defn:retract *)(** Definition 4.7.2 *)(* ================================================== lem:func_retract_to_fiber_retract *)(** Lemma 4.7.3 *)(* ================================================== thm:retract-equiv *)(** Theorem 4.7.4 *)(* ================================================== defn:total-map *)(** Definition 4.7.5 *)DefinitionBook_4_7_5 := @HoTT.Types.Sigma.functor_sigma.(* ================================================== fibwise-fiber-total-fiber-equiv *)(** Theorem 4.7.6 *)DefinitionBook_4_7_6 := @HoTT.Types.Sigma.hfiber_functor_sigma.(* ================================================== thm:total-fiber-equiv *)(** Theorem 4.7.7 *)DefinitionBook_4_7_7 := @HoTT.Types.Equiv.equiv_total_iff_equiv_fiberwise.(* ================================================== thm:fiber-of-a-fibration *)(** Lemma 4.8.1 *)DefinitionBook_4_8_1 := @HoTT.HFiber.hfiber_fibration.(* ================================================== thm:total-space-of-the-fibers *)(** Lemma 4.8.2 *)DefinitionBook_4_8_2 := @HoTT.HFiber.equiv_fibration_replacement.(* ================================================== thm:nobject-classifier-appetizer *)(** Theorem 4.8.3 *)DefinitionBook_4_8_3 := @HoTT.Universes.ObjectClassifier.equiv_sigma_fibration.(* ================================================== thm:object-classifier *)(** Theorem 4.8.4 *)DefinitionBook_4_8_4 := @HoTT.Universes.ObjectClassifier.ispullback_objectclassifier_square.(* ================================================== weakfunext *)(** Definition 4.9.1 *)DefinitionBook_4_9_1 := @HoTT.Metatheory.FunextVarieties.WeakFunext.(* ================================================== UA-eqv-hom-eqv *)(** Lemma 4.9.2 *)DefinitionBook_4_9_2 := @HoTT.Metatheory.UnivalenceImpliesFunext.univalence_isequiv_postcompose.(* ================================================== contrfamtotalpostcompequiv *)(** Corollary 4.9.3 *)(* ================================================== uatowfe *)(** Theorem 4.9.4 *)DefinitionBook_4_9_4 := @HoTT.Metatheory.UnivalenceImpliesFunext.Univalence_implies_WeakFunext.(* ================================================== wfetofe *)(** Theorem 4.9.5 *)DefinitionBook_4_9_5 := @HoTT.Metatheory.FunextVarieties.WeakFunext_implies_Funext.(* ================================================== thm:nat-uniq *)(** Theorem 5.1.1 *)(* ================================================== thm:w-uniq *)(** Theorem 5.3.1 *)(* ================================================== defn:nalg *)(** Definition 5.4.1 *)(* ================================================== defn:nhom *)(** Definition 5.4.2 *)(* ================================================== thm:nat-hinitial *)(** Theorem 5.4.5 *)(* ================================================== thm:w-hinit *)(** Theorem 5.4.7 *)(* ================================================== lem:homotopy-induction-times-3 *)(** Lemma 5.5.4 *)(* ================================================== defn:identity-systems *)(** Definition 5.8.1 *)(* ================================================== thm:identity-systems *)(** Theorem 5.8.2 *)DefinitionBook_5_8_2_i_implies_ii := @HoTT.Homotopy.IdentitySystems.homocontr_pfammap_identitysystem.DefinitionBook_5_8_2_ii_implies_iii := @HoTT.Homotopy.IdentitySystems.equiv_path_homocontr_pfammap.DefinitionBook_5_8_2_iii_implies_iv := @HoTT.Homotopy.IdentitySystems.contr_sigma_equiv_path.DefinitionBook_5_8_2_iv_implies_i := @HoTT.Homotopy.IdentitySystems.identitysystem_contr_sigma.(* ================================================== thm:ML-identity-systems *)(** Theorem 5.8.4 *)(* ================================================== thm:equiv-induction *)(** Corollary 5.8.5 *)DefinitionBook_5_8_5 := @HoTT.Types.Universe.equiv_induction'.DefinitionBook_5_8_5_comp := @HoTT.Types.Universe.equiv_induction'_comp.(* ================================================== thm:htpy-induction *)(** Corollary 5.8.6 *)(* ================================================== thm:S1rec *)(** Lemma 6.2.5 *)DefinitionBook_6_2_5 := @HoTT.Spaces.Circle.Circle_rec.(* ================================================== thm:uniqueness-for-functions-on-S1 *)(** Lemma 6.2.8 *)(* ================================================== thm:S1ump *)(** Lemma 6.2.9 *)DefinitionBook_6_2_9 := @HoTT.Spaces.Circle.isequiv_Circle_rec_uncurried.(* ================================================== thm:contr-interval *)(** Lemma 6.3.1 *)DefinitionBook_6_3_1 := @HoTT.HIT.Interval.contr_interval.(* ================================================== thm:interval-funext *)(** Lemma 6.3.2 *)DefinitionBook_6_3_2 := @HoTT.Metatheory.IntervalImpliesFunext.funext_type_from_interval.(* ================================================== thm:loop-nontrivial *)(** Lemma 6.4.1 *)(* ================================================== thm:S1-autohtpy *)(** Lemma 6.4.2 *)(* ================================================== thm:ap2 *)(** Lemma 6.4.4 *)DefinitionBook_6_4_4 := @HoTT.Basics.PathGroupoids.ap02.(* ================================================== thm:transport2 *)(** Lemma 6.4.5 *)DefinitionBook_6_4_5 := @HoTT.Basics.PathGroupoids.transport2.(* ================================================== thm:apd2 *)(** Lemma 6.4.6 *)DefinitionBook_6_4_6 := @HoTT.Basics.PathGroupoids.apD02.(* ================================================== thm:suspbool *)(** Lemma 6.5.1 *)DefinitionBook_6_5_1 := @HoTT.Spaces.Spheres.isequiv_S1_to_Circle.(* ================================================== lem:susp-loop-adj *)(** Lemma 6.5.4 *)DefinitionBook_6_5_4 := @HoTT.Pointed.pSusp.loop_susp_adjoint.(* ================================================== defn:cocone *)(** Definition 6.8.1 *)(* ================================================== thm:pushout-ump *)(** Lemma 6.8.2 *)(* ================================================== thm:trunc0-ind *)(** Lemma 6.9.1 *)DefinitionBook_6_9_1 := @HoTT.Truncations.Core.Trunc.Trunc_ind 0.(* ================================================== thm:trunc0-lump *)(** Lemma 6.9.2 *)DefinitionBook_6_9_2 := @HoTT.Modalities.ReflectiveSubuniverse.isequiv_o_to_O.(* ================================================== thm:set-pushout *)(** Lemma 6.9.3 *)(* ================================================== thm:quotient-surjective *)(** Lemma 6.10.2 *)DefinitionBook_6_10_2 := @HoTT.HIT.quotient.quotient_surjective.(* ================================================== thm:quotient-ump *)(** Lemma 6.10.3 *)DefinitionBook_6_10_3 := @HoTT.HIT.quotient.quotient_ump.(* ================================================== def:VVquotient *)(** Definition 6.10.5 *)(* ================================================== lem:quotient-when-canonical-representatives *)(** Lemma 6.10.8 *)(* ================================================== thm:retraction-quotient *)(** Corollary 6.10.10 *)(* ================================================== thm:sign-induction *)(** Lemma 6.10.12 *)(* ================================================== thm:looptothe *)(** Corollary 6.10.13 *)(* ================================================== thm:homotopy-groups *)(** Example 6.11.4 *)(* ================================================== thm:free-monoid *)(** Lemma 6.11.5 *)(* ================================================== thm:transport-is-given *)(** Lemma 6.12.1 *)DefinitionBook_6_12_1 := @HoTT.Types.Universe.transport_path_universe'.(* ================================================== thm:flattening *)(** Lemma 6.12.2 *)DefinitionBook_6_12_2 := @HoTT.HIT.Flattening.equiv_flattening.(* ================================================== thm:flattening-cp *)(** Lemma 6.12.3 *)(* ================================================== thm:flattening-rect *)(** Lemma 6.12.4 *)DefinitionBook_6_12_4 := @HoTT.HIT.Flattening.sWtil_ind.(* ================================================== thm:flattening-rectnd *)(** Lemma 6.12.5 *)DefinitionBook_6_12_5 := @HoTT.HIT.Flattening.sWtil_rec.(* ================================================== thm:ap-sigma-rect-path-pair *)(** Lemma 6.12.7 *)DefinitionBook_6_12_7 := @HoTT.Types.Sigma.ap_sig_rec_path_sigma.(* ================================================== thm:flattening-rectnd-beta-ppt *)(** Lemma 6.12.8 *)DefinitionBook_6_12_8 := @HoTT.HIT.Flattening.sWtil_rec_beta_ppt.(* ================================================== eg:unnatural-hit *)(** Example 6.13.1 *)(* ================================================== def:hlevel *)(** Definition 7.1.1 *)(* ================================================== thm:h-level-retracts *)(** Theorem 7.1.4 *)(* ================================================== cor:preservation-hlevels-weq *)(** Corollary 7.1.5 *)(* ================================================== thm:isntype-mono *)(** Theorem 7.1.6 *)(* ================================================== thm:hlevel-cumulative *)(** Theorem 7.1.7 *)(* ================================================== thm:ntypes-sigma *)(** Theorem 7.1.8 *)(* ================================================== thm:hlevel-prod *)(** Theorem 7.1.9 *)DefinitionBook_7_1_9 := @HoTT.Basics.Trunc.istrunc_forall.(* ================================================== thm:isaprop-isofhlevel *)(** Theorem 7.1.10 *)(* ================================================== thm:hleveln-of-hlevelSn *)(** Theorem 7.1.11 *)DefinitionBook7_1_11 := @HoTT.Universes.TruncType.istrunc_trunctype.(* ================================================== thm:h-set-uip-K *)(** Theorem 7.2.1 *)(* ================================================== thm:h-set-refrel-in-paths-sets *)(** Theorem 7.2.2 *)DefinitionBook_7_2_2 := @HoTT.Universes.HSet.ishset_hrel_subpaths.(* ================================================== notnotstable-equality-to-set *)(** Corollary 7.2.3 *)(* ================================================== lem:hedberg-helper *)(** Lemma 7.2.4 *)(* ================================================== thm:hedberg *)(** Theorem 7.2.5 *)(* ================================================== prop:nat-is-set *)(** Theorem 7.2.6 *)(* ================================================== thm:hlevel-loops *)(** Theorem 7.2.7 *)(* ================================================== lem:hlevel-if-inhab-hlevel *)(** Lemma 7.2.8 *)(* ================================================== thm:ntype-nloop *)(** Theorem 7.2.9 *)(* ================================================== thm:truncn-ind *)(** Theorem 7.3.2 *)(* ================================================== thm:trunc-reflective *)(** Lemma 7.3.3 *)(* ================================================== thm:trunc-htpy *)(** Lemma 7.3.5 *)(* ================================================== cor:trunc-prod *)(** Theorem 7.3.8 *)(* ================================================== thm:trunc-in-truncated-sigma *)(** Theorem 7.3.9 *)(* ================================================== thm:refl-over-ntype-base *)(** Corollary 7.3.10 *)(* ================================================== thm:path-truncation *)(** Theorem 7.3.12 *)DefinitionBook_7_3_12 := @HoTT.Truncations.SeparatedTrunc.equiv_path_Tr.(* ================================================== lem:truncation-le *)(** Lemma 7.3.15 *)(* ================================================== thm:conemap-funct *)(** Lemma 7.4.10 *)(* ================================================== reflectcommutespushout *)(** Theorem 7.4.12 *)(* ================================================== thm:minusoneconn-surjective *)(** Lemma 7.5.2 *)(* ================================================== lem:nconnected_postcomp *)(** Lemma 7.5.6 *)(* ================================================== cor:totrunc-is-connected *)(** Corollary 7.5.8 *)DefinitionBook_7_5_8 := @HoTT.Modalities.Modality.conn_map_to_O.(* ================================================== thm:nconn-to-ntype-const *)(** Corollary 7.5.9 *)(* ================================================== connectedtotruncated *)(** Corollary 7.5.9 *)(* ================================================== lem:nconnected_to_leveln_to_equiv *)(** Lemma 7.5.10 *)(* ================================================== thm:connected-pointed *)(** Lemma 7.5.11 *)(* ================================================== lem:nconnected_postcomp_variation *)(** Lemma 7.5.12 *)(* ================================================== prop:nconn_fiber_to_total *)(** Lemma 7.5.13 *)(* ================================================== lem:connected-map-equiv-truncation *)(** Lemma 7.5.14 *)(* ================================================== thm:modal-mono *)(** Lemma 7.6.2 *)DefinitionBook_7_6_2 := @HoTT.HFiber.equiv_istruncmap_ap.(* ================================================== defn:modal-image *)(** Definition 7.6.3 *)(* ================================================== prop:to_image_is_connected *)(** Lemma 7.6.4 *)(* ================================================== prop:factor_equiv_fiber *)(** Lemma 7.6.5 *)(* ================================================== thm:orth-fact *)(** Theorem 7.6.6 *)(* ================================================== lem:hfiber_wrt_pullback *)(** Lemma 7.6.8 *)(* ================================================== thm:stable-images *)(** Theorem 7.6.9 *)(* ================================================== defn:reflective-subuniverse *)(** Definition 7.7.1 *)(* ================================================== thm:reflsubunv-forall *)(** Theorem 7.7.2 *)(* ================================================== cor:trunc_prod *)(** Corollary 7.7.3 *)(* ================================================== thm:modal-char *)(** Theorem 7.7.4 *)(* ================================================== defn:modality *)(** Definition 7.7.5 *)(* ================================================== prop:lv_n_deptype_sec_equiv_by_precomp *)(** Theorem 7.7.7 *)(* ================================================== def-of-homotopy-groups *)(** Definition 8.0.1 *)(* ================================================== S1-universal-cover *)(** Definition 8.1.1 *)(* ================================================== lem:transport-s1-code *)(** Lemma 8.1.2 *)(* ================================================== thm:pi1s1-decode *)(** Definition 8.1.6 *)(* ================================================== lem:s1-decode-encode *)(** Lemma 8.1.7 *)(* ================================================== lem:s1-encode-decode *)(** Lemma 8.1.8 *)(* ================================================== cor:omega-s1 *)(** Corollary 8.1.10 *)(* ================================================== cor:pi1s1 *)(** Corollary 8.1.11 *)(* ================================================== thm:iscontr-s1cover *)(** Lemma 8.1.12 *)(* ================================================== thm:encode-total-equiv *)(** Corollary 8.1.13 *)(* ================================================== thm:suspension-increases-connectedness *)(** Theorem 8.2.1 *)(* ================================================== cor:sn-connected *)(** Corollary 8.2.2 *)(* ================================================== lem:pik-nconnected *)(** Lemma 8.3.2 *)(* ================================================== def:pointedmap *)(** Definition 8.4.1 *)(* ================================================== def:loopfunctor *)(** Definition 8.4.2 *)(* ================================================== thm:fiber-of-the-fiber *)(** Lemma 8.4.4 *)(* ================================================== thm:les *)(** Theorem 8.4.6 *)(* ================================================== thm:ses *)(** Lemma 8.4.7 *)(* ================================================== thm:conn-pik *)(** Corollary 8.4.8 *)(* ================================================== thm:hopf-fibration *)(** Theorem 8.5.1 *)(* ================================================== cor:pis2-hopf *)(** Corollary 8.5.2 *)(* ================================================== lem:fibration-over-pushout *)(** Lemma 8.5.3 *)(* ================================================== lem:hopf-construction *)(** Lemma 8.5.7 *)DefinitionBook_8_5_6 := @HoTT.Homotopy.Hopf.hopf_construction.DefinitionBook_8_5_7 := @HoTT.Homotopy.Hopf.pequiv_hopf_total_join.(* ================================================== lem:hspace-S1 *)(** Lemma 8.5.8 *)(* ================================================== thm:conn-trunc-variable-ind *)(** Lemma 8.6.1 *)(* ================================================== thm:wedge-connectivity *)(** Lemma 8.6.2 *)(* ================================================== thm:freudenthal *)(** Theorem 8.6.4 *)(* ================================================== thm:freudcode *)(** Definition 8.6.5 *)(* ================================================== thm:freudlemma *)(** Lemma 8.6.10 *)(* ================================================== cor:freudenthal-equiv *)(** Corollary 8.6.14 *)(* ================================================== cor:stability-spheres *)(** Corollary 8.6.15 *)(* ================================================== thm:pinsn *)(** Theorem 8.6.17 *)(* ================================================== thm:pi3s2 *)(** Corollary 8.6.19 *)(* ================================================== thm:naive-van-kampen *)(** Theorem 8.7.4 *)(* ================================================== eg:circle *)(** Example 8.7.6 *)(* ================================================== eg:suspension *)(** Example 8.7.7 *)(* ================================================== eg:wedge *)(** Example 8.7.8 *)(* ================================================== thm:kbar *)(** Lemma 8.7.9 *)(* ================================================== thm:van-Kampen *)(** Theorem 8.7.12 *)(* ================================================== eg:clvk *)(** Example 8.7.13 *)(* ================================================== eg:cofiber *)(** Example 8.7.14 *)(* ================================================== eg:torus *)(** Example 8.7.15 *)(* ================================================== eg:kg1 *)(** Example 8.7.17 *)(* ================================================== thm:whitehead0 *)(** Theorem 8.8.1 *)DefinitionBook_8_8_1 := @HoTT.Homotopy.WhiteheadsPrinciple.isequiv_issurj_tr0_isequiv_ap.(* ================================================== thm:whitehead1 *)(** Corollary 8.8.2 *)DefinitionBook_8_8_2 := @HoTT.Homotopy.WhiteheadsPrinciple.isequiv_isbij_tr0_isequiv_loops.(* ================================================== thm:whiteheadn *)(** Theorem 8.8.3 *)DefinitionBook_8_8_3 := @HoTT.Homotopy.WhiteheadsPrinciple.whiteheads_principle.(* ================================================== thm:whitehead-contr *)(** Corollary 8.8.4 *)(* ================================================== thm:pik-conn *)(** Corollary 8.8.5 *)(* ================================================== lem:encode-decode-loop *)(** Lemma 8.9.1 *)(* ================================================== Blakers-Massey *)(** Theorem 8.10.2 *)(* ================================================== Eilenberg-Mac-Lane-Spaces *)(** Theorem 8.10.3 *)(* ================================================== thm:covering-spaces *)(** Theorem 8.10.4 *)(* ================================================== ct:precategory *)(** Definition 9.1.1 *)DefinitionBook_9_1_1 := @HoTT.Categories.Category.Core.PreCategory.(* ================================================== ct:isomorphism *)(** Definition 9.1.2 *)DefinitionBook_9_1_2 := @HoTT.Categories.Category.Morphisms.Isomorphic.(* ================================================== ct:isoprop *)(** Lemma 9.1.3 *)DefinitionBook_9_1_3 := @HoTT.Categories.Category.Morphisms.istrunc_isisomorphism.(* ================================================== ct:idtoiso *)(** Lemma 9.1.4 *)DefinitionBook_9_1_4 := @HoTT.Categories.Category.Morphisms.idtoiso.(* ================================================== ct:precatset *)(** Example 9.1.5 *)DefinitionBook_9_1_5 := @HoTT.Categories.SetCategory.Core.set_cat.(* ================================================== ct:category *)(** Definition 9.1.6 *)DefinitionBook_9_1_6C := (HoTT.Categories.Category.Univalent.IsCategory C).(* ================================================== ct:eg:set *)(** Example 9.1.7 *)(** Once this is proven, we will have<<Definition Book_9_1_7 := @HoTT.Categories.SetCategory.Morphisms.iscategory_set_cat.>>*)(* ================================================== ct:obj-1type *)(** Lemma 9.1.8 *)DefinitionBook_9_1_8 := @HoTT.Categories.Category.Univalent.trunc_category.(* ================================================== ct:idtoiso-trans *)(** Lemma 9.1.9 *)(* ================================================== ct:orders *)(** Example 9.1.14 *)(* ================================================== ct:gaunt *)(** Example 9.1.15 *)
A: Core.PreCategory H: forallsd : Core.object A, IsEquiv (Category.Morphisms.idtoiso A (y:=d))
IsHSet (Core.object A) <->
is_mere_relation (Core.object A) Morphisms.Isomorphic
A: Core.PreCategory H: forallsd : Core.object A, IsEquiv (Category.Morphisms.idtoiso A (y:=d))
IsHSet (Core.object A) <->
is_mere_relation (Core.object A) Morphisms.Isomorphic
A: Core.PreCategory H: forallsd : Core.object A, IsEquiv (Category.Morphisms.idtoiso A (y:=d))
IsHSet (Core.object A) ->
is_mere_relation (Core.object A) Morphisms.Isomorphic
A: Core.PreCategory H: forallsd : Core.object A, IsEquiv (Category.Morphisms.idtoiso A (y:=d))
is_mere_relation (Core.object A) Morphisms.Isomorphic ->
IsHSet (Core.object A)
A: Core.PreCategory H: forallsd : Core.object A, IsEquiv (Category.Morphisms.idtoiso A (y:=d))
IsHSet (Core.object A) ->
is_mere_relation (Core.object A) Morphisms.Isomorphic
A: Core.PreCategory H: forallsd : Core.object A, IsEquiv (Category.Morphisms.idtoiso A (y:=d)) H': IsHSet (Core.object A) a, b: Core.object A
IsHProp (Morphisms.Isomorphic a b)
A: Core.PreCategory H: forallsd : Core.object A, IsEquiv (Category.Morphisms.idtoiso A (y:=d)) H': IsHSet (Core.object A) a, b: Core.object A
IsHProp ?A
A: Core.PreCategory H: forallsd : Core.object A, IsEquiv (Category.Morphisms.idtoiso A (y:=d)) H': IsHSet (Core.object A) a, b: Core.object A
IsEquiv ?f
A: Core.PreCategory H: forallsd : Core.object A, IsEquiv (Category.Morphisms.idtoiso A (y:=d)) H': IsHSet (Core.object A) a, b: Core.object A
IsHProp ?A
refine (H' a b).
A: Core.PreCategory H: forallsd : Core.object A, IsEquiv (Category.Morphisms.idtoiso A (y:=d)) H': IsHSet (Core.object A) a, b: Core.object A
IsEquiv ?f
apply H.
A: Core.PreCategory H: forallsd : Core.object A, IsEquiv (Category.Morphisms.idtoiso A (y:=d))
is_mere_relation (Core.object A) Morphisms.Isomorphic ->
IsHSet (Core.object A)
A: Core.PreCategory H: forallsd : Core.object A, IsEquiv (Category.Morphisms.idtoiso A (y:=d)) H': is_mere_relation (Core.object A) Morphisms.Isomorphic a, b: Core.object A
IsHProp (a = b)
A: Core.PreCategory H: forallsd : Core.object A, IsEquiv (Category.Morphisms.idtoiso A (y:=d)) H': is_mere_relation (Core.object A) Morphisms.Isomorphic a, b: Core.object A
IsHProp ?A
A: Core.PreCategory H: forallsd : Core.object A, IsEquiv (Category.Morphisms.idtoiso A (y:=d)) H': is_mere_relation (Core.object A) Morphisms.Isomorphic a, b: Core.object A
IsEquiv ?f
A: Core.PreCategory H: forallsd : Core.object A, IsEquiv (Category.Morphisms.idtoiso A (y:=d)) H': is_mere_relation (Core.object A) Morphisms.Isomorphic a, b: Core.object A
IsHProp ?A
apply (H' a b).
A: Core.PreCategory H: forallsd : Core.object A, IsEquiv (Category.Morphisms.idtoiso A (y:=d)) H': is_mere_relation (Core.object A) Morphisms.Isomorphic a, b: Core.object A