In the last paragraph of my message below, the words "deep" and "shallow" have to be swapped. On Sun, May 10, 2020 at 5:51 PM Nicolai Kraus wrote: > Dear André and everyone, > > I feel it's worth pointing out that there are two strategies to express > "everyday mathematics" in HoTT. In CS-speak, they would probably be > called "shallow embedding" and "deep embedding". Shallow embedding is > the "HoTT style", deep embedding is the "pre-HoTT type theory style". > Shallow means that one uses that the host language shares structure with > the object one wants to define, while deep means one doesn't. To explain > what I mean, let's look at the type theoretic definition of a group (a > 1-group, not a higher group). > > Definition using deep embedding: A group is a tuple > (X,h,e,o,i,assoc,...), where > X : Type -- carrier > h : is-0-truncated(X) -- carrier is set > e : X -- unit > o : X * X -> X -- composition > i : X -> X -- inverses > assoc : (h o g) o f = h o (g o f) > ... [and so on] > > Definition using shallow embedding: A group is a pointed connected 1-type. > > Fortunately, these definitions are equivalent (via the Eilenberg-McLan > spaces construction). But they behave differently when we want to work > with them or change them. It's easy to change the second definition to > define infinity groups instead of 1-groups (see e.g. arXiv:1802.04315 , > arXiv:1805.02069, and Ulrik's comment). But it's unclear whether there > is a nice way for the first definition. The second definition has better > computational properties than the first. > > When you say this: > > > But I find it frustrating that I cant do my everyday mathematics with > it. > > For example, I cannot say > > > > (1) Let X:\Delta^{op}---->Type be a simplicial type; > > You are referring to shallow embedding. In everyday mathematics, you > don't say (1) either. You probably say (1) with "Type" replaced by "Set" > or by "simplicial set". Both of these can be expressed straightforwardly > in type theory using only (h-)sets (i.e. embedding deeply). > > We strive to use shallow embedding as often as possible for the reasons > in the above example. But let's assume that we *can* say (1) in HoTT, > using "Type", because we find some encoding that we're reasonably happy > with; there's a question which I've asked myself before: > > Will we not destroy the advantages of deep (over shallow) embedding if > we fall back to encodings (and thus destroy the main selling point of > HoTT)? For me, the justification of still using deep embedding is that > statements using encodings (e.g. "the universe is a higher category) > might still imply statements which don't use encodings and are > interesting. However, if we want to develop a theory of certain higher > structures for it's own sake, then it's not so clear to me whether it's > really better to use the HoTT-style deep embedding. > > Kind regards, > Nicolai > > > On 09/05/2020 21:18, Joyal, André wrote: > > Dear Thomas, > > > > You wrote > > > > < > for proving and not for computing. > > But if you haven't mechanized PART of equational reasoning it would be > > much much more painful than it still is. > > But that is "only" a pragmatic issue.>> > > > > Type theory has very nice features. I wish they could be preserved and > developped further. > > But I find it frustrating that I cant do my everyday mathematics with it. > > For example, I cannot say > > > > (1) Let X:\Delta^{op}---->Type be a simplicial type; > > (2) Let G be a type equipped with a group structure; > > (3) Let BG be the classifying space of a group G; > > (4) Let Gr be the category of groups; > > (5) Let SType be the category of simplical types. > > (6) Let Map(X,Y) be the simplicial types of maps X--->Y > > between two simplicial types X and Y. > > > > It is crucial to have (1) > > For example, a group could be defined to > > be a simplicial object satisfying the Segal conditions. > > The classifying space of a group is the colimit of this simplicial > object. > > The category of groups can be defined to be > > a simplicial objects satisfiying the Rezk conditions (a complete Segal > space). > > > > Is there some aspects of type theory that we may give up as a price > > for solving these problems ? > > > > > > Best, > > André > > > > ________________________________________ > > From: Thomas Streicher [stre...@mathematik.tu-darmstadt.de] > > Sent: Saturday, May 09, 2020 2:43 PM > > To: Joyal, André > > Cc: David Roberts; Thorsten Altenkirch; Michael Shulman; Steve Awodey; > homotopyt...@googlegroups.com > > Subject: Re: [HoTT] Identity versus equality > > > > Dear Andr'e, > > > >> By the way, if type theory is not very effective in practice, why do we > insist that it should always compute? > >> The dream of a formal system in which every proof leads to an actual > computation may be far off. > >> Not that we should abandon it, new discoveries are always possible. > >> Is there a version of type theory for proving and verifying, less > >> for computing? > > In my opinion the currenrly implemented type theories are essentially > > for proving and not for computing. > > But if you haven't mechanized PART of equational reasoning it would be > > much much more painful than it still is. > > But that is "only" a pragmatic issue. > > > >> The notations of type theory are very useful in homotopy theory. > >> But the absence of simplicial types is a serious obstacle to > applications. > > In cubical type theory they sort of live well with cubes not being > > fibrant... They have them as pretypes. But maybe I misunderstand... > > > > Thomas > > > >