Jim says that Eric is in rm308 Everything Jim says is true --------- Eric is in rm308
First-Order Logic makes an odd syntactic distinction between predicates (boolean functions) and functions, to disallow this. The domain of discourse does not include the same "true" and "false" as we use to label sentences.
says(Jim, in(Eric, rm308)) % here "in" is a function in(Eric, rm308) % here "in" is a predicate
In Reification we make them be the same thing.
13 of 22