Zulip Chat Archive
Stream: general
Topic: Is this axiom ok?
deepest recursion (Aug 02 2024 at 11:35):
Hello. I was wondering if this definition could be misused
axiom interchange_subtype {T:Type _}{P:T->Prop}(p₁:{v₁ // P v₁})(v₂:T)(p:P v₂): p₁ = ⟨ v₂ , p ⟩
To me it doesn't immediately appear as something that could cause trouble. Do you see any problems with it?
Floris van Doorn (Aug 02 2024 at 11:38):
This is inconsistent:
axiom interchange_subtype {T:Type _}{P:T->Prop}(p₁:{v₁ // P v₁})(v₂:T)(p:P v₂): p₁ = ⟨ v₂ , p ⟩
example : False := by
have := interchange_subtype (P := fun _ : Bool ↦ True) ⟨true, trivial⟩ false trivial
contradiction
Edward van de Meent (Aug 02 2024 at 12:01):
what this axiom says is: For any condition on a type, if the condition holds for p1
and p2
, they are the same element.
Edward van de Meent (Aug 02 2024 at 12:03):
the example Floris gives takes advantage of the fact that there are multiple elements of Bool
(that satisfy the trivial (always true) condition), which results in (according to your axiom) true=false
, which of course is a contradiction.
Edward van de Meent (Aug 02 2024 at 12:03):
i imagine that this isn't quite the axiom you wanted to introduce...
Edward van de Meent (Aug 02 2024 at 12:03):
could you describe it?
Last updated: May 02 2025 at 03:31 UTC