etb: (enthusiastic)
I just discovered that the pdfpages TeX package can add page numbers to PDFs. Here is a terrible shell script.

This usericon has never been so appropriate.

Sadly, it strips hyperlinks, because pdfpages strips hyperlinks, because we live in a fallen world. But IME, hyperlinks aren't terribly useful on paper.
etb: NO SMOKING sign altered to MOOING in a Pittsburgh bus (MOOING)
If you, like me, are amused by randomly using full-width  characters, how do you type them? I used to use some German website that made Opera crash, but I recently wrote an SML command-line program to get them. If I had XML-generation skillz, I'd make an OS X keyboard layout for them, but I don't, and don't feel like spending half an hour in Ukelele doing it by hand. (It would have to be a separate layout from the one that lets me type

◄◄ Γ ⊢⊃◻⊆ σℍιτ Łικε ⊤hιs ⊣ Δ ►►,

because I pretty much filled that one up, unless you count "dead keys", and typing a dead key before each and every full-width character would get old really fast.)
etb: entailment of BBQ under assumption OMG in the WTF system (omgwtfbbq)
The usual story (e.g. TAPL chapter 20) is that either:
  • You have explicit "roll" and "unroll" term constructors (or "fold" and "unfold" if, unlike a cat, you don't enjoy rolling around on the ground) to introduce and eliminate the μ connective. This means that μα. 1 + α is definitely not the same type as [(μα.1+α) / α](1 + α) = 1 + (μα. 1+α): the type μα. 1 + α is inhabited by

    roll (inj1 ())

    (but not by inj1()) and 1 + (μα. 1+α) is inhabited by inj1(), but not by roll (inj1 ()). And then you call what you have "iso-recursive", because (μα. 1 + α) ≠ 1 + (μα. 1 + α), though there is an isomorphism between them. Or…
  • You don't have "roll" and "unroll", so you make μα. A(α) ~definitionally equal~ to A(μα. A(α)), meaning that you can't tell them apart, they're just different ways of notating exactly the same type.
But I think there's a sleight-of-hand in the "so" in the last sentence there. Why should those types have to be definitionally equal? It's perfectly fine for intersection type systems to have types that are "equivalent", in the sense of being mutual subtypes—like (A∧B) ≤ (B∧A) and (B∧A) ≤ (A∧B)—without waving around definitional equality and legislating that A ∧ B and B ∧ A are the same type expression. What I'm reading about recursive types seems to jump from "no explicit rolls" to "these types have the same inhabitants"—yes, sure—and then to "these are indistinguishable type expressions", which seems…anti-motivated (TAPL: "induction on type expressions…naturally no longer works").

I'm looking at this now because the "All Your Evaluation Order" draft currently has no rolls and unrolls in the source language, which led me to write in the draft that it's "equi-recursive", which led me to go back to TAPL to make sure I'm talking about it correctly. And now I guess I'm not, because I don't intend to wave a mace around just so I can declare that two types connected only by some isomorphism are "equal".

If I don't get this sorted, I'm just going to start rolling around: the draft's target language does have "roll", and the value of saying "ha ha bidirectional typing doesn't need any silly explicit 'rolls' in the source language" is low thanks to some other design decisions I've made, so silly explicit "rolls" are The Construction to Which No One Will Object. (I have no implementation of any of the four type systems who have walked into this bardraft, anyway, so it shouldn't matter too much if the source language is clunky in this respect.)
etb: (enthusiastic)
Ursula Le Guin once talked charmingly earnestly (around 38:00) about how Bruce Springsteen is a great artist and totally a poet.

(A couple minutes later, they play a clip from The Matrix and she cracks up, which is also awesome.)
etb: entailment of BBQ under assumption OMG in the WTF system (omgwtfbbq)
(Datasort refinements and pattern typing. May not be comprehensible without unusual specialist background. May not be comprehensible to anyone but me at this moment. That's just how I roll.)
Go through the door marked 'Unicode' )
etb: (latin stun maths)
It is questioned whether ether has qualities

The skimming of History of Indian Logic continues. I tried to actually understand a section on one of the works of Dignaga, of the "mediaeval school" of Buddhist logic, and became utterly baffled. This, despite the author lapsing into symbolic logic.

(Aside: "…according to the doctrine of Apoha (called in Tibetan gshan-sel-wa), an entity is defined as being the negation of its opposite, e.g. a cow is that which is not a not-cow.")

Another section (also on Dignaga), called "Fourteen Fallacies" (pp. 293–), is lighter:
(1) "When the lack of truth of the middle term* is recognized by both the parties, e.g.
Sound is non-eternal,
Because it is visible.
(Neither of the parties admits that sound is visible).

(2) When the lack of truth of the middle term* is recognized by one party only, e.g.
Sound is evolved,
Because it is a product.
(The Mimamsakas do not admit that sound is a product).
* That is, the "middle term" (predicate, e.g. "smoky(–)") applied to the subject: "smoky(the_hill)", or "is_visible(sound)", or "is_a_product(sound)". Sometimes, it seems to refer to the predicate per se. Joy.

This is excellent: the assumed context is a disputation between two parties. If you are a Mimamsaka, your opponent cannot argue on the basis that sound is produced. A syllogism is valid within a disputation only if both disputants accept the premises.

Subsequent fallacies enumerate various instances of "not(both disputants accept the premises)": fallacy (4), for example, describes when "it is questioned whether the middle term is predicable of the minor term, e.g.
Ether is a substance,
Because it has qualities.
(It is questioned whether ether has qualities).
Well, I suppose it is.

Another "huh" moment was a discussion of "valid theses", such as "the hill is fiery" (because the hill is smoky, etc.). So: "Sound is inaudible" is invalid, because this assertion is "incompatible with perception". "A pot is eternal" is invalid, because it is a product, and all products are non-eternal. Also invalid: "A thesis incompatible with the public opinion":
(Or, "money is an abominable thing." I or some men like me may say "money is an abominable thing," but the world does not say so).
More invalid theses: those "incompatible with one's own belief or doctrine", "with one's own statement", and "with an unfamiliar term":
The Buddhist speaking to the Samkhya, "Sound is perishable." (Sound is a subject well known to the Mimamsaka, but not to the Samkhya.)
But my favourite invalid thesis is described thus:
A thesis universally accepted, such as: "Fire is warm." (This thesis cannot be offered for proof, as it is accepted by all.)
Again, the central concern is not truth of the thesis, but whether the thesis can induce a meaningful debate. If both parties already agree, there is no point in examining a proof!
etb: entailment of BBQ under assumption OMG in the WTF system (omgwtfbbq)
A History of Indian Logic, pp. 240–241:
The following dialogue between Milinda [the Greek King Menander of Bactria] and Naga Sena is quoted to show what was thought to be the proper mode of carrying on debate in the days of those notable persons:—
The King said: ‘Reverend Sir, will you discuss with me again?’
    ‘If your Majesty will discuss as a scholar (Pandita), well; but if you will discuss as a king, no.’
    ‘How is it then that scholars discuss?’
    ‘When scholars talk a matter over with one another, then is there a winding up, an unraveling; one or other is convicted of error, and he then acknowledges his mistake, distinctions are drawn, and contradistinctions; and yet thereby they are not angered. Thus do scholars, O King, discuss.’
    ‘And how do kings discuss?’
    ‘When a king, Your Majesty, discusses a matter, and he advances a point, if any one differ from him on that point, he is apt to fine him, saying: “Inflict such and such a punishment upon that fellow!” Thus, Your Majesty, do kings discuss.’
    ‘Very well. It is as a scholar, not as a king, that I will discuss. Let Your Reverence talk unrestrainedly, as you would with a brother, or a novice, or a lay disciple, or even with a servant. Be not afraid!’
etb: (latin stun maths)
Based on some links [livejournal.com profile] chrisamaphone tweeted a while back—and because UBC has decent (and English-language) libraries—I checked out Vidyabhusana's A History of Indian Logic. I've been reading (and tweeting) odd passages from it, usually just for amusement; the book was finished in 1920 (this copy seems to have been printed around 1971, though the paper is decaying so fast that I assumed it was printed in the 1920s).

The examples are not the typical ones found in European logic. The role of the default Aristotelian syllogism, headed by "All men [sic] are mortal" ("major premise"), seems to be played by a syllogism headed by "This hill is fiery" ("proposition"). The Indian syllogism (avayava) has five "members": a proposition, a reason, an "explanatory example", an "application of the example", and a restatement of the proposition (conclusion).
The five members may be fully set forth as follows:—
(i) Proposition—This hill is fiery.
(ii) Reason—Because it is smoky.
(iii) Example—Whatever is smoky is fiery, as a kitchen (homogeneous or affirmative).
(iv) Application—"So" is this hill (smoky)—(affirmative).
(v) Conclusion—Therefore this hill is fiery. (page 61)
Since the first and last members are the same, the syllogism looks like a four-place relation. The fourth member, "Application", also seems redundant, which gives a three-place relation. But the "explanatory example" really includes both a quantified implication (≈∀X. smoky(X) ⊃ fiery(X)) and an instantiation (a kitchen). So, boiling it down (on the kitchen fire):
(i) This hill is fiery.
(ii) Because this hill is smoky.
(iii)(a) Whatever is smoky is fiery—
(iii)(b) for example, a kitchen.
We can make this look like a judgment of the form

(i)conclusion ⇐ (ii)reason〈(iii)(a)quantified-implication, e.g. example〉

this hill is fiery ⇐ this hill is smoky〈whatever is smoky is fiery, e.g. a kitchen〉

Reading this right-to-left, this looks like the all-men* syllogism:

whatever is smoky is fiery
this hill is smoky
∴ this hill is fiery

except that the example is omitted. This is interesting: the Indian syllogism, as an inference rule, has all the usual components of a combined ∀-elim/⊃-elim, plus an example. You can't use the rule unless you give an example of something that is both smoky and fiery; the set you're quantifying over can't be empty!

I don't want to overstate this; even from the fragments of the book I've read, it seems that the members of the syllogism can often be omitted. Moreover, a syllogism can use negative or heterogeneous reasoning: "whatever is not fiery is not smoky, as a lake", which doesn't incur a non-vacuousness obligation (or rather, you have to show that the complement is nonempty). But the default form of syllogism does seem to require giving an example.

This may have practical significance, at least if we trust the following anecdote (which I heard via my brother; who knows how many adventures it's had along the way):

A graduate student was defending their dissertation, which proved many interesting theorems about a particular topological structure—~manifolds satisfying properties P, Q, and R~. A random faculty member (not on the student's committee) showed up to the defense**. After the student's talk, the random faculty member asked, isn't your entire thesis vacuous for the following trivial reasons? Whereupon the random faculty member showed*** that

∀m. (P(m) ∧ Q(m) ∧ R(m)) ⊃ ⊥

And sadness descended.

In the version I heard, the student managed to rewrite their thesis so it stated theorems about manifolds that actually existed. But if only they'd been in the habit of finding suitable kitchens…

* #NotAllMen.
** This supposedly happened somewhere in the US.
*** With far more verbal scaffolding, of course.

Update: A few minutes after posting this, I found another passage, summarizing some writings of Māṇikya Nandi, who wrote "a standard work on Jaina logic" and who "seems to have lived about 800 A.D." He discussed the terms of a syllogism, summarized thusly (p. 191):
Example is superfluous.

The middle term and the major term are the parts of an inference, but the example is not. Nevertheless for the sake of explaining matters to men of small intellect, the example, nay, even the application and the conclusion, are admitted as parts of an inference.[Untranslated parentheticals omitted.]
That is rude, nonsense, unethical!
etb: (I am still cool)
If you ever have the misfortune of finding yourself in Plano, Texas, make up for it by going to Chennai Cafe.

intimidated by the size of my dosa
INTIMIDATED BY THE SIZE OF MY DOSA
etb: (latin stun maths)
Coherent unrestricted intersection?

A, B sorts ("Curry types", etc.)
A∧B intersection (no refinement restriction)
X, Y types ("Church types", etc.)
e1 // e2 alleged coherent merge (cf. Elaborating…)

Judgments:

   e : A   —e has sort A
   e :: X   —e has principal type X
   A ⊑ X   —A refines X


e1 : A1      A1 ⊑ X1      e1 :: X1
e2 : A2      A2 ⊑ X2      e2 :: X2      X1 ⋈ X2
————————————————————————————
            e1 // e2 : A1 ∧ A2
            e1 // e2 : A2 ∧ A1


⊢ X1 ⋈ X2 read "X1 separate from X2", such that:

• If X ≤ Y or Y ≤ X (where "≤" = at-least-as-polymorphic-as) then ⊬ X ⋈ Y
    (corollary: ⊬ X ⋈ X)
• If X and Y have distinct head constructors then X ⋈ Y
• (X1 * X2) ⋈ (Y1 * Y2) if either X1 ⋈ Y1 or X2 ⋈ Y2
• (X1 + X2) ⋈ (Y1 + Y2) if X1 ⋈ Y1 and X2 ⋈ Y2
• (X1 → X2) ⋈ (Y1 → Y2) if X1 ⋈ Y1 and X2 ⋈ Y2


α ⊑ β ⊢ A ⊑ X
—————————————
⊢ ∀α.A ⊑ ∀β.X
etb: old trolleybus in yard in Cambridge, Mass. (71 WATERTOWN SQ)
I read this piece and mostly agree (modulo that it's about talks at "tech" conferences rather than at academic conferences): As soon as you're more or less okay at delivery and slide-making, stop; every hour you spend is an hour less to do on something more productive and/or more fun, which (unless you're some kind of ~natural born public speaker~) is just about anything.

Working on giving talks is sometimes spun as learning how to explain things, but it's a pretty terrible way of learning how to do that; it's too stressful. If you want to get better at explaining things, write more. If you want to get better at making good diagrams, put diagrams in your writing. Or talk about your research one-on-one. (I think the best way of doing that may be to collaborate with them, rather than try to invent reasons to talk to them.) Or lecture, which (for whatever reason) I find way less stressful than giving a research talk (except, to some extent, the first lecture of the course).

It's very difficult to give a good talk about bad work. In rare cases, you may be able to give an impressive, and probably gimmick-ridden, talk about bad work, which may be merciful in the short term, until people actually try to read the paper. Giving an "impressive" talk about good work is also not ideal: people may remember the gimmicks more than the content. I think the best compliment I've ever received about a talk was that it was "very clean", which is also the kind of compliment that I most treasure about my papers (whether it's about the writing or the actual research). (Having a complete stranger sit down next to me before a session and exclaim, "You gave a really good talk!" is also very gratifying, but too nonspecific.)
etb: (leaving pittsburgh)
[To: Jana Dunfield]
From: Martha Clarke
Date: Fri, 17 Mar 2000 09:04:25 -0500
Subject: Re: CMU weekend

You have appointments with Bob Harper, John Reynolds, Frank
Pfenning, Peter Lee, and several grad students.
It was 2000; I was visiting CMU as a prospective grad student. I don't remember all of the conversation with John Reynolds, but I do remember him asking me what I thought about Java. I was rather nervous throughout those meetings, and doubly nervous from meeting someone who (I had gathered) was particularly great and famous, and must have looked it: John said, "I'm sorry—I didn't mean to put you on the spot." I think I stammered something about how I thought the way the Java virtual machine verified bytecode at runtime was interesting.

What's especially memorable is that he seemed genuinely interested in the views of an undergrad he had just met, and that he didn't "lead the witness" by hinting at his opinion. (I'm not sure he ever did say what he thought, quite possibly because he figured that if I cared about his opinion of Java, I'd ask. Or because it was far too soon to tell.)

(I also remember him saying something like, "I'm kind of unusual around here, I mostly work on imperative programming languages.")

Profile

etb: (Default)
etb

August 2015

S M T W T F S
      1
2345678
91011121314 15
16171819202122
23242526272829
3031     

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 23rd, 2026 11:18 pm
Powered by Dreamwidth Studios