Jump to content

Semantics: Difference between revisions

1,413 bytes added ,  22:49, 16 July 2023
Cover basic symbols
(go down the proposition rabbit hole)
(Cover basic symbols)
Line 26: Line 26:
A note for the adventurous: There are alternative approaches to semantics that don't involve models, such as [https://plato.stanford.edu/entries/proof-theoretic-semantics/#InfIntAntRea proof-theoretic semantics], in which the meaning of a statement is determined purely by its relationships to other statements in a formal proof system. There have been some attempts to apply this approach to Lojban and Toaq semantics<ref>[https://github.com/MostAwesomeDude/brismu brismu], a sketch of an inferential approach to Lojban semantics</ref><ref>[https://cdn.discordapp.com/attachments/311223912044167168/850159530011918357/hoemui.pdf Hoemuı], the beginnings of a sketch of an inferential approach to Toaq semantics (super outdated)</ref>, but when it comes to natural language semantics, the model-based approach described here is far more common.
A note for the adventurous: There are alternative approaches to semantics that don't involve models, such as [https://plato.stanford.edu/entries/proof-theoretic-semantics/#InfIntAntRea proof-theoretic semantics], in which the meaning of a statement is determined purely by its relationships to other statements in a formal proof system. There have been some attempts to apply this approach to Lojban and Toaq semantics<ref>[https://github.com/MostAwesomeDude/brismu brismu], a sketch of an inferential approach to Lojban semantics</ref><ref>[https://cdn.discordapp.com/attachments/311223912044167168/850159530011918357/hoemui.pdf Hoemuı], the beginnings of a sketch of an inferential approach to Toaq semantics (super outdated)</ref>, but when it comes to natural language semantics, the model-based approach described here is far more common.


== Semantic calculus ==
== Basic notation ==
Now, we're ready to talk about notation. When you see something like <math>\exist x: \text{kato}_\text{w}(x). \exist e. \text{τ}(e) \subseteq \text{t} \land \text{neo}_\text{w}(x, \text{m}\mathrm{\acute{u}}\text{ao})(e)</math>, what you're looking at are a bunch of things from the domain of the model. A lot of these words (<math>\text{kato}</math>, <math>\text{neo}</math>, <math>\exist</math>, <math>\text{τ}</math>, <math>\land</math>) are '''functions'''; some others (<math>\text{m}\mathrm{\acute{u}}\text{ao}</math>) represent literal "things" from the domain, like physical objects, people, and ideas, which we'll call '''individuals'''. Together, these words form an expression that shows you how to calculate the truth value of a specific sentence (in this case, {{Derani|󱚵󱚴󱛍󱛃 󱚺󱛊󱚺 󱛘󱛄󱚺󱚷󱛃󱛙 󱛘󱚰󱛊󱚲󱛍󱚺󱛎󱛃󱛙|Neo sá kato múao}}), given that you have the model.
Now, we're ready to talk about notation. When you see something like <math>\exist x: \text{kato}_\text{w}(x). \exist e. \text{τ}(e) \subseteq \text{t} \land \text{neo}_\text{w}(x, \text{m}\mathrm{\acute{u}}\text{ao})(e)</math>, what you're looking at are a bunch of things from the domain of the model. A lot of these words (<math>\text{kato}</math>, <math>\text{neo}</math>, <math>\exist</math>, <math>\text{τ}</math>, <math>\land</math>) are '''functions'''; some others (<math>\text{m}\mathrm{\acute{u}}\text{ao}</math>) represent literal "things" from the domain, like physical objects, people, and ideas, which we'll call '''individuals'''. Together, these words form an expression that shows you how to calculate the truth value of a specific sentence (in this case, {{Derani|󱚵󱚴󱛍󱛃 󱚺󱛊󱚺 󱛘󱛄󱚺󱚷󱛃󱛙 󱛘󱚰󱛊󱚲󱛍󱚺󱛎󱛃󱛙|Neo sá kato múao}}), given that you have a model.


There's an important subtlety here: In languages like English and mathematics, you can use words to form statements such as "The sky is blue" and "<math>x + 1 = 2</math>", or you can use them to form smaller expressions, like "the author of this book" and "<math>\left\{1, 2, 3\right\}</math>". But in the semantic notation we're looking at, there are no statements, only expressions, because the point of semantics is to examine the values that things denote, including the values of statements themselves. As such, it doesn't make sense to call this a "logic notation", because on its own, it can't form statements. Instead, we'll call it a '''semantic calculus'''.
There's an important subtlety here: In languages like English and mathematical logic, you can use words to form statements such as "The sky is blue" and "<math>x + 1 = 2</math>", or you can use them to form smaller expressions, like "the author of this book" and "<math>\left\{1, 2, 3\right\}</math>". But in the semantic notation we're looking at, there are no statements, only expressions, because the point of semantics is to examine the values that things denote, including the values of statements themselves. As such, it doesn't make sense to call this a "logic notation", because on its own, it can't form statements. Instead, we'll call it a '''semantic calculus'''.


One interesting thing about this notation is that every expression has a '''type''', like some programming languages do. These include:
One interesting thing about this notation is that every expression has a '''type''', like some programming languages do. These include:
Line 56: Line 56:


You can apply these lambda functions to an argument in the same way you would apply a named function: by placing them before their argument, surrounded with parentheses. For example, if we say that <math>P</math> is the function <math>\lambda x.\ \text{ruq}(x)</math>, then <math>P(r)</math> and <math>(\lambda x.\ \text{ruq}(x))(r)</math> are two ways of saying the same thing—they both evaluate to <math>\text{ruq}(r)</math>.
You can apply these lambda functions to an argument in the same way you would apply a named function: by placing them before their argument, surrounded with parentheses. For example, if we say that <math>P</math> is the function <math>\lambda x.\ \text{ruq}(x)</math>, then <math>P(r)</math> and <math>(\lambda x.\ \text{ruq}(x))(r)</math> are two ways of saying the same thing—they both evaluate to <math>\text{ruq}(r)</math>.
Finally, here are some common symbols that you'll see. It's no coincidence that these match the symbols used in mathematical logic, and even share the same syntax! But in the world of semantics, you should learn think of them as functions rather than operators that get special syntactic treatment.
* Conjunctions, which attach to two truth values and output a new truth value (type <math>\left\langle \text{t}, \left\langle \text{t}, \text{t} \right\rangle \right\rangle</math>)
** <math>\land</math> for "and"
** <math>\lor</math> for "or"
* Polarizers, which attach to one truth value and output a new truth value (type <math>\left\langle \text{t}, \text{t} \right\rangle</math>)
** <math>\neg</math> for "not"
** <math>\dagger</math> for "indeed", "in fact"
* Quantifiers, which take a predicate (and optionally, another predicate to restrict the domain) and output a truth value (type <math>\left\langle \left\langle \text{e}, \text{t} \right\rangle, \text{t} \right\rangle</math> or <math>\left\langle \left\langle \text{e}, \text{t} \right\rangle, \left\langle \left\langle \text{e}, \text{t} \right\rangle, \text{t} \right\rangle \right\rangle </math>)
** <math>\exist</math> for "some"
** <math>\forall</math> for "every"
For example, we might write the interpretation of "indeed, every person is living or dead" as <math>\dagger \forall a\ \text{poq}(a).\ \text{mie}(a) \lor \text{muaq}(a)</math>.


== Events ==
== Events ==