---
tag: PT0G50689S
kind: statement
role: proposition
name: Principle of compositionality
sources:
  - wikipedia: en:604707@r1358780673
    locator: Truth function, section Principle of compositionality
    note: adopted
    mention: wikipedia://en/604707#NAPE
    sections: [Statement]
inventory: [5PBQ9RW337]
---

## Statement

Instead of using [[truth tables|05RSK4Q657]], logical connective symbols can be interpreted by means of an interpretation function and a functionally complete set of truth-functions (Gamut 1991), as detailed by the principle of compositionality of meaning. Let $I$ be an interpretation function, let $\Phi, \Psi$ be any two sentences and let the truth function *f*<sub>nand</sub> be defined as:

- *f*<sub>nand</sub>(T,T) = F; *f*<sub>nand</sub>(T,F) = *f*<sub>nand</sub>(F,T) = *f*<sub>nand</sub>(F,F) = T

Then, for convenience, *f*<sub>not</sub>, *f*<sub>or</sub> *f*<sub>and</sub> and so on are defined by means of *f*<sub>nand</sub>:

- *f*<sub>not</sub>(*x*) = *f*<sub>nand</sub>(*x*,*x*)
- *f*<sub>or</sub>(*x*,*y*) = *f*<sub>nand</sub>(*f*<sub>not</sub>(*x*), *f*<sub>not</sub>(*y*))
- *f*<sub>and</sub>(*x*,*y*) = *f*<sub>not</sub>(*f*<sub>nand</sub>(*x*,*y*))

or, alternatively *f*<sub>not</sub>, *f*<sub>or</sub> *f*<sub>and</sub> and so on are defined directly:

- *f*<sub>not</sub>(T) = F; *f*<sub>not</sub>(F) = T;
- *f*<sub>or</sub>(T,T) = *f*<sub>or</sub>(T,F) = *f*<sub>or</sub>(F,T) = T; *f*<sub>or</sub>(F,F) = F
- *f*<sub>and</sub>(T,T) = T; *f*<sub>and</sub>(T,F) = *f*<sub>and</sub>(F,T) = *f*<sub>and</sub>(F,F) = F

Then *I*(~) = *I*() = *f*<sub>not</sub>; *I*(&) = *I*() = *f*<sub>and</sub>; *I*(*v*) = *I*() = *f*<sub>or</sub>; *I*(~Φ) = *I*(Φ) = *I*()(*I*(Φ)) = *f*<sub>not</sub>(*I*(Φ)); *I*(ΦΨ) = *I*()(*I*(Φ), *I*(Ψ)) = *f*<sub>and</sub>(*I*(Φ), *I*(Ψ)) etc.

Thus if *S* is a sentence that is a string of symbols consisting of logical symbols *v*<sub>1</sub>...*v*<sub>*n*</sub> representing logical connectives, and non-logical symbols *c*<sub>1</sub>...*c*<sub>*n*</sub>, then if and only if $I(v_{1})...I(v_{n})$ have been provided interpreting *v*<sub>1</sub> to *v*<sub>*n*</sub> by means of *f*<sub>nand</sub> (or any other set of functional complete truth-functions) then the truth-value of $I(s)$ is determined entirely by the truth-values of *c*<sub>1</sub>...*c*<sub>*n*</sub>, i.e. of $I(c_{1})...I(c_{n})$. In other words, as expected and required, *S* is true or false only under an interpretation of all its non-logical symbols.
