Open jechev28 opened 7 years ago
Self question: Duplicated of #96?
CC'ing @jorgeacv2.
@jechev28 and @jorgeacv2: I was thinking about this issue.
Let's define xor by
_⊕_ : Set → Set → Set
P ⊕ Q = (P ∨ Q) ∧ ¬ (P ∧ Q)
Can you wrote the above definition in, for example, TPTP? No, you cannot because the above definition is not a FOL-definition.
Let ℝ
be our universe of discourse, that, is
postulate
ℝ : Set
in FOL we can define, n-ary predicates or n-ary functions, that is,
P : ℝ → ... → ℝ → Set -- n-ary predicate
P = ...
f : ℝ → ... → ℝ -- n-ary function
f = ...
c : ℝ -- constant (0-ary function)
c = ...
but we cannot define new logical constants, for example,
_⊕_ : Set → Set → Set
P ⊕ Q = ...
So in the OP (original post), Apia cannot translate the definition of _⊕_
(but it should generates an error though).
For a correct error using definitions see #80.