Why should you learn Type Theory?

แชร์
ฝัง
  • เผยแพร่เมื่อ 21 พ.ย. 2024

ความคิดเห็น • 217

  • @jacobusburger
    @jacobusburger 3 ปีที่แล้ว +151

    We need more theoretical computing videos on TH-cam. Type Theory, Languages, Combinatorial Logic, etc are so interesting but no one seems to be making anything regarding them.

    • @dappermink
      @dappermink  3 ปีที่แล้ว +25

      Exactly the thought that pushed me to make this video despite I knew both my English and my microphone were poor

    • @jacobusburger
      @jacobusburger 3 ปีที่แล้ว +4

      @@dappermink It's great that you did. Maybe this will inspire more videos on this kind of topic?

    • @dappermink
      @dappermink  3 ปีที่แล้ว +2

      @@jacobusburger I do hope so!

    • @fppt1555
      @fppt1555 3 ปีที่แล้ว +1

      I like watching code report, he posts about this kind of stuff too! Nice video here nonetheless.

    • @TheJacklwilliams
      @TheJacklwilliams 3 ปีที่แล้ว +1

      @@dappermink That is quite alright. You get 1000 points for taking that thought and making it a reality. Keep it up and your bound to keep improving as the rest of us joining you are working on. Huge thanks for the effort and the quality work you put out. Re your English? Us Americans are pitiful. Everywhere I traveled in the last thirty years I met people who were multilingual with English being one of them. We, are way behind you all and too many of us know only English (including me). Lastly, those of us who work in tech have well learned how to adjust to accent/annunciation from other cultures, or should've by now. The NUMBER ONE benefit I've received from a lifetime in this business is my understanding and appreciation for other cultures and the friendships I've made.

  • @AndriyDrozdyuk
    @AndriyDrozdyuk 3 ปีที่แล้ว +316

    Great video. Suggestion is get a better microphone - it will take this to the next level.

    • @dappermink
      @dappermink  3 ปีที่แล้ว +41

      I know right, I am very sorry for the microphone but I didn't feel like purchasing one yet.
      Thank you so much!

    • @1495978707
      @1495978707 3 ปีที่แล้ว +24

      Also try not to eat the microphone. That was more of an issue than cheap microphone

    • @eccentricOrange
      @eccentricOrange 3 ปีที่แล้ว +21

      @@1495978707 I know that you only mean to give constructive feedback, but am laughing pretty hard now.

    • @extremeheat7947
      @extremeheat7947 3 ปีที่แล้ว +3

      Try using your phone to record the audio

    • @barbietripping
      @barbietripping 3 ปีที่แล้ว +6

      @@dappermink I’m sure people would be willing to help your purchase one if you’re making videos like these.

  • @AnarchoAmericium
    @AnarchoAmericium 3 ปีที่แล้ว +88

    Someone actually having the courage to talk about types for SoME1 and not more linear algebra/calculus.
    You get my subscription! And may the algorithm bless you!

    • @dappermink
      @dappermink  3 ปีที่แล้ว +8

      Thanks a lot for the support!
      I'm still very new to type theory, but since there were almost no video on it on TH-cam I thought it was too interesting not to share!

    • @itsmeagain1415
      @itsmeagain1415 3 ปีที่แล้ว +1

      @@dappermink Yes, I just actually heard about it a couple of days ago and just by the looks of it it feeled very interesting, I'm actually interested in learning it now, but I don't know if it should be after completing predicate logic or I can just start learning about it

    • @dappermink
      @dappermink  3 ปีที่แล้ว +2

      @@itsmeagain1415 I guess you can learn it anytime. Having more background with other fields might help you make connections but I don't think it's required at all.
      Just be aware the "logic" of type theory is intuitionist or constructivist, which studies what can or cannot be constructed (proofs), as opposed to predicate logic that studies what is or isn't true.

  • @BlackRose4MyDeath
    @BlackRose4MyDeath 3 ปีที่แล้ว +46

    Grant Sanderson's manim really has made a huge impact on TH-cam huh.

    • @dappermink
      @dappermink  3 ปีที่แล้ว +6

      right? 🙃

    • @KlaudiusL
      @KlaudiusL 3 ปีที่แล้ว +10

      He did more than just teach maths .. He brought the tools so anyone can teach too. That's a great act of altruism

    • @duartesilva7907
      @duartesilva7907 3 ปีที่แล้ว +1

      @@KlaudiusL that's why the man is a legend.

  • @MrOvipare
    @MrOvipare 3 ปีที่แล้ว +9

    The font and animations really show just how much 3Blue1Brown has been influential. That guy is a hero.

    • @dappermink
      @dappermink  3 ปีที่แล้ว +1

      Ikr
      His tool his public tho, so that's why

  • @syllight9053
    @syllight9053 3 ปีที่แล้ว +23

    For anyone who having a hard time understanding because of the audio, use the captions. It will help a lot!
    PS: Thanks for making this video! This will greatly help with my journey on Mathematics! Please don't stop making videos

    • @dappermink
      @dappermink  3 ปีที่แล้ว +5

      Thank you a lot!! Glad it can help!
      Yeah, since both my accent and the microphone quality are bad I decided to at least add captions manually haha

    • @alex95sang52
      @alex95sang52 3 ปีที่แล้ว

      @@dappermink Where are you from?

    • @dappermink
      @dappermink  3 ปีที่แล้ว +1

      @@alex95sang52 In case that wasn't obvious already, I'm French, like you 🙃

  • @officebatman9411
    @officebatman9411 3 ปีที่แล้ว +5

    Always happy to see more type theory videos! great work

    • @dappermink
      @dappermink  3 ปีที่แล้ว

      Thank you Batman!!

  • @duxoakende
    @duxoakende 3 ปีที่แล้ว +10

    Disappointed this video has less than 200 likes, would appreciate it seeing more. It reminded me of 3b1b and other similar math TH-camrs. Keep it up my friend, you've got something here.

    • @dappermink
      @dappermink  3 ปีที่แล้ว +1

      Thanks a ton for the awesome support!!

  • @yosh9651
    @yosh9651 3 ปีที่แล้ว +6

    Took a functional programming class last year and this reminds me a lot of that! Great video!

    • @dappermink
      @dappermink  3 ปีที่แล้ว +2

      Thanks a lot!
      Yeah this has a lot to do with lambda calculus, which functional programming is based on

  • @okb6436
    @okb6436 3 ปีที่แล้ว +10

    Man this is amazing. I've been learning a bit by the book Homotopy type theory, which has a nice introduction to type theory. It's very interesting seing it as a foundation.

    • @dappermink
      @dappermink  3 ปีที่แล้ว +1

      Thank you so much, it means a lot to me!

  • @tiborgrun6963
    @tiborgrun6963 3 ปีที่แล้ว +27

    8:56 "but since 2 + 2 reduces to 4, the type 2+2 = 2+2 is the same as the type 2+2 = 4"
    Isn't that what we were trying to show in the first place? How is "reduces to" defined?
    I see how only allowing refl leads to not being able to prove things like 2+3 = 4+3 since we have to start with an equality. But I don't see how refl can prove things like 2+3 = 5 if all we are doing is start by 2+3 = 2+3 and then say "2+3 reduces to 5". Or is this assuming the above definition of the sum, and so it's all successors of successors of ... of 0? Is that what's meant by "reduces to"?

    • @dappermink
      @dappermink  3 ปีที่แล้ว +26

      Yes it's exactly that.
      2+3=5 is a type
      By definition, we have
      5 := s(s(s(s(s(0)))))
      and 2+3
      := sum(
      s(s(0)),
      s(s(s(0)))
      )
      :=
      := s(s(s(s(s(0)))))
      We can replace anything by its definition, it's like an alias, so 2+3=5 is just the type
      s(s(s(s(s(0))))) = s(s(s(s(s(0)))))
      rewritten with syntactic sugar
      (which can also be written 5=5)
      So finally, we know refl(5) has the type 5=5, and so that's not only a proof that 5=5 but also a proof of the same proposition rewritten differently such as 2+3=5
      It kinda feels like cheating, but if that doesn't really feel like we're proving anything it's because we don't need to tell the computer 2+3 reduces to 5, it can automatically see it applying the definitions we provided
      Hope I could make it a bit clearer

    • @prudiiarca
      @prudiiarca 3 ปีที่แล้ว +9

      @@dappermink I loved your video! Just as a constructive feedback, I think this explanation should have been part of the video. It‘s those little details, which make math so hard…

    • @dappermink
      @dappermink  3 ปีที่แล้ว +5

      @@prudiiarca You're entirely right, I should have
      I didn't because first I wasn't sure of my understanding on this at the time of writing the script, and also because of the SoME1 deadline.
      However I currently plan to cover the topic further and from another angle, so this explanation will definitely be part of it.
      But first of all I need to need to figure out how to have a decent audio quality haha

    • @dappermink
      @dappermink  3 ปีที่แล้ว +5

      @@prudiiarca Anyway thanks a lot for both the feedback and the support!

  • @aquilazyy1125
    @aquilazyy1125 2 ปีที่แล้ว +5

    Great video. It’s nice to see more videos on TH-cam that talks about the theoretical side of Computer Science. If you have the time to make a series of this, I would love to watch them.
    Don’t worry about the mic or your accent. I actually find them quite calming with your presentation style ;)

    • @dappermink
      @dappermink  2 ปีที่แล้ว +2

      Thank you so much, really!
      I do plan to make other videos to go further on this topic, but I have not enough free time for now to work on it so it's probably gonna take a while.

  • @willyh.r.1216
    @willyh.r.1216 3 ปีที่แล้ว +1

    Indeed, the type theory should be taught at any math education with a comprehensive adaptation, of course. The type theory helps to demystify math at the very fabric of the nature of this noble gradual discipline.
    I 100% enjoy your video, please keep it up.

    • @dappermink
      @dappermink  3 ปีที่แล้ว

      I completely agree, thanks a lot btw!

  • @Bruno-el1jl
    @Bruno-el1jl 3 ปีที่แล้ว +3

    Thanks so much for this gem! Really really interesting topic! 🙌🙌🙌

  • @viniciusataidedealbuquerqu2837
    @viniciusataidedealbuquerqu2837 3 ปีที่แล้ว +1

    your transitions are top notch

  • @arcade-fighter
    @arcade-fighter 3 ปีที่แล้ว +1

    Thanks you for this introduction to Type Theory! Now I can play myself with Lean environment in order to proof my own Theorems using Type Theory point of view as opposite to Set Theory.

    • @dappermink
      @dappermink  3 ปีที่แล้ว

      That's awesome, thank you! : )

  • @skit555
    @skit555 2 ปีที่แล้ว +1

    Great vid, thx for that introduction!

  • @maxdemian6312
    @maxdemian6312 2 ปีที่แล้ว +1

    An outstanding video on this topic

  • @ramit7
    @ramit7 3 ปีที่แล้ว +2

    It was awesome man! I loved it! As a student of logic and being frustrated with how little expository materials were available in our topic, this definitely stands out! Thanks a ton!

    • @dappermink
      @dappermink  3 ปีที่แล้ว +1

      Thanks a ton for the cheerful support!
      This video definitely exists because of my own frustration of how undercovered this topic is, so I am more than content I can make people discover and like it!
      This is just a poor attempt at introducing Type Theory which I am myself learning, so if that triggered your interest be aware there is much more fascinating about it that I couldn't cover yet, so feel free to explore it by yourself (I personally read the HoTT book which introduces Type Theory at the beginning)

    • @ramit7
      @ramit7 3 ปีที่แล้ว

      @@dappermink Thanks for the invite. I am an explorer of this realm. I am yet to settle on where I want to research further. But I had dabbled with (introductory) HoTT by myself. Couldn't keep up the motivation because no one surrounding me was interested in it and it did get fairly involved that I needed guidance from an expert which wasn't available.
      All the best in your journey to HoTT :) I wish you luck. And would love it if you also get to cover the more convoluted aspects. Usually, the online materials I find are the simpler ones( or the introductory material) very well enunciated but the trickier/harder ones are usually left out.
      For the case of general maths, I think there, a lot of expert popularisers are coming into the scene which makes youtube a constant thrilling experience! I wish for topics in logic, esoteric ideas of forcing to prove independence of the continuum hypothesis, quantifier elimination of peano arithmetic, borel determinacy theorem, zero-one laws for first order logic, etc have their expositions as well.

    • @dappermink
      @dappermink  3 ปีที่แล้ว +1

      I feel you, I also wish I knew an expert to guide me. Instead all I can do is trying to gathering the bits of knowledge here and there on the internet, which itself isn't even that bad if I had enough free time haha.
      I wish I could cover more but that would be too presumptuous, if I could at least cover enough of the introductory/intermediate material (which I need to understand myself first), that would be already amazing to me!

    • @ramit7
      @ramit7 3 ปีที่แล้ว +1

      You are doing an amazing job! ^_^@@dappermink

  • @5708R
    @5708R 2 ปีที่แล้ว +1

    This was such a good and useful video. It gave a very accessible conceptual introduction to type theory. I appreciated it very much as someone who is self-teaching about computation. I really hope you make more videos like this in the future.

    • @dappermink
      @dappermink  2 ปีที่แล้ว

      Thank you so much, this kind of support really helps motivation!
      Also, sure, it's planned (':

  • @erzma9908
    @erzma9908 3 ปีที่แล้ว +1

    I sense the French person here.
    Also I feel the influence of MP studies.
    I love the videos, looking forward for the next one.

    • @dappermink
      @dappermink  3 ปีที่แล้ว

      Haha, looks like I cannot hide my accent
      Thanks a lot!

  • @tanchienhao
    @tanchienhao 3 ปีที่แล้ว +9

    great video, honestly this kickstarted my interest and now im playing with lean :) you have inspired me!

    • @dappermink
      @dappermink  3 ปีที่แล้ว +1

      Amazing!!!
      Thanks a lot!

    • @tanchienhao
      @tanchienhao 3 ปีที่แล้ว

      @@dappermink there seems to be very little videos on lean on youtube, maybe consider making some tutorials :) wld be great for the outreach

    • @dappermink
      @dappermink  3 ปีที่แล้ว +3

      @@tanchienhao I am also starving for more lean videos, I am only discovering lean for now so I don't consider doing tutorials haha
      There also are other proof assistants than lean such as coq, but I haven't investigated them yet. Maybe some of them have more online resources?

  • @cloudy_luna
    @cloudy_luna 3 ปีที่แล้ว +1

    Great video!

  • @Rule_110
    @Rule_110 3 ปีที่แล้ว +1

    The best 👍👍👍👍👍👍
    Great Video

    • @dappermink
      @dappermink  3 ปีที่แล้ว +1

      Thank you so much!

  • @michaelhearmon9965
    @michaelhearmon9965 2 ปีที่แล้ว

    Thank you for explaining this. I have been watching Professor Altenkirch's Type Theory, but didn't understand the basics.
    Please make some more :)

    • @dappermink
      @dappermink  2 ปีที่แล้ว

      I definitely will, thank you so much for the kind words it means a lot

  • @patrickgh3
    @patrickgh3 3 ปีที่แล้ว +7

    satisfying animations! type theory seems interesting, even though i don't quite grasp how proof verifiers work, but I guess they work somehow. can only cover so much in 10 minutes, hah.

    • @dappermink
      @dappermink  3 ปีที่แล้ว

      Thank you!
      As far as I know, they work a bit like any programming language with a type system:
      When you write a typed function in a typed programming language, if your last return statement has a wrong type the compiler will tell you
      Well, for a proof assistant, if you write a proof you're basically constructing an element with a specific type combining preexisting elements and constructors, so the assistant can check for any errors the same way. No type error means your proof is correct!

    • @patrickgh3
      @patrickgh3 3 ปีที่แล้ว +1

      @@dappermink ahh, gotcha, so it's checking that a proof you're writing is correct, not proving that an algorithm you're writing is correct. thanks.

    • @dappermink
      @dappermink  3 ปีที่แล้ว +1

      @@patrickgh3 Though you can also write proofs about your algorithms. That's like the next level of unit testing haha

  • @evertonsantosdeandradejuni3787
    @evertonsantosdeandradejuni3787 3 ปีที่แล้ว +1

    very good, the more math and eduators the better !

    • @dappermink
      @dappermink  3 ปีที่แล้ว

      Thank you so much!

  • @fizzyeltsuo
    @fizzyeltsuo ปีที่แล้ว

    I was struggling with dependent types until I saw this video.

  • @ManojMehra02
    @ManojMehra02 3 ปีที่แล้ว +2

    Hey, Thank you for creating this video. I learnt something new.

    • @dappermink
      @dappermink  3 ปีที่แล้ว

      That's awesome!
      Thanks a lot for the kind comment!

  • @1.2.3.4..5
    @1.2.3.4..5 3 ปีที่แล้ว +2

    Excellent video

  • @joaofrancisco8864
    @joaofrancisco8864 3 ปีที่แล้ว +1

    "theorem quickmaths" really got me

    • @joaofrancisco8864
      @joaofrancisco8864 3 ปีที่แล้ว +1

      oh, and great video btw! i had never heard of Type Theory before, but now i'm eager to learn more about it

    • @dappermink
      @dappermink  3 ปีที่แล้ว +1

      @@joaofrancisco8864 Thanks a lot!
      I too never heard of Type Theory until recently, SoME1 and the fact it's so hard finding content on this topic pushed me making this.
      But even with only the very little I know, there is yet so much more (and way more fascinating) to cover.
      If I manage to improve my audio quality, then I just need to cover more!

    • @joaofrancisco8864
      @joaofrancisco8864 3 ปีที่แล้ว +1

      @@dappermink please do!

  • @hugeride
    @hugeride 3 ปีที่แล้ว +1

    This videos is too good to keep with this audio quality! You should remake it! Thank you.

    • @dappermink
      @dappermink  3 ปีที่แล้ว +1

      Thank you!
      I guess remaking it could be a good idea, but if I had some free time I'd rather use it to make a whole new video than just a remake : )

    • @hugeride
      @hugeride 3 ปีที่แล้ว +1

      @@dappermink well that would be even better, although the video is pretty neat. :-)

  • @5hape5hift3r
    @5hape5hift3r ปีที่แล้ว

    Didnt know that national geographic had this type of content

  • @neilclay5835
    @neilclay5835 7 หลายเดือนก่อน +1

    I think you're on to a great idea. I hope you get a better microphone though, because I was struggling quite a bit to hear. Your English is fine. Best of luck.

  • @fyradur
    @fyradur 3 ปีที่แล้ว +1

    Lean is 100% the future of mathematics

  • @ramonjales9941
    @ramonjales9941 5 หลายเดือนก่อน

    amazing vídeo!

  • @WasifHasanBaig
    @WasifHasanBaig ปีที่แล้ว

    This is GOLD

  • @svenskapankako
    @svenskapankako 3 ปีที่แล้ว +6

    The last part where "2+2=2+2" became "2+2=4" and that that implied p could be both 2+2 and 4 was pretty hand wavy. Why could we do arithmetic when it was a type? How do we prove that you can change 2+2 into 4?

    • @dappermink
      @dappermink  3 ปีที่แล้ว

      Well, that part confused me too since I'm only discovering type theory.
      As I understand it, 2+2 is the same as 4 by definition (the definition of sum). 4 is the reduced form of 2+2 so that's why you can replace it wherever you want.
      But I'm not even sure I'm correct. Sorry, the HOTT book probably explains it better.

    • @_okedata
      @_okedata 3 ปีที่แล้ว +7

      we can use the defintion from before.
      2+2 = sum(2,2)
      2+2 = sum(ss 0, ss 0)
      2+2 = s sum(s 0, ss 0)
      2+2 = ss sum(0, ss 0)
      2+2 = ss ss 0
      2+2 = 4
      (i used s instead of the arrow)

    • @svenskapankako
      @svenskapankako 3 ปีที่แล้ว

      @@_okedata Yeah I understand that but why can we do that when 2+2=2+2 and 2+2=4 are types and not values. There might not be a difference.
      I think it's mostly that I don't know the rules, so this type of proof feels like your inventing things you can do.

    • @CanIHaveSomeMore
      @CanIHaveSomeMore 3 ปีที่แล้ว

      @@dappermink if "2+2 is the same as 4 by definition" than proving 2+2=4" as described is a circular argument, or at least a redundant one.

    • @dappermink
      @dappermink  3 ปีที่แล้ว

      @@CanIHaveSomeMore That's not really circular, you can reduce 2+2 to 4 using the sum definition, and then you can use the refl constructor to proof that 2+2=4 is inhabited.

  • @sohangchopra6478
    @sohangchopra6478 3 ปีที่แล้ว +2

    Nice video! Unlike some other videos I watched on Type Theory and Category Theory (they are related), this one was actually interesting, and not a dry / boring video.
    I have been looking to learn type theory (mainly because I like Haskell). Is there any good video resource you would recommend?

    • @dappermink
      @dappermink  3 ปีที่แล้ว

      Thank you so much!
      I'm sorry, I'm not aware of any good video resources on the topic since that's the reason why I made my own : (

  • @alfheiureddasigurardottir5427
    @alfheiureddasigurardottir5427 3 ปีที่แล้ว +1

    Excellent video! It made me interested in type theory 😊

    • @dappermink
      @dappermink  3 ปีที่แล้ว

      Thank you so much!!

  • @LakanBanwa
    @LakanBanwa 2 ปีที่แล้ว +1

    Great video, you got a new subscriber! I also like lean and have been enjoying going through it recently!! Now, when you get into the proposition as types topic at the 5 minute mark, when you say something is "not provable", shouldn't we really be saying "not provable with *these sets of axioms*"? Or have we somehow found out that this statement is not provable no matter what axioms you choose?
    The latter being an incredibly strong statement leads me to believe we really mean the former.

    • @dappermink
      @dappermink  2 ปีที่แล้ว +1

      Thank you so much!!
      Yes of course, what is provable depends of the set of axioms.
      I suppose you refer to the proposition "if a type has no inhabitant, then it is unprovable".
      What I meant by that is that if you cannot find an inhabitant of a given type, then that means you cannot prove its corresponding proposition. I was using "unprovable" as part of the metalanguage. If you want to PROVE that something is unprovable, you need to prove that it is impossible to construct any inhabitant of its corresponding type.
      That can sometimes be possible by allowing specific axioms, but by default Type Theory is built onto constructivism logic in which you cannot use proofs by contradiction.

    • @LakanBanwa
      @LakanBanwa 2 ปีที่แล้ว +1

      @@dappermink Thanks for the response! I appreciate that clarification into both the type theory and constructivist way of thinking about it as I'm getting myself familiarized with it and getting out of my set theory comfort zone (aside: I have a personal goal of linking it up with categorical ways of thinking about these, e.g. the curry-howard-lambek "isomorphism", I've always been a sucker for redundant ways of seeing the same things I think)
      The intention behind the question originally was a lot less on the technical side. In other words I think it's obvious to us that what's provable depends on the set of axioms we have, but on the other hand I see a lot of people that e.g. go watch Veritasium's video on foundational mathematics, and they come out with this notion of "absolute unprovability" or even worse "math is subjective", "this proves my god and disproves your god", which I have no idea what any of those are supposed to mean.
      To be fair, the latter two are kind of crazy, outlier examples, but here's a take from one of my favorite mathematicians Alon Amit, criticizing even Stephen Hawking take on the Godel incompleteness theorem:
      "The paragraph concludes with
      "Thus mathematics is either inconsistent or incomplete. The smart money is on incomplete." [quote from Stephen Hawking's article]
      It isn't "mathematics" that is either inconsistent or incomplete. That statement is meaningless. It is certain (not all) formal systems that are used to analyze mathematical proofs which are inconsistent or incomplete."
      (If you want to read the rest of the article, it's Alon Amit's post on quora titled "On Hawking's "Gödel and the End of Physics" ". It's also not a one off, you'll find a lot of posts of his going into how much something like the incompleteness theorems get totally misrepresented even by people who work in heavy mathematics, maybe not necessarily foundational maths of course)
      So to cap this long post, basically although this is quite a lot for something that should be very simple, I think it's something that you might be interested in exploring and clarifying for people not used to thinking this way. At this point you could argue this is moreso epistemology than mathematics (but really, the lines blur, especially in foundational topics ground everything we know so far), but believe it or not a lot of us really suck at despite probably how many proofs we go through in say university. I definitely never had a class on it, I had to learn the hard way.

    • @LakanBanwa
      @LakanBanwa 2 ปีที่แล้ว +1

      @@dappermink I think at this point I should offer a tl;dr, but basically, just like the other kind people who also devote their time to communicating yet another subject: quantum mechanics have to deal with, foundational mathematics sadly also attracts a lot of woo who misinterpret both communities. Otoh you might even see it as a "glass half full" thing and see opportunity there to cover something about it if you find epistemology interesting. (to me I use it as an excuse to trojan horse in my love of math, but disguise it as something else to not necessarily math people :D )

  • @dicipuluscaptiosus
    @dicipuluscaptiosus 2 หลายเดือนก่อน

    Excellent, really nice to see more videos on Type theory
    (soryy but)
    zis video is nice , In ozer videos they just prezent zeorems
    I like french english accent

  • @TheRedbeardster
    @TheRedbeardster 3 ปีที่แล้ว +1

    oh, monsieur, merci beaucoup! :) but what if i need to go deeper and prove, say, the code written in Erlang or anything not related to arithmetics?

    • @dappermink
      @dappermink  3 ปีที่แล้ว

      Haha thanks!
      I don't know much about this yet since I am very new to the topic, so I wish you best of luck for your online researches if you're interested ( :

  • @veysel7232
    @veysel7232 2 ปีที่แล้ว

    Thanks for the video. It helped me a lot to understand programming language theory. Are there books you read or that can help me understand logic.

    • @dappermink
      @dappermink  2 ปีที่แล้ว

      Sorry I don't know any book about logic since I mostly studied it at uni and with wikipedia, but I suppose you can find some quite easily.
      Please note that type theory doesn't use classical logic but intuitionistic (or constructive) logic instead

  • @Phymaths
    @Phymaths 3 ปีที่แล้ว +1

    Your animations are really good. Which platform do you use for it? Thanks

    • @dappermink
      @dappermink  3 ปีที่แล้ว +1

      Thank you, I used manim, an animation tool using Python made by 3b1b

    • @Phymaths
      @Phymaths 3 ปีที่แล้ว

      @@dappermink ohh I see. Thanks

  • @tubex1300
    @tubex1300 ปีที่แล้ว +1

    Sir in minute 6:59 u list down the comparison of the type theory to the logic do you have full books that talk about it

  • @mlliarm
    @mlliarm 2 ปีที่แล้ว +1

    A really nice video thank you. The only negative I found was the sound. I think you might need a better microphone.

  • @islandcave8738
    @islandcave8738 3 ปีที่แล้ว +1

    0 is not a natural number. 0 is a whole number. Natural numbers are integers that start with 1. Whole numbers are integers that start with 0. Integers are 0 and positive and negative integrals.

    • @dappermink
      @dappermink  3 ปีที่แล้ว +3

      It really depends on your definition. The wikipedia page of natural numbers says there are two major distincts definitions: with or without zero. And with zero seems to be the standard one by the way.
      But anyway, here I am talking about the natural numbers as defined in Type Theory, and those include the zero.

  • @a0um
    @a0um 2 ปีที่แล้ว

    I really liked the graphic rendering of the formulas. May I ask what software you used?

    • @dappermink
      @dappermink  2 ปีที่แล้ว +1

      Thank you!
      Sure, it's manim, created by 3blue1brown

  • @fourdee3402
    @fourdee3402 7 หลายเดือนก่อน

    i like this video.

  • @encapsulatio
    @encapsulatio 2 ปีที่แล้ว +1

    Is there a book(or multiple books) that's considered gold standard for learning all the logic necessary in type theory that is used in different papers on gradual types, dependent types?
    Thank you

    • @dappermink
      @dappermink  2 ปีที่แล้ว

      There is this one that I used (HoTT), it introduces the basics
      homotopytypetheory.org/book/

  • @cmilkau
    @cmilkau 3 ปีที่แล้ว

    The real Gödel theorem is that his results may never be quoted correctly.
    It is absolutely possible to prove the consistency of theories and has been done several times. What Gödel proved is that you cannot use a theory (powerful enough to include arithmetics) to prove its OWN consistency. You need a more powerful theory, which obviously could be inconsistent itself.

    • @dappermink
      @dappermink  3 ปีที่แล้ว +1

      I know, that's exactly what I wrote on the video but I simplified what I said because I didn't want to talk about Peano arithmetics without explaining what it is and those details didn't feel that important for what I wanted to explain here so I chose to leave them only on the video as text.

  • @ianmathwiz7
    @ianmathwiz7 3 ปีที่แล้ว +1

    Do all types correspond to a logical proposition? If so, what proposition does the Boolean type correspond to? Or the integer type?

    • @dappermink
      @dappermink  3 ปีที่แล้ว +2

      I am very new to type theory and far from perfectly understanding the topic, so if anyone more knowledgeable that me could clarify that it would be awesome!
      Anyway, as far as *I* know, all types do correspond to logical propositions, but the common types (Bool, Integer, ...) are to trivial to express anything interesting: they simply state that they can be inhabited, namely that there exists a bool, or that there exists an integer. And providing an integer is indeed an element of that type and a constructive proof that integers do exist.
      It gets more interesting with dependant types who are inhabited depending on specific values, such as the "A or B" type. Since this type has only two constructors, the first one requiring an element of A and the second an element of B, having an element of "A or B" is indeed a proof that you either have A or have B.
      Hope I could make this a bit clearer!

  • @Kram1032
    @Kram1032 3 ปีที่แล้ว +2

    Very nice but you probably also want to explain what you are doing during the Lean coding section as the notation is different from what you did in the video up to that point

    • @dappermink
      @dappermink  3 ปีที่แล้ว

      Thank you!
      You're right, I should have done that. I will maybe do videos dedicated to Lean in the futures anyway (if I can find a way to improve the audio haha)

  • @esquilax5563
    @esquilax5563 3 ปีที่แล้ว +1

    Hmm, type theory always seemed to me to be making simple things unnecessarily complex, and this video hasn't dispelled that impression. I've still subscribed though, I'm curious to see what else you have to say about it!

    • @dappermink
      @dappermink  3 ปีที่แล้ว +2

      Thank you!
      Type Theory is a math foundation, it doesn't seem more complicated to, say, ZFC, if you've seen how numbers are defined in this theory.
      As I understand it, the benefits of Type Theory are among other things, the fact they use the same language for the logic and the maths, and that it's easier to implement it in proof assistants, since you just need to make a function in a typed language to prove a theorem.
      In my opinion, set theory seems more like... just an encoding: using sets to encode concepts. Think of the formal definition of a function for instance. On the other hand, the type theory definitions seem much more intuitive and direct.
      Really, just compare the positive integers definition in set and type theories

  • @Xayuap
    @Xayuap 3 ปีที่แล้ว +1

    isn't = a function that takes two numbers and maps to a Boolean?
    N × N -> B

    • @dappermink
      @dappermink  3 ปีที่แล้ว

      In most programming languages, yes. But that's not what we want here:
      We want a type for every possible equality (1+1=2, 5=42, x+4=0, ...) and we don't want it to be reduced to a boolean that tells us if the equality stands or not yet.
      Instead we want to have a constructor for all equality types that are true, but only for these ones.
      So we want to be able to find elements of the type "1+1=2" (such elements would be proofs that "1+1=2") but we want it to be impossible to find elements of the type "5=42" meaning it's impossible to prove that "5=42".
      What's important with that approach is that we're then able to prove propositions including equalities with variables such as "for all x, y in Nat, x+y=y+x". That's a proposition that is true, and so also a type that has inhabitants. If the equality returned a boolean instead, we couldn't write this proposition since "x+y=y+x" would then just be an alias for either true or false depending on your definition.
      I'm not sure if that can help you understand it better, but I hope it does!

  • @a0um
    @a0um 2 ปีที่แล้ว +1

    Is there any book you’d recommend to self-study type-theory?

    • @dappermink
      @dappermink  2 ปีที่แล้ว +2

      I personally read Homotopy Type Theory (HoTT) but it is not only focused on type theory and since this is the only book I'm reading, I don't really know if there are better ones, sorry

  • @abdelhakimakodadi3073
    @abdelhakimakodadi3073 2 ปีที่แล้ว +1

    Oh, 3blue1brown has become 1blue1white1red :P

    • @dappermink
      @dappermink  2 ปีที่แล้ว

      Shit, my secret identity is not that secret anymore 😢

    • @abdelhakimakodadi3073
      @abdelhakimakodadi3073 2 ปีที่แล้ว

      ​@@dappermink From a pie chart to a stack bar chart lol. Nice video btw, keep em coming

  • @NoNameAtAll2
    @NoNameAtAll2 3 ปีที่แล้ว +1

    since you do talk about Lean, maybe cover "Natural Numbers game"?

    • @dappermink
      @dappermink  3 ปีที่แล้ว +1

      Didn't know it, it's amazing!
      Thanks!!

  • @emtomb
    @emtomb 3 หลายเดือนก่อน

    This looks like First Order Logic, with extra steps. What in particular makes Type Theory different?

  • @harveyroper5526
    @harveyroper5526 3 ปีที่แล้ว +2

    i’m stuck around the 5:23 mark. What exactly do you mean by a ‘proof of proposition A’ like more specifically what are you saying?

    • @dappermink
      @dappermink  3 ปีที่แล้ว +1

      That's the tricky and mindblowing part:
      There is a perfect correspondance between types/inhabitants and propositions/proofs
      Say you have a type A, it corresponds to a logical proposition.
      If you can find an inhabitant of A, then this inhabitant corresponds to a proof of the corresponding logical proposition.
      As a trivial and non interesting example, the type "bool" corresponds to the logical proposition "there exists a boolean". You are able to construct an inhabitant of bool: for example "true" has the type bool. Therefore, using this analogy, it means "true" is a proof of the proposition "there exists a boolean", and indeed that makes sense since providing true which is a boolean effectively proves there exists a boolean.
      Now that may not seem interesting since bool is a type you can always construct, so I will give a second more interesting example:
      A -> B is a the type of functions that takes as input inhabitants of A and returns inhabitants of B.
      For example f(x) = 2x is an inhabitant of the type R -> R.
      This type also corresponds to a logical proposition: it corresponds to "A implies B" which in logic means "If you have A, then you also have B".
      As an example I will define A to be "It's raining" and B "The ground is wet"
      "A -> B" therefore corresponds to the proposition "if it's raining, then the ground is wet"
      So how could be prove such a proposition: well, as said earlier we just need to find an inhabitant of this type, namely a function that takes as input an inhabitant of A and outputs an inhabitant of B.
      In other words, such a function will take a proof that it's raining and provide a proof that the ground is wet. It's like a machine that can prove the ground is wet if you already know it's raining, so having such a function is indeed a proof that you have the implication "if it's raining then the ground is wet".
      Suppose you have "a : A" (a proof of A), then using your function "f : A -> B" (a proof that A implies B), then by applying "a" as a parameter of the function "f", you can get "b := f(a) : B" (a proof of B).
      What I just did there is the equivalent of the modus ponens which is an inference rule in logic that states if you have A and A implies B, then you can deduce B.
      There are type equivalences to every logical proposition you can think of, so if you want for instance to prove the infinitude of primes, then there exists a type that corresponds to "there are infinitely many primes" and if you want this proposition to be correct you will need to find an inhabitant of this type.
      As a last example, "1+1=2" and "1+1=3" are both types that exist. However, while it's possible to find inhabitants of the former, it's impossible to find any inhabitant of the latter (meaning the first proposition is provable but the second one is not).
      I hope I could clarify a bit this analogy that just took me way too long to understand personally.

    • @harveyroper5526
      @harveyroper5526 3 ปีที่แล้ว +1

      ​@@dappermink Thank you for the explanation. I have some familiarity with propositional logic, am I correct in saying that when you say a is some proof of A, it is equivalent to proving the existence of some object a which satisfies A?
      I thought the way you draw the parallel between logic and type theory to be really interesting and made a lot of sense. I would have liked it though if you had been more delicate with your explanation of logic, since despite having studied logic, I found myself a little lost by the assumptions that you were making.
      Otherwise fantastic video, and thank you for the further explanation!!

    • @dappermink
      @dappermink  3 ปีที่แล้ว

      @@harveyroper5526 Yeah you're entirely right (as for how I understand it). This parallel is named "propositions as types" which is a special case of the "Curry-Howard correspondence" if you're interested.
      Yeah, I'm sorry it was kinda hard to explain for me.
      Thank you so much!

    • @harveyroper5526
      @harveyroper5526 3 ปีที่แล้ว +1

      @@dappermink I will have to look into that. All the best :)

  • @davidwild2962
    @davidwild2962 3 ปีที่แล้ว +1

    How numbers are represented here, reminds me of lambda calculus

  • @lloydgush
    @lloydgush 3 ปีที่แล้ว

    Is that for 3B1B? Great video!

    • @dappermink
      @dappermink  3 ปีที่แล้ว

      Yeah it was, thanks a lot!

  • @MCRuCr
    @MCRuCr ปีที่แล้ว

    I think in type theory, there is no Bool Type. Instead true is defined as the Unittype (which has one instance I guess) and false is defined as the EmptyType (that has no instance)

  • @artey6671
    @artey6671 3 ปีที่แล้ว +1

    1:51 How does that make sense? 1+2P mod p ist 1, so (1+2P)/p is never an integer, so that sin is never 0, so the product is not 0.

    • @dappermink
      @dappermink  3 ปีที่แล้ว

      If 1+2P is a prime number, then it's just one of the p's,
      and if it's not, then that means it is divisible by some prime number p.
      In either case, the fraction is gonna be one for at least one of the p's.
      Your observation is also correct. That's why we have a contradiction.
      (yeah it's a really convoluted proof that hides its details but at least it fits on the screen 😅)

    • @artey6671
      @artey6671 3 ปีที่แล้ว

      @@dappermink Well, in the latter case the fraction would never be 1, but some integer, which is all we need. Still, that's the most awkward way of writing it. It's kind of a predicate logic statement translated into numbers. I'm not sure whether that's smart or just silly. But there's a relation between \pi and prime numbers, so maybe \pi would be an integer if there were only finitely many primes, so the product being positive could be wrong. ;)

    • @artey6671
      @artey6671 3 ปีที่แล้ว

      @@dappermink Don't mind what I said about \pi being an integer, it probably is unrelated.

    • @dappermink
      @dappermink  3 ปีที่แล้ว

      @@artey6671 Well, that's just a weird way to encode the supposedly finitude of primes into a number, and then showing this number can't exist. \pi and \sin just seem to help making this encoding haha

  • @mr-ubik
    @mr-ubik 3 ปีที่แล้ว

    Pronunciation is not an issue actually, just the mic quality, I'd recommend (as others said) to get a good mic

  • @KasperDahlTangen
    @KasperDahlTangen 3 ปีที่แล้ว +1

    You actually forgot … -1 = 3 for it to be quickmaths

    • @dappermink
      @dappermink  3 ปีที่แล้ว +1

      damn you're right :(

  • @Aesthetycs
    @Aesthetycs 2 ปีที่แล้ว +1

    It is not clear to me at the end how come you presume the type of 2+2 and the type of 4 to equate.

    • @dappermink
      @dappermink  2 ปีที่แล้ว +1

      That is because, by definition, 2+2 and 4 both reduce to the same expression:
      4 = s(s(s(s(0))))
      2+2 = s(s(0))+s(s(0))
      =s(s(s(0))+s(0))
      =s(s(s(s(0)))+0)
      =s(s(s(s(0))))
      That's kinda as if 2+2 were just an alias for 4 in this theory. Though I agree that's not the best example I could have chosen...

    • @Aesthetycs
      @Aesthetycs 2 ปีที่แล้ว +2

      @@dappermink Thank you for kindly replying to my first comment on TH-cam. I appreciate it.

    • @dappermink
      @dappermink  2 ปีที่แล้ว

      @@Aesthetycs No problem at all haha

  • @munol2524
    @munol2524 11 หลายเดือนก่อน

    your way of speech sounds similar to Professor Altenkirch who covered Type Theory on Computerphile.
    Are you two the same person ?

  • @TheWonderfulMageofOz
    @TheWonderfulMageofOz 2 ปีที่แล้ว

    MOAAARRRRR

  • @kaiserouo
    @kaiserouo 3 ปีที่แล้ว +1

    I am taking a course of Introduction to Computational Logic this semester, and this video would a very good addition to what I just learnt.
    Actually, if I didn't take that class, I would not have a single idea what this whole thing is about...

    • @dappermink
      @dappermink  3 ปีที่แล้ว

      Thank you!
      I wish I had courses covering this topic, or at least something close haha

  • @gamekiller0123
    @gamekiller0123 3 ปีที่แล้ว +1

    Axioms are not arbitrary. You can do mathematics with any axioms, but you can't do interesting mathematics with any axioms, and you can't do useful mathematics with any axioms, and you can't do understandable mathematics with any axioms.

    • @dappermink
      @dappermink  3 ปีที่แล้ว +1

      Yeah, humans prefer using axioms they can make use of and that are easier to reason about.
      But my point for the video was just that anything is technically ok as long as they don't let you conclude some contradictory statements.

  • @sloan00
    @sloan00 หลายเดือนก่อน

    What happened to your microphone?;; Did you smash it before recording?

  • @Xayuap
    @Xayuap 3 ปีที่แล้ว

    ¿did you define what is + of types?

    • @dappermink
      @dappermink  3 ปีที่แล้ว

      No I only defined the sum (+) of Nats

  • @johndebord7802
    @johndebord7802 3 ปีที่แล้ว +1

    1:07 is Gödel contradicting himself?

    • @dappermink
      @dappermink  3 ปีที่แล้ว

      No, he's just proved that if a system can prove his own consistency, then it implies some contradiction. I'm not sure to understand what you're asking, tell me if I don't get it

    • @johndebord7802
      @johndebord7802 3 ปีที่แล้ว +1

      @@dappermink Our English language is a system, therefore there's no way to prove what Gödel is trying to prove?

    • @dappermink
      @dappermink  3 ปีที่แล้ว

      @@johndebord7802 As far as I know, he proved it into the Peano system, not English, so any system that includes Peano arithmetics is either incomplete or inconsistent (or both).

  • @kyspace1024
    @kyspace1024 3 ปีที่แล้ว +1

    The final example is too trivial that I am afraid if I have never used Refl myself I will totally lose the point.

    • @dappermink
      @dappermink  3 ปีที่แล้ว

      I guess you're right, I should have shown how to proof that a+b = b+a but that would have been way longer
      Or maybe the modus ponens?

  • @mrl9418
    @mrl9418 3 ปีที่แล้ว

    "Because we're basically insatiable and we'll gobble up whatever mathematical theory that comes our way." How about that?
    Video would be too short, I have to admit 😁

  • @thegamechanger7157
    @thegamechanger7157 3 ปีที่แล้ว

    Your bullying me, I can't do Js.
    I will make Jarvis, and make it program for me

  • @peterwaksman9179
    @peterwaksman9179 10 หลายเดือนก่อน

    You obfuscated at the key moment of 2+2.

  • @arnaudparan1419
    @arnaudparan1419 3 ปีที่แล้ว +1

    the video is great but the sound quality is not great, it might help you to use a pop filter. Also a better quality mic would be really nice.

    • @dappermink
      @dappermink  3 ปีที่แล้ว +1

      Thank you!
      Yeah I am really sorry for the poor audio quality, I will definitely need to improve that for future videos, so thanks for thr advices!

  • @MCRuCr
    @MCRuCr ปีที่แล้ว

    1:51 is that a valid proof for infinite primes? Does not make any sense to me

    • @dappermink
      @dappermink  ปีที่แล้ว

      It is haha, there is a video explaining it if you want:
      th-cam.com/video/-v6yPtM4VLA/w-d-xo.html

    • @MCRuCr
      @MCRuCr ปีที่แล้ว

      @@dappermink thank you 😊

  • @thetrickster9885
    @thetrickster9885 3 ปีที่แล้ว +1

    Bro r u franceh

    • @dappermink
      @dappermink  3 ปีที่แล้ว

      I am haha

    • @thetrickster9885
      @thetrickster9885 3 ปีที่แล้ว +1

      @@dappermink nice your video are really good. Keep it up man. 😎👍

    • @dappermink
      @dappermink  3 ปีที่แล้ว

      @@thetrickster9885 Thanks a lot! : )

  • @sharan9993
    @sharan9993 3 ปีที่แล้ว +1

    bro ur voice has a lot of dispersion. It is hard to hear anything. Change it.

  • @k_meleon
    @k_meleon 3 ปีที่แล้ว

    tu es francais ?

    • @dappermink
      @dappermink  3 ปีที่แล้ว

      Évidemment 🙃

  • @herrefaber999
    @herrefaber999 3 ปีที่แล้ว +1

    Bad sound, bad voice, bad accent. Don't watch.

  • @danhabib3441
    @danhabib3441 3 ปีที่แล้ว

    Merci 😂

  • @miro.s
    @miro.s 3 ปีที่แล้ว +2

    Great video, but hard to follow due to pronunciation. It would help to include English subtitles.

    • @dappermink
      @dappermink  3 ปีที่แล้ว

      I know, I apologize for the audio quality and my accent.
      But I did add English captions!

  • @laurenpinschannels
    @laurenpinschannels 3 ปีที่แล้ว

    wow. fucked up iff true...

  • @Eknoma
    @Eknoma ปีที่แล้ว

    Imagine being French

  • @humanperson2375
    @humanperson2375 3 ปีที่แล้ว

    I can't watch this. I'm sorry, but I can't understand half of any sentence

    • @dappermink
      @dappermink  3 ปีที่แล้ว +4

      I'm sorry, both my English accent and my microphone are catastrophic. I added English captions though if that can help.

  • @3a146
    @3a146 8 หลายเดือนก่อน

    If I were to fit the 4 corners, I would do ≡, U, ∑, ∏.

  • @nilp0inter2
    @nilp0inter2 3 ปีที่แล้ว +1

    Great video!

  • @joaosilveira29
    @joaosilveira29 6 หลายเดือนก่อน

    Great video!