Skip to content

Comment on STFUDD

Comments

Nitpicking, but is this any sort of conventional syntax for defining a predicate? I've never seen it before, and I don't find it particularly intuitive...

> ∃ {C(x) : x is a context}

It looks straight out of my college course on logic. The backwards E is the existential operator. C is a verb. The sentence means "a context exists".

That's clearly the intended meaning, but what it really says is that there exists a set whose elements are of the form C(x) where "x is a context" and C is left undefined. This, of course, is meaningless. Understanding is left as an exercise for the reader?

The notation (C(x): x is a context) actually means "C(x) is shorthand for the following sentence: 'x is a context'". C is not undefined, it is the template "___ is a context".

I guess the way the brackets are used may not be standard and could be confusing.

I know what the existential operator is, and C is a predicate, not a verb. But I've always seen predicates defined using lambda calculus (or just English)...this notation makes no sense to me.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.