-
Notifications
You must be signed in to change notification settings - Fork 195
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Replace the proof that epi and surjective are the same with the one using mapping cones and truncation #404
Comments
I was not exploiting a bug, I just choose a slightly different than you On Thu, Jun 26, 2014 at 10:41 PM, Jason Gross [email protected]
|
You were not exploiting a bug, but I was. I reported the bug as "this definition goes through, but I get a universe inconsistency if I inline this 'let'". It turned out that the reason was that the 'let' made Coq forget about some universe constraints, and without that, it doesn't go through. If I understand your discussion with Matthieu correctly, the only ways to make my theorem in Functor/Attributes go through are to use the mapping cone proof for epi and surjective, or to have an impredicative hprop. |
Ah OK. Yes, those seem to be basically the two options. On Thu, Jun 26, 2014 at 11:06 PM, Jason Gross [email protected]
|
I'm working on formalizing that proof using the mapping cone now. Le jeudi 26 juin 2014, Bas Spitters [email protected] a écrit :
|
It turns out to be quite easy using the Truncations to finish it, so I have it now in my fork. Attributes goes through with this. |
@mattam82 Sorry, what is Attributes? One of @JasonGross files? On Wed, Jul 2, 2014 at 10:52 AM, Matthieu Sozeau [email protected]
|
Yes, the one that required the unification with an epi proof where all X Y Z are at the same level. |
This code will allow the epi -> surj in set_cat proof to go through without hacks and without universe inconsistencies in trunk. I'm not entirely happy with the proofs. This closes HoTT#402 and HoTT#404. After | File Name | Before || Change ----------------------------------------------------------------------------------------------------- 6m16.18s | Total | 6m10.64s || +0m05.54s ----------------------------------------------------------------------------------------------------- 0m06.31s | categories/Adjoint/Composition/IdentityLaws | 0m03.89s || +0m02.41s 0m02.62s | hit/epi | 0m00.44s || +0m02.18s 1m04.82s | categories/Pseudofunctor/RewriteLaws | 1m03.77s || +0m01.04s 0m21.56s | categories/Grothendieck/PseudofunctorToCat | 0m19.70s || +0m01.85s 0m14.26s | categories/Comma/InducedFunctors | 0m13.02s || +0m01.24s 0m11.20s | categories/PseudonaturalTransformation/Core | 0m12.48s || -0m01.28s 0m08.89s | categories/Adjoint/HomCoercions | 0m07.85s || +0m01.04s 0m39.22s | categories/Comma/ProjectionFunctors | 0m40.10s || -0m00.88s 0m17.15s | categories/ExponentialLaws/Law4/Functors | 0m17.40s || -0m00.25s 0m11.39s | categories/Adjoint/Composition/AssociativityLaw | 0m11.20s || +0m00.19s 0m11.04s | categories/Adjoint/Dual | 0m11.66s || -0m00.62s 0m09.20s | categories/FunctorCategory/Dual | 0m09.02s || +0m00.17s 0m08.66s | categories/Yoneda | 0m09.50s || -0m00.83s 0m07.66s | categories/Adjoint/UnitCounit | 0m07.72s || -0m00.05s 0m05.15s | categories/UniversalProperties | 0m05.78s || -0m00.62s 0m05.09s | categories/Adjoint/UnitCounitCoercions | 0m04.84s || +0m00.25s 0m05.02s | categories/Adjoint/UniversalMorphisms | 0m04.87s || +0m00.14s 0m04.57s | categories/Pseudofunctor/Core | 0m04.46s || +0m00.11s 0m04.23s | categories/Pseudofunctor/FromFunctor | 0m04.23s || +0m00.00s 0m04.23s | categories/Pseudofunctor/Identity | 0m04.20s || +0m00.03s 0m04.15s | categories/Comma/Dual | 0m04.66s || -0m00.50s 0m03.46s | categories/Limits/Core | 0m02.96s || +0m00.50s 0m03.16s | categories/Structure/IdentityPrinciple | 0m03.18s || -0m00.02s 0m03.16s | categories/Functor/Pointwise/Properties | 0m03.20s || -0m00.04s 0m03.15s | categories/GroupoidCategory/Morphisms | 0m03.30s || -0m00.14s 0m03.10s | categories/Adjoint/Composition/Core | 0m03.98s || -0m00.87s 0m03.04s | categories/Category/Morphisms | 0m03.04s || +0m00.00s 0m02.54s | categories/Functor/Composition/Functorial/Attributes | 0m02.46s || +0m00.08s 0m02.42s | categories/Functor/Composition/Functorial/Core | 0m02.53s || -0m00.10s 0m02.41s | hit/Flattening | 0m02.60s || -0m00.18s 0m02.37s | categories/ExponentialLaws/Law1/Law | 0m02.59s || -0m00.21s 0m02.30s | categories/Functor/Prod/Functorial | 0m02.24s || +0m00.05s 0m01.98s | categories/Functor/Attributes | 0m01.68s || +0m00.30s 0m01.97s | categories/ExponentialLaws/Law2/Functors | 0m02.12s || -0m00.15s 0m01.85s | categories/ProductLaws | 0m01.86s || -0m00.01s 0m01.81s | categories/Category/Sigma/OnMorphisms | 0m01.90s || -0m00.08s 0m01.76s | categories/NaturalTransformation/Isomorphisms | 0m01.79s || -0m00.03s 0m01.75s | hit/Connectedness | 0m01.64s || +0m00.11s 0m01.72s | categories/ExponentialLaws/Law N/A | 0m01.46s || +0m00.26s 0m01.72s | categories/Functor/Prod/Universal | 0m01.77s || -0m00.05s 0m01.62s | categories/Functor/Sum | 0m01.61s || +0m00.01s 0m01.58s | categories/NaturalTransformation/Pointwise | 0m01.62s || -0m00.04s 0m01.58s | categories/InitialTerminalCategory/Pseudofunctors | 0m01.47s || +0m00.11s 0m01.50s | categories/ExponentialLaws/Law1/Functors | 0m01.07s || +0m00.42s 0m01.49s | categories/Functor/Paths | 0m01.54s || -0m00.05s 0m01.43s | categories/Functor/Pointwise | 0m01.54s || -0m00.11s 0m01.42s | categories/Limits/Functors | 0m01.42s || +0m00.00s 0m01.36s | categories/FunctorCategory/Functorial | 0m01.23s || +0m00.13s 0m01.23s | categories/FunctorCategory/Morphisms | 0m01.16s || +0m00.07s 0m01.20s | categories/Category/Sum | 0m01.17s || +0m00.03s 0m01.19s | categories/Adjoint/Paths | 0m01.56s || -0m00.37s 0m01.18s | Equivalences | 0m01.28s || -0m00.10s 0m01.15s | HSet | 0m01.10s || +0m00.04s 0m01.14s | HProp | 0m01.12s || +0m00.01s 0m01.12s | types/Sigma | 0m01.14s || -0m00.01s 0m01.12s | categories/DualFunctor | 0m01.36s || -0m00.24s 0m01.07s | PathGroupoids | 0m01.04s || +0m00.03s 0m00.99s | categories/KanExtensions/Functors | 0m00.96s || +0m00.03s 0m00.95s | categories/Functor/Prod | 0m00.87s || +0m00.07s 0m00.94s | types/Record | 0m01.04s || -0m00.10s 0m00.94s | categories/Structure/Core | 0m00.82s || +0m00.12s 0m00.88s | EquivalenceVarieties | 0m00.85s || +0m00.03s 0m00.86s | categories/Category/Sigma/Core | 0m00.94s || -0m00.07s 0m00.82s | categories/Comma/Core | 0m00.92s || -0m00.10s 0m00.80s | categories/NaturalTransformation/Prod | 0m00.84s || -0m00.03s 0m00.76s | categories/HomFunctor | 0m00.75s || +0m00.01s 0m00.75s | categories/Grothendieck/ToCat | 0m00.77s || -0m00.02s 0m00.74s | types/ObjectClassifier | 0m00.71s || +0m00.03s 0m00.72s | contrib/HoTTBookExercises | 0m00.60s || +0m00.12s 0m00.69s | categories/Category/Prod | 0m00.66s || +0m00.02s 0m00.68s | categories/Category/Sigma/OnObjects | 0m00.68s || +0m00.00s 0m00.62s | hit/Spheres | 0m00.57s || +0m00.05s 0m00.59s | categories/NaturalTransformation/Dual | 0m00.61s || -0m00.02s 0m00.58s | categories/Grothendieck/ToSet | 0m00.65s || -0m00.07s 0m00.57s | categories/KanExtensions/Core | 0m00.56s || +0m00.00s 0m00.54s | types/Prod | 0m00.55s || -0m00.01s 0m00.54s | types/Paths | 0m00.50s || +0m00.04s 0m00.52s | categories/InitialTerminalCategory/Functors | 0m00.44s || +0m00.08s 0m00.51s | categories/SetCategory/Morphisms | 0m00.47s || +0m00.04s 0m00.48s | categories/categories | 0m00.53s || -0m00.05s 0m00.48s | categories/Comma/Projection | 0m00.47s || +0m00.01s 0m00.46s | categories/ExponentialLaws/Law3/Functors | 0m00.50s || -0m00.03s 0m00.46s | categories/NaturalTransformation/Composition/Laws | 0m00.44s || +0m00.02s 0m00.45s | contrib/HoTTBook | 0m00.54s || -0m00.09s 0m00.43s | hit/Circle | 0m00.43s || +0m00.00s 0m00.41s | types/Universe | 0m00.39s || +0m00.01s 0m00.39s | categories/NaturalTransformation/Paths | 0m00.41s || -0m00.01s 0m00.39s | categories/CategoryOfSections/Core | 0m00.38s || +0m00.01s 0m00.36s | categories/NaturalTransformation/Composition/Functorial | 0m00.35s || +0m00.01s 0m00.35s | hit/quotient | 0m00.34s || +0m00.00s 0m00.34s | types/Sum | 0m00.32s || +0m00.02s 0m00.33s | Tactics | 0m00.27s || +0m00.06s 0m00.30s | hit/Suspension | 0m00.30s || +0m00.00s 0m00.30s | types/Forall | 0m00.27s || +0m00.02s 0m00.29s | categories/NaturalTransformation/Sum | 0m00.26s || +0m00.02s 0m00.29s | categories/Cat/Morphisms | 0m00.21s || +0m00.07s 0m00.28s | categories/DependentProduct | 0m00.31s || -0m00.02s 0m00.28s | categories/Cat/Core | 0m00.34s || -0m00.06s 0m00.28s | categories/Functor/Composition/Laws | 0m00.25s || +0m00.03s 0m00.28s | Fibrations | 0m00.27s || +0m00.01s 0m00.28s | categories/NaturalTransformation/Composition/Core | 0m00.29s || -0m00.00s 0m00.27s | categories/Functor/Composition/Composition | 0m00.16s || +0m00.11s 0m00.27s | hit/Pushout | N/A || +0m00.27s 0m00.26s | Functorish | 0m00.22s || +0m00.04s 0m00.26s | categories/Functor/Functor | 0m00.25s || +0m00.01s 0m00.25s | categories/Functor/Dual | 0m00.22s || +0m00.03s 0m00.25s | categories/Adjoint/Hom | 0m00.31s || -0m00.06s 0m00.24s | categories/ExponentialLaws/ExponentialLaws | 0m00.24s || +0m00.00s 0m00.24s | Trunc | 0m00.27s || -0m00.03s 0m00.24s | categories/Adjoint/Adjoint | 0m00.21s || +0m00.03s 0m00.23s | HoTT | 0m00.22s || +0m00.01s 0m00.23s | categories/Functor/Notations | 0m00.20s || +0m00.03s 0m00.23s | Tests | 0m00.21s || +0m00.02s 0m00.22s | categories/FundamentalPreGroupoidCategory | 0m00.25s || -0m00.03s 0m00.22s | UnivalenceImpliesFunext | 0m00.29s || -0m00.06s 0m00.22s | categories/IndiscreteCategory | 0m00.27s || -0m00.05s 0m00.21s | categories/InitialTerminalCategory/NaturalTransformations | 0m00.23s || -0m00.02s 0m00.21s | categories/Functor/Composition/Functorial | 0m00.17s || +0m00.03s 0m00.21s | hit/minus1Trunc | 0m00.24s || -0m00.03s 0m00.21s | types/Arrow | 0m00.18s || +0m00.03s 0m00.21s | categories/NaturalTransformation/Identity | 0m00.16s || +0m00.04s 0m00.20s | categories/ExponentialLaws/Law3/Law3 | 0m00.16s || +0m00.04s 0m00.20s | categories/Adjoint/Identity | 0m00.19s || +0m00.01s 0m00.20s | TruncType | 0m00.22s || -0m00.01s 0m00.20s | categories/InitialTerminalCategory/InitialTerminalCategory | 0m00.18s || +0m00.02s 0m00.20s | categories/Grothendieck/Grothendieck | 0m00.19s || +0m00.01s 0m00.20s | categories/Adjoint/Composition/LawsTactic | 0m00.17s || +0m00.03s 0m00.19s | categories/Utf8 | 0m00.18s || +0m00.01s 0m00.19s | categories/Category/Objects | 0m00.19s || +0m00.00s 0m00.18s | Conjugation | 0m00.14s || +0m00.03s 0m00.18s | categories/FunctorCategory/Utf8 | 0m00.20s || -0m00.02s 0m00.18s | categories/Functor/Utf8 | 0m00.17s || +0m00.00s 0m00.18s | categories/Notations | 0m00.17s || +0m00.00s 0m00.18s | types/Bool | 0m00.18s || +0m00.00s 0m00.18s | categories/NaturalTransformation/Utf8 | 0m00.15s || +0m00.03s 0m00.18s | categories/FunctorCategory/Core | 0m00.18s || +0m00.00s 0m00.17s | categories/Limits/Limits | 0m00.16s || +0m00.01s 0m00.17s | categories/Functor/Prod/Prod | 0m00.16s || +0m00.01s 0m00.17s | categories/SetCategory/Functors/Functors | 0m00.20s || -0m00.03s 0m00.17s | categories/Comma/Comma | 0m00.17s || +0m00.00s 0m00.17s | categories/CategoryOfGroupoids | 0m00.20s || -0m00.03s 0m00.17s | categories/NatCategory | 0m00.21s || -0m00.03s 0m00.17s | categories/PseudonaturalTransformation/PseudonaturalTransformation | 0m00.16s || +0m00.01s 0m00.17s | categories/HomotopyPreCategory | 0m00.20s || -0m00.03s 0m00.17s | categories/Pseudofunctor/Pseudofunctor | 0m00.16s || +0m00.01s 0m00.17s | categories/SetCategory/SetCategory | 0m00.18s || -0m00.00s 0m00.16s | categories/Profunctor/Representable | 0m00.18s || -0m00.01s 0m00.16s | categories/KanExtensions/KanExtensions | 0m00.13s || +0m00.03s 0m00.16s | categories/Structure/Structure | 0m00.12s || +0m00.04s 0m00.16s | categories/Category/Univalent | 0m00.12s || +0m00.04s 0m00.16s | Modality | 0m00.16s || +0m00.00s 0m00.16s | categories/GroupoidCategory/Core | 0m00.16s || +0m00.00s 0m00.16s | categories/NaturalTransformation/Core | 0m00.15s || +0m00.01s 0m00.15s | categories/Category/Utf8 | 0m00.12s || +0m00.03s 0m00.15s | categories/NaturalTransformation/NaturalTransformation | 0m00.21s || -0m00.06s 0m00.15s | categories/Profunctor/Core | 0m00.11s || +0m00.03s 0m00.15s | categories/InitialTerminalCategory/Core | 0m00.15s || +0m00.00s 0m00.15s | categories/FunctorCategory/FunctorCategory | 0m00.16s || -0m00.01s 0m00.15s | hit/unique_choice | 0m00.12s || +0m00.03s 0m00.15s | categories/InitialTerminalCategory/Notations | 0m00.17s || -0m00.02s 0m00.15s | categories/Category/Core | 0m00.12s || +0m00.03s 0m00.15s | categories/Functor/Pointwise/Pointwise | 0m00.11s || +0m00.03s 0m00.14s | categories/Cat/Cat | 0m00.15s || -0m00.00s 0m00.14s | categories/ExponentialLaws/Law4/Law4 | 0m00.12s || +0m00.02s 0m00.14s | categories/Profunctor/Profunctor | 0m00.16s || -0m00.01s 0m00.14s | categories/Adjoint/Composition/Composition | 0m00.12s || +0m00.02s 0m00.14s | categories/NaturalTransformation/Notations | 0m00.15s || -0m00.00s 0m00.14s | hit/TwoSphere | 0m00.13s || +0m00.01s 0m00.14s | types/Unit | 0m00.11s || +0m00.03s 0m00.14s | categories/ExponentialLaws/Law2/Law2 | 0m00.11s || +0m00.03s 0m00.14s | Overture | 0m00.17s || -0m00.03s 0m00.14s | categories/Category/Pi | 0m00.14s || +0m00.00s 0m00.14s | categories/Profunctor/Utf8 | 0m00.13s || +0m00.01s 0m00.13s | hit/Interval | 0m00.15s || -0m00.01s 0m00.13s | hit/iso | 0m00.17s || -0m00.04s 0m00.13s | Misc | 0m00.12s || +0m00.01s 0m00.13s | categories/Adjoint/Notations | 0m00.12s || +0m00.01s 0m00.13s | categories/Category/Category | 0m00.14s || -0m00.01s 0m00.13s | categories/Category/Notations | 0m00.14s || -0m00.01s 0m00.13s | categories/Profunctor/Identity | 0m00.12s || +0m00.01s 0m00.13s | categories/ExponentialLaws/Law1/Law1 | 0m00.18s || -0m00.04s 0m00.12s | categories/Comma/Utf8 | 0m00.16s || -0m00.04s 0m00.12s | categories/Adjoint/Core | 0m00.13s || -0m00.01s 0m00.12s | categories/Adjoint/Utf8 | 0m00.13s || -0m00.01s 0m00.12s | categories/SetCategory/Core | 0m00.13s || -0m00.01s 0m00.12s | categories/Profunctor/Notations | 0m00.17s || -0m00.05s 0m00.12s | categories/Category/Subcategory/Subcategory | 0m00.10s || +0m00.01s 0m00.12s | FunextVarieties | 0m00.15s || -0m00.03s 0m00.11s | categories/DiscreteCategory | 0m00.12s || -0m00.00s 0m00.11s | categories/Functor/Core | 0m00.10s || +0m00.00s 0m00.11s | categories/Comma/Notations | 0m00.16s || -0m00.05s 0m00.11s | categories/Functor/Composition/Core | 0m00.10s || +0m00.00s 0m00.11s | categories/Category/Subcategory/Full | 0m00.14s || -0m00.03s 0m00.11s | hit/Truncations | 0m00.11s || +0m00.00s 0m00.11s | types/Empty | 0m00.09s || +0m00.02s 0m00.11s | categories/CategoryOfSections/CategoryOfSections | 0m00.15s || -0m00.03s 0m00.10s | categories/GroupoidCategory/GroupoidCategory | 0m00.09s || +0m00.01s 0m00.10s | Contractible | 0m00.10s || +0m00.00s 0m00.10s | categories/Category/Dual | 0m00.15s || -0m00.04s 0m00.10s | categories/Category/Subcategory/Wide | 0m00.10s || +0m00.00s 0m00.10s | categories/Structure/Notations | 0m00.11s || -0m00.00s 0m00.10s | categories/FunctorCategory/Notations | 0m00.10s || +0m00.00s 0m00.09s | categories/Functor/Identity | 0m00.06s || +0m00.03s 0m00.09s | coq/Init/Peano | 0m00.12s || -0m00.03s 0m00.09s | types/UniverseLevel | 0m00.05s || +0m00.03s 0m00.09s | categories/Structure/Utf8 | 0m00.10s || -0m00.01s 0m00.08s | Pointed | 0m00.06s || +0m00.02s 0m00.08s | categories/NaturalTransformation/Composition/Composition | 0m00.08s || +0m00.00s 0m00.08s | categories/Category/Sigma/Sigma | 0m00.11s || -0m00.03s 0m00.08s | coq/Program/Tactics | 0m00.05s || +0m00.03s 0m00.07s | categories/Category/Strict | 0m00.08s || -0m00.00s 0m00.07s | UnivalenceAxiom | 0m00.10s || -0m00.03s 0m00.07s | FunextAxiom | 0m00.06s || +0m00.01s 0m00.06s | coq/Init/Datatypes | 0m00.06s || +0m00.00s 0m00.05s | coq/Init/Notations | 0m00.04s || +0m00.01s 0m00.05s | coq/Init/Specif | 0m00.06s || -0m00.00s 0m00.05s | coq/Init/Logic_Type | 0m00.07s || -0m00.02s 0m00.04s | coq/Init/Prelude | 0m00.04s || +0m00.00s 0m00.03s | coq/Init/Logic | 0m00.02s || +0m00.00s 0m00.03s | coq/Bool/Bool | 0m00.02s || +0m00.00s 0m00.03s | coq/Init/Tactics | 0m00.03s || +0m00.00s
As per HoTT/coq#120 (comment), the current proof that epi + mono -> iso in the category of sets only goes through by exploiting a bug in the universe level algorithm (which is now fixed in trunk). Using the mapping cone/truncation proof should fix this.
The text was updated successfully, but these errors were encountered: