Jeśli dwie wartości w Agdzie lub innym, zależnie od tego używanym języku, możesz udowodnić, że v₁
nie jest równe v₂
, czy możesz udowodnić, że v₁
jest równy v₂
? To jest funkcja typu ((v₁ ≡ v₂ → ⊥) → ⊥) → v₁ ≡ v₂
?Jeśli dwie rzeczy nie są równe, czy są równe?
To wydaje się być czymś, co można bezpiecznie dodać jako aksjomat, jeśli nie można tego udowodnić, ponieważ nie może być najwyżej jednej wartości v₁ ≡ v₂
.
Powodem tego jest to, że podwójna negacja ((a → ⊥) → ⊥
) tworzy monad. Zwykle nie można wyodrębnić z niego wartości, ale można uzyskać od niego pewne wartości, takie jak ⊥
(jeśli wywodzisz sprzeczność w klasycznej monadzie logicznej, masz sprzeczność). Zastanawiałem się, czy równość jest czymś, co można wydobyć.
Myślę, że można to udowodnić w teorii obserwacyjnego typu, ale nawet jeśli tak nie jest, można postulować istnienie czegoś równego bez przerywania obliczeniowych właściwości systemu. – user3237465