Zulip Chat Archive

Stream: general

Topic: can't apply proposition to itself?


Kenny Lau (May 24 2020 at 15:54):

def R : Prop :=
 p : Prop, ¬ p

example : Prop :=
R R

Error:

function expected at
  R
term has type
  Prop

Kenny Lau (May 24 2020 at 15:54):

why does R R give an error?

Kenny Lau (May 24 2020 at 15:57):

oh I think this example makes the reason clearer:

def R : Prop :=
 p : , p = 0

example : Prop :=
R 0 -- fails

Kenny Lau (May 24 2020 at 15:58):

then where is my Russell's paradox?

Kenny Lau (May 24 2020 at 15:59):

more nonsense:

def R : Prop :=
 p : Prop, ¬ p

example : ¬ R :=
λ H, H true trivial

Bryan Gin-ge Chen (May 24 2020 at 16:24):

In your first and second examples, R can't be applied to anything, since R is a Prop, not a Pi type. On the other hand, in your first example, given a term r : R it makes sense to write r R, but this doesn't return a Prop, it returns a proof of a Prop (specifically, a proof of ¬ R):

def R : Prop :=
 p : Prop, ¬ p

example (r : R) : ¬ R :=
r R

Last updated: Dec 20 2023 at 11:08 UTC