Not signed in (Sign In)

Not signed in

Want to take part in these discussions? Sign in if you have an account, or apply for one below

  • Sign in using OpenID

Discussion Tag Cloud

Vanilla 1.1.10 is a product of Lussumo. More Information: Documentation, Community Support.

Welcome to nForum
If you want to take part in these discussions either sign in now (if you have an account), apply for one now (if you don't).
    • CommentRowNumber1.
    • CommentAuthorehogle
    • CommentTimeFeb 26th 2018

    I apologize in advance if this isn’t the right venue for this question, but if someone could point me to the right venue, I’d appreciate it.

    However, on the off chance this is the right venue, I’m trying to learn the basics of HoTT and I’m troubled by something I must not understand about the analogy between ABA\to B in homotopy and ABA\Rightarrow B in logic:

    Suppose I know that propositions AA and BB are true, that is I have a:Aa:A and b:Bb: B. I can construct (introduce?) f:ABf:A\to B by λx.b\lambda x.b. Should I therefore conclude that ABA\Rightarrow B? It seems like I’ve just claimed “any two true propositions imply one another.”

    Where am I going astray?

    • CommentRowNumber2.
    • CommentAuthorehogle
    • CommentTimeFeb 26th 2018
    • (edited Feb 26th 2018)

    Nevermind!

    I didn’t actually use a:Aa:A, and I’m leaning too hard on “implies.” Really, if I know BB is true, then “If AA then BB” is valid for any BB. Even if A=A=\emptyset, my ff above is just the empty function, and ex falso quodlibet.

    Is that right?

    • CommentRowNumber3.
    • CommentAuthorDavid_Corfield
    • CommentTimeFeb 26th 2018
    • (edited Feb 26th 2018)

    Yes, that’s the idea.

    But a dependent type theory such as HoTT offers greater riches. You may have a proposition B(x)B(x), depending on some type AA, and then an element of x:AB(x)\prod_{x:A}B(x) may detect the relevance of the truth of AA for the truth of BB. You may like to see some slides (aimed more at x:AB(x)\sum_{x:A}B(x), so ’and’, though it does end with ’implies’).

    • CommentRowNumber4.
    • CommentAuthorUrs
    • CommentTimeFeb 26th 2018
    • (edited Feb 26th 2018)

    Yes, type dependency makes the difference.

    It is a common theme that people complain that the truth table for implication in classical logic courses

    PQP \Rightarrow Q P=trueP = true P=falseP = false
    Q=trueQ = true true true
    Q=falseQ = false false true

    conveys nothing of the actual idea of implication.

    The resolution is that the actual idea of implication is secretly one in dependent type theory, and that it collapses to the above boring truth table only in the “absolute context”, which is a degenerate case that is not what one typically has in mind, implicitly, when thinking of the concept of “implication”.

    • CommentRowNumber5.
    • CommentAuthorMike Shulman
    • CommentTimeFeb 26th 2018

    A problem which is not helped by the common practice of “implicit universal quantification” (i.e. writing “if P(x) then Q(x)” to mean “for all x, if P(x) then Q(x)”) even in “introduction to proof” textbooks! </rant>

    Although there are also other approaches to this “problem” (if one consideres it a problem) such as relevance logic.

    • CommentRowNumber6.
    • CommentAuthorehogle
    • CommentTimeFeb 27th 2018
    • (edited Feb 27th 2018)

    Thanks! I like this idea that a dependent type could capture an implication in a way that’s sensitive to x:Ax:A. Definitely closer to the idea of implication as we use it colloquially if the reason x:Ax:A that AA is true affects the reason we conclude BB.

    • CommentRowNumber7.
    • CommentAuthorUrs
    • CommentTimeFeb 27th 2018

    if the reason xx is true affects the reason we conclude BB.

    Just to amplify, it’s:

    “…if the reason xx that AA is true entails a reason f(x)f(x) that BB is true”.

    • CommentRowNumber8.
    • CommentAuthorehogle
    • CommentTimeFeb 27th 2018

    Oh, yeah, I was definitely missing some words there. Thank you.

    So this dependent-type-as-a-richer-version-of-implies seems to have more subtlety than I realized at first. As a toy example, say AA has two points, a 1a_1 and a 2a_2.

    Then x:AB(x)=B(a 1)B(a 2)\sum_{x:A}B(x)=B(a_1)\sqcup B(a_2). Suppose B(a 1)=BB(a_1)=B (or maybe just B(a 1)BB(a_1)\subseteq B?) while B(a 2)=B(a_2)=\emptyset. Then I can know AA is true because I know a 2:Aa_2:A, and yet conclude nothing about BB, while on the other hand if I know AA because of a 1:Aa_1:A then I have f(a 1):B(a 1)f(a_1):B(a_1) telling me B.

    Is this right? I can have one proposition implying another in a “well, it depends how you know” way?

    It’s also possible I’ve completely misunderstood what you meant by ff.

    • CommentRowNumber9.
    • CommentAuthorDavid_Corfield
    • CommentTimeFeb 27th 2018

    I’d recommend taking a look at propositions as types. You’ll see that there’s one approach called ’proposition as some types’, where we take a special class of types, called mere propositions, which have at most one element.

    Your AA above can’t be a mere proposition, since B(a 1)B(a_1) is not equivalent to B(a 2)B(a_2).

    If AA is a set with multiple elements, then it won’t be a surprise that the B(a i)B(a_i) may differ.