ex:likes).Holdsₙ (and Appₙ for function application). This yields a truth-preserving translation of the higher-order-looking syntax into orthodox FOL.IEXT from property-resources to sets of pairs (their extensions). (W3C)For each arity n ≥ 1, add a predicate:
Holdsₙ(r, x₁, …, xₙ) (“the relation named by r holds of those args”).
Everything you “apply” (predicates, classes, properties) is just a term naming an intension; Holdsₙ links that name to its extension.Optional but common:
ExtEqₙ(r, s) := ∀x₁…xₙ( Holdsₙ(r,x₁,…,xₙ) ↔ Holdsₙ(s,x₁,…,xₙ) ) for extensional equality (distinct from intensional identity r = s). This intension/extension separation is emphasized by Menzel. (jfsowa.com)P(t₁,…,tₙ) ↦ Holdsₙ(P, T(t₁), …, T(tₙ)).∀P φ ↦ ∀p T(φ) (now p ranges over objects naming relations).P = Q stays p = q; extensional equality becomes ExtEqₙ(p,q). (jfsowa.com)A concise third-party summary of the same “Holdsₙ” trick appears in Horrocks et al., describing Hayes–Menzel’s translation explicitly.
;; r is a first-order variable ranging over relation-names (intensions)
(def Reflexive (r) (forall (x) (Holds2 r x x)))
;; extensional vs intensional equality
(forall (x y) (iff (Holds2 likes x y) (Holds2 admires x y))) ; ExtEq2(likes,admires)
(= likes admires) ; intensional identity (different claim)
RDF triple
ex:Alice ex:likes ex:Bob .
reads as
Holds2(likes, Alice, Bob)
since URIs are constants and property extensions are given by IEXT. (W3C)
Holdsₙ.Holdsₙ per arity you use (a schema; any given theory uses finitely many).Holdsₙ part.Name relations (URIs/IRIs) = talk about intensions as first-order objects; use Holdsₙ to tie them to extensions. Then your “higher-order” quantification is just FOL.
Holdsₙ/Appₙ translation. See “Mapping SKIF into conventional logic.”rext('Married')) and motivates the Web’s reliance on URIs as names. (jfsowa.com)IEXT (the intension/extension split for Web vocabularies). (W3C)Holdsₙ translation (how HO-looking syntax is embedded in FOL).