- 21
- 51 525
jacobneu
United Kingdom
Приєднався 19 лют 2021
Mechanics, or Magic?: STLC and Propositional Logic [Intro to HoTT, No. 6, Part 0]
Links and more: intro-hott.video/videos/6/part0
Returning to the logic interpretation, we round out intuitionistic propositional logic with logical conjunction, disjunction, negation, and equivalence, all implemented in informal/Agda formal/deductive formal HoTT.
Video site for the series: intro-hott.video
UA-cam: ua-cam.com/play/PL245PKGUDdcN9-El9D7DRefwX4c9feiYq.html
Instagram: @Intro_HoTT
Formalization links:
- The formalization I'm developing for this video series: github.com/jacobneu/HoTT-agda
- More up-to-date HoTT formalization in Agda: github.com/UniMath/agda-unimath
HoTT textbooks:
- The HoTT Book (2013) -- the original statement of HoTT: homotopytypetheory.org/book/
- Introduction to Homotopy Type Theory, by Egbert Rijke (to be released): ncatlab.org/nlab/show/Introduction+to+Homotopy+Type+Theory
Image/audio credits:
- "Wholesome" by Kevin MacLeod (incompetech.com); CC BY 4.0 (creativecommons.org/licenses/by/4.0/)
- ua-cam.com/video/-BICDoZZsTI/v-deo.html
- Emoji One, CC BY-SA 4.0 creativecommons.org/licenses/by-sa/4.0, via Wikimedia Commons
Homotopy type theory (HoTT) is a new branch of type theory and a new foundation for mathematics. It serves as a common language for reasoning about computation (functional programming), about mathematical structure (synthetic homotopy theory and higher category theory), and about constructive logic. This Introduction to Homotopy Type Theory video lecture series is intended to explain what HoTT is, show how to work in HoTT (including how formalization in Agda works), and give intuition for why HoTT is the way it is. I don’t assume any particular background familiarity, but the more you know about mathematics, computer science, and logic, the more you’ll be able to get out of these videos. Enjoy!
Returning to the logic interpretation, we round out intuitionistic propositional logic with logical conjunction, disjunction, negation, and equivalence, all implemented in informal/Agda formal/deductive formal HoTT.
Video site for the series: intro-hott.video
UA-cam: ua-cam.com/play/PL245PKGUDdcN9-El9D7DRefwX4c9feiYq.html
Instagram: @Intro_HoTT
Formalization links:
- The formalization I'm developing for this video series: github.com/jacobneu/HoTT-agda
- More up-to-date HoTT formalization in Agda: github.com/UniMath/agda-unimath
HoTT textbooks:
- The HoTT Book (2013) -- the original statement of HoTT: homotopytypetheory.org/book/
- Introduction to Homotopy Type Theory, by Egbert Rijke (to be released): ncatlab.org/nlab/show/Introduction+to+Homotopy+Type+Theory
Image/audio credits:
- "Wholesome" by Kevin MacLeod (incompetech.com); CC BY 4.0 (creativecommons.org/licenses/by/4.0/)
- ua-cam.com/video/-BICDoZZsTI/v-deo.html
- Emoji One, CC BY-SA 4.0 creativecommons.org/licenses/by-sa/4.0, via Wikimedia Commons
Homotopy type theory (HoTT) is a new branch of type theory and a new foundation for mathematics. It serves as a common language for reasoning about computation (functional programming), about mathematical structure (synthetic homotopy theory and higher category theory), and about constructive logic. This Introduction to Homotopy Type Theory video lecture series is intended to explain what HoTT is, show how to work in HoTT (including how formalization in Agda works), and give intuition for why HoTT is the way it is. I don’t assume any particular background familiarity, but the more you know about mathematics, computer science, and logic, the more you’ll be able to get out of these videos. Enjoy!
Переглядів: 499
Відео
Noughts & Crosses: Computing with Product Types [Intro to HoTT, No. 5, Part 3]
Переглядів 4856 місяців тому
Links and more: intro-hott.video/videos/5/part3 In this video, we conduct a formal development of product types in Agda, to complement our earlier informal developments (the product operation on homotopy spaces) and formalization in the HoTT deductive calculus. We use some function combinators to implement integer division in Agda and Haskell, running into some trouble with nontermination along...
Noughts & Crosses: Understanding Beta & Eta [Intro to HoTT, No. 5, Part 2]
Переглядів 682Рік тому
Links and more: intro-hott.video/videos/5/part2 In this video, we conduct a formal development of product types in the HoTT deductive calculus, formalizing our informal work from the previous video. This provides an occasion to refine our intuitions for what Beta and Eta Computation rules mean. Video site for the series: intro-hott.video UA-cam: ua-cam.com/play/PL245PKGUDdcN9-El9D7DRefwX4c9feiY...
Noughts & Crosses: Cartesian Product [Intro to HoTT, No. 5, Part 1]
Переглядів 809Рік тому
Links and more: intro-hott.video/videos/5/part1 In this video, we take an informal look at what it means to "multiply" homotopy spaces. These "product types" play a central role in type theory, especially in the logic interpretation (as we'll discuss in a future video). Video site for the series: intro-hott.video UA-cam: ua-cam.com/play/PL245PKGUDdcN9-El9D7DRefwX4c9feiYq.html Instagram: @Intro_...
Noughts & Crosses: Set Interpretation [Intro to HoTT, No. 5, Part 0]
Переглядів 1,1 тис.Рік тому
Links and more: intro-hott.video/videos/5/part0 In this video, we return to the homotopy interpretation and explore its simpler edge cases, sets! In particular, we look at an edge case of sets, the empty set. Video site for the series: intro-hott.video UA-cam: ua-cam.com/play/PL245PKGUDdcN9-El9D7DRefwX4c9feiYq.html Instagram: @Intro_HoTT Twitter: @Intro_HoTT Formalization links: - Appeared in t...
Logic & Lambdas: Context Extension [Intro to HoTT, No. 4, Part 1]
Переглядів 1,2 тис.2 роки тому
Links and more: intro-hott.video/videos/4/part1 In this video, we discuss the deductive rules governing arrow types: the application rule, the lambda abstraction rule, and the beta & eta rules. Video site for the series: intro-hott.video UA-cam: ua-cam.com/play/PL245PKGUDdcN9-El9D7DRefwX4c9feiYq.html Instagram: @Intro_HoTT Twitter: @Intro_HoTT Formalization links: - Appeared in this video: gith...
Logic & Lambdas: Constructive Modus Ponens [Intro to HoTT, No. 4, Part 0]
Переглядів 1,5 тис.2 роки тому
Links and more: intro-hott.video/videos/4/part0 In this video, we incorporate into type theory a central feature of logic: implications. Along the way, we encounter the work of the ancient Greek philosopher Theophrastus, the modern work of Brouwer, Heyting, and Kolmogorov, and end up doing computer programming. Quite a journey! Video site for the series: intro-hott.video UA-cam: ua-cam.com/play...
Booleans in HoTT: Putting Bool to Use [Intro to HoTT, No. 3, Part 1]
Переглядів 1,5 тис.2 роки тому
Links and more: intro-hott.video/videos/2/part1 Boolean logic is an important part of computer science, both at the hardware level and the software level. Can we do boolean logic in HoTT? Of course we can! In this video, I give our first example of the iteration and computation rules for a type, which are how we use types. With booleans, this corresponds to gate-like constructs called multiplex...
Booleans in HoTT: Boolean Combinators [Intro to HoTT, No. 3, Part 0]
Переглядів 1,7 тис.2 роки тому
Links and more: intro-hott.video/videos/3/part0 Boolean logic is an important part of computer science, both at the hardware level and the software level. Can we do boolean logic in HoTT? Of course we can! This video shows how to recreate the logic of boolean circuits and logic gates, both in informal HoTT and in our Agda formalization of HoTT. Video site for the series: intro-hott.video UA-cam...
Formalities & Informalities: Not-So-Casual Friday [Intro to HoTT, No. 2, Part 3]
Переглядів 1,4 тис.2 роки тому
Links and more: intro-hott.video/videos/2/part3 Part 3 of Formalities & Informalities (Parts 0, 1, 2: ua-cam.com/video/-QKLxN1_nvk/v-deo.html ua-cam.com/video/J-v7m_tdTfE/v-deo.html ua-cam.com/video/97twa7KgQ6k/v-deo.html), answering the question: how do we do Homotopy Type Theory? In this video, I bring together everything covered in Parts 0, 1, and 2 with an example: the days of the week! Vid...
Formalities & Informalities: Judgmental Equality [Intro to HoTT, No. 2, Part 2]
Переглядів 1,7 тис.2 роки тому
Links and more: intro-hott.video/videos/2/part2 Part 2 of Formalities & Informalities (Parts 0 and 1: ua-cam.com/video/-QKLxN1_nvk/v-deo.html ua-cam.com/video/J-v7m_tdTfE/v-deo.html), answering the question: how do we do Homotopy Type Theory? An essential piece of HoTT is judgmental equality, which is how we state that two things are "equal by definition". In this video, I explain (what I consi...
Formalities & Informalities: Declare-It-Yourself [Intro to HoTT, No. 2, Part 1]
Переглядів 2,3 тис.2 роки тому
Links and more: intro-hott.video/videos/2/part1 How do we do Homotopy Type Theory? In this video, I cover some of the fundamentals of working in Agda (the computer formalization system we'll be using in these videos) and the basic concepts of HoTT as a formal language: judgments, inference rules, formation and introduction. Formalization links: - The formalization I'm developing for this video ...
Formalities & Informalities: HoTT Workflows [Intro to HoTT, No. 2, Part 0]
Переглядів 2,5 тис.2 роки тому
Links and more: intro-hott.video/videos/2/part0 How do we do Homotopy Type Theory? This is another question with three answers: homotopy type theorists will "dress" their work in three different styles informal reasoning, computer formalization, and as inference rules in a deductive system. In these videos, I describe these three styles of HoTT and how a successful homotopy type theorist naviga...
Three for One: Logic Interpretation [Intro to HoTT, No. 1, Part 3]
Переглядів 3,3 тис.2 роки тому
Links and more: intro-hott.video/videos/1/part3 What does homotopy type theory mean? This video presents our third answer: HoTT is a logical calculus for constructively proving statements (especially mathematical claims). This is by way of the famed "Curry-Howard Correspondence", which connects type theory with constructive logic. Along the way, we encounter important notions like proof relevan...
Three for One: Homotopy Interpretation [Intro to HoTT, No. 1, Part 2]
Переглядів 2,9 тис.2 роки тому
Links and more: intro-hott.video/videos/1/part2 What does homotopy type theory mean? This video presents the next answer: HoTT is a language for describing spaces. Under this interpretation, the unit type 1 represents the space consisting of just a single point. This video informally introduces the idea of "contractibility", which we'll rigorously define later and use extensively throughout HoT...
Three for One: Programming Interpretation [Intro to HoTT, No. 1, Part 1]
Переглядів 3,3 тис.2 роки тому
Three for One: Programming Interpretation [Intro to HoTT, No. 1, Part 1]
Three for One: Intro [Intro to HoTT, No. 1, Part 0]
Переглядів 3,7 тис.2 роки тому
Three for One: Intro [Intro to HoTT, No. 1, Part 0]
Was soll HoTT? [Intro to HoTT, No. 0]
Переглядів 9 тис.2 роки тому
Was soll HoTT? [Intro to HoTT, No. 0]
[Categories] Theory of the Category of Sets: Sets and Functions
Переглядів 1,8 тис.3 роки тому
[Categories] Theory of the Category of Sets: Sets and Functions
[Intro to HoTT - OLD] Martin-Löf Type Theory: Judgments, Contexts, and Types
Переглядів 3,4 тис.3 роки тому
[Intro to HoTT - OLD] Martin-Löf Type Theory: Judgments, Contexts, and Types
[Intro to HoTT - OLD] Martin-Löf Type Theory: Speaking the Language
Переглядів 6 тис.3 роки тому
[Intro to HoTT - OLD] Martin-Löf Type Theory: Speaking the Language
Waiting, tnx
Very good addition to contemporary UA-cam mathematics material
nice, do more pelase
What does the expression λx.f x mean at 14:36, when x has not been defined in our context like with the λ-abstraction and β-reduction rules?
Wow, the connection between the conditional and functions blew my mind! But I'm a bit confused about the nature of what exactly HoTT is and its connection to logic. As I understand it, HoTT is not built on first-order logic like ZF, but rather logic "comes with" HoTT. So are inference rules like modus ponens part of HoTT? and does HoTT have a list of rules and axioms like ZF? Also if i'm not mistaken, we're also using the Deduction theorem to prove statements in this video, correct ? (Is that also part of the specification for HoTT?)
Really enjoying this video series so far. Coming at this from a professional software engineer POV with a casual interest in mathematics, it's easy to follow (thank god you didn't go too deep on topology or else I'd be lost). Never even occurred to me that type systems could be used for something this powerful.
Fucking Legend
Gonna swim in -the- a Specific Ocean
Will you do videos on linear logic?
In grad school, it was especially the algebraists who never said WHY we should be interested in the subject. What is the psychology here?
I want to learn type theory enough, to understand HoTT. Should I start with your videos or study something else before?
HOLY COW SCOOB THAT CAN'T BE PROPOSITIONAL LOGIC THAT'S M-M-M-M-M-MAGIC!
You are an extremely good teacher. Clearly, you have put a lot of effort into making this and it shows. You are not boring like many others and you really made me enthusiastic about the uses of HoTT. Thank you!!!!
dude it`s just awesome how simple you make this topic
Russian occupants tortured my friend Ivan
@srghma sorry to hear that, it wasn't me btw
Nottingham? You should do a video with Brady Haren!
I'm planning on making an appearance on Computerphile sometime in the near future. IDK if I'll get to do Numberphile too, but maybe one day!
Lmao I watched part 2 yesterday
I F***ING LOVE PRODUCT TYPES WOOOOOOOO
(F***G)ing product type
This is so cool I finally found a good series on HoTT
TOOB SQUARED!!!
I've seen lectures on a little bit of type theory that looked more like pure math than computer science. I've also gotten a little bit of that from chatgpt under the right prompts. Are there any text books that give a mathematical treatment of type theory with little to no mention of computer science? Thanks in advance
Can we in a way see \beta and \eta as adjunction units and counits in a sense?
This is exactly what I was looking for. It clicked at 8:26. Thanks so much!
I really love the presentation style and examples overall, it really gives the series its own personality. Keep up the good work!
Hott starting from basic type theory (for non-programmers)? Seems like a long way to go…
These videos are amazing thank you and please keep going
0:50 - of course there is: (string | number) - and you cannot do anything with it, until you check which it is (except pass it around, ala T)
I don't like math being a social activity. Convincing a bunch of apes does not constitute a proof to me. I hated that at Uni. - Where is the proof that your proof is correct? - Oh, you convinced me? Good job, but I'm just a stupid monkey, why should that matter? - Sure, if a monkey finds inconsistency, that is great, but if not, how is that a proof? - That's not math. That's rhetoric, and we all know how well that can go...
of course, trusting Coq etc. is still a matter of "faith" the implementation is correct, to a degree... But at least it doesn't feel as whimsical ... - Engineering forces ideas to clash with reality, and reality is the ultimate decider.
I also hated how they would mix "inconsistently overloaded" math notation and natural language, and expected to be taken seriously. - Not just using natural language as comments to explain their ideas, but as part of the proof itself? Often not using exactly defined language...
I consider crucial the ASI argument: - if ASI proves something that humans cannot comprehend, does that mean it's not proven? - Can ASI convince humans of something that is not true? and flipped for clarity: - if a scientist proves something that "dogs/chimps/children" cannot comprehend, does that mean it's not proven? - Can a scientist convince "dogs/chimps/children" of something that is not true? Yeah ... what a horrible metric.
"I'm right because I convinced you!" is only one step less barbaric than "I'm right because I beat you in a fight!" .... like ... come on.
1:12 - I wish this was considered even for primary school maths, lol. - That is the the takeaway most students have from just learning any algebra.
10:24 I feel like your use of the word "faithful" here was a bit of a hint :)
Look what I found today 🎉
Beta and Eta Wooooooooo let's go!!!
Best HoTT channel is back!
Best HoTT content. Please keep going!
Yyaaaaayyy. Been waiting for this series. Making my way through the HoTT book currently. Thanks!
Eyyy first! I love your videos; you make this insanely high-level content feel so easy and intuitive
It's better to typehint your function def reactorTempFactor(n: float) -> float Your version was kinda type correct it just has a return type of float | str or a union type of a string and a number
It would actually be "Was ist und was soll HoTT?", because HoTT is singular ;)
Yeah I definitely messed that up haha. I changed the title & thumbnail to just "was soll HoTT" for this reason, but in retrospect I should've gone for something like "was sind und was sollen die homotopie typen", or just stuck to languages I actually know. Oh well...
@@jacobneu-videos Yes but it's not a big deal. I really enjoy the series and it helps me a lot!
This is great stuff, thanks
Absolutely brilliant video series! Subscribed.
1:29 The Game of the Century: Byrne - Fischer (1956)
Loved this video. But the sound that the marker makes on paper is a bit irritating
For introduction rule for beta I suggest providing the type for the conclusion of the inference rule.
Great video. Why do the rules only let us form application terms when the contexts of the function and argument are equal? If the contexts are different, is there a way to merge them together to allow the application?
If one context is an extension of the other (or if both are extensions of a context in which the function & argument can be expressed) then we can make sense of it. This is can be deduced from the rule as stated here. But in general, there's no "context merging" rule
Your tagging of the agda commands on screen is a fantastic idea. Loving these videos, can't wait til you get to Cubical Agda :)
Question: if = is judgmental equality in Agda, what about the fact that we can have a proof that two values are equal as an argument to a function, say? fn :: {A : Type} {a b : A} -> (a tripleEquals b) -> (b tripleEquals a) fn refl = refl The (a tripleEquals b) type is a proof that the two values are the same, which if I'm following correctly, means that they compute to the same thing, therefore are judgmentally equal. But we need to have tripleEquals in the type signature. Is the equality type also a representation of judgmental equality?
Triple equals in Agda is the identity type, or propositional equality, which is weaker than judgmental equality. Eventually I'll make videos about identity types in HoTT, but I'm planning on doing dependent types and inductive types first
I found this series today, binged the whole thing, and I love it. I am now going to learn agda. Thank you so much.
At 6:33 (ua-cam.com/video/97twa7KgQ6k/v-deo.htmlsi=fUEOt3_Obyk2RV-c&t=393), I am slightly confused about the rule (Gamma |- a : A)/(Gamma |- a = a : A). I believe the type of a = a should be Prop (or Type)? What am I missing here?
Good question. Writing a (dot equal) a : A is not saying a (dot equal) a is a term of type A. This is just the notation for saying that a (which *is* a term of type A) is judgmentally equal to a. In practice, this last ":A" is usually dropped, since we know what type the term a is of. Later, we'll introduce identity types, where, as you say, a=a is a type.
Dear Jacob, this was purely amazing.
Very cool
many things in computer science is homo. Homoiconicity, homomorphisms, homotopy type theory. Its very interesting