1

While trying to prove some equality in ssreflect, I got to the following:

WTS: forall (a b: ~ false), a = b

which is basically

WTS: forall (a b: false <> true), a = b.

Knowing that the following holds constructively,

bool_irrelevance (b: bool): (x y: b), x = y

I got to wonder if it is possible to prove WTS constructively. Since the decidable equality required for is given as {x = y} + {x <> y}, I think it might be provable without axioms. Is this provable?

Also, is it possible to prove proof irrelevance for the prop False -> False?

Note, I am indeed fine with using proof irrelevance axiom. Simply asking if there is a way to avoid using the axiom.

Abastro
  • 73
  • 1
  • 6
  • Isn't `false <> true` an abbreviation for `false = true -> False` ? If it is the case you will probably need function extensionality to be able to say anything about the equality of `a` and `b`. – kyo dralliam Sep 08 '21 at 13:53
  • @kyodralliam yes, it is. Is function extensionality strictly needed to talk about it though? Also, if it is indeed needed, can I prove it only with function extensionality? – Abastro Sep 08 '21 at 13:55
  • Function extensionality is generally needed whenever you want to say something about the equality of arbitrary functions. And yes you can prove that for any type `A` and proofs `a,b : A -> False` then `a = b` with function extensionality. – kyo dralliam Sep 08 '21 at 13:58
  • I see, thank you! I want guarantee on whether function extensionality is needed though. On a side note, is function extensionality considered weaker compared to proof irrelevance? – Abastro Sep 08 '21 at 14:17
  • 1
    To see that it is necessary, you can take a model of Coq invalidating function extensionality and check that there exists two terms of your type that are distinct (e.g. take the first $$- \times \mathbb{B}$$ model of [this paper](https://hal.inria.fr/hal-01445835/document)). In general function extensionality and proof irrelevance are probably incomparable, but if you restrict function extensionality to implication between propositions, then it is trivially implied by proof-irrelevance. – kyo dralliam Sep 08 '21 at 15:02
  • @kyodralliam Thank you, this answered the question greatly! Could you formulate it into an answer? – Abastro Sep 09 '21 at 02:15

0 Answers0