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