Content deleted Content added
Toby Bartels (talk | contribs) From Mapping; soon to be rewritten. |
Toby Bartels (talk | contribs) Rewrite only what is necessary for the name change; some more to come soon. |
||
Line 1:
In [[formal logic]]
Functional predicates are also sometimes called ''mappings'', but that term has other meanings as well.
Formally, the symbol <i>F</i> in a [[formal language]] is a ''mapping'' if, [[given any]] symbol <i>X</i> representing an object in the language, <i>F</i>(<i>X</i>) is again a symbol representing an object in that language.▼
In a [[model (logic)|model]], a function symbol will be modelled by a [[function]].
In [[typed logic]], <i>F</i> is a mapping with ''___domain'' type <b>T</b> and ''codomain'' type <b>U</b> if, given any symbol <i>X</i> representing an object of type <b>T</b>, <i>F</i>(<i>X</i>) is a symbol representing an object of type <b>U</b>.▼
One can similarly define mappings of more than one variable, analogous to functions of more than one variable.▼
▲
▲In [[typed logic]], <i>F</i> is a
▲One can similarly define mappings of more than one variable, analogous to functions of more than one variable; a mapping in [[zero]] variables is simply a [[constant]] symbol.
Now consider a model of the formal language, with the types <b>T</b> and <b>U</b> modelled by [[set]]s [<b>T</b>] and [<b>U</b>] and each symbol <i>X</i> of type <b>T</b> modelled by an element [<i>X</i>] in [<b>T</b>].
Line 11 ⟶ 13:
It is a requirement of a consistent model that [<i>F</i>(<i>X</i>)] = [<i>F</i>(<i>Y</i>)] whenever [<i>X</i>] = [<i>Y</i>].
One can replace a
Specifically, if <i>F</i> has ___domain type <b>T</b> and codomain type <b>U</b>, then it can be replaced with a predicate <i>P</i> of type (<b>T</b>,<b>U</b>).
Intuitively, <i>P</i>(<i>X</i>,<i>Y</i>) means <i>F</i>(<i>X</i>) = <i>Y</i>.
Then whenever <i>F</i>(<i>X</i>) would appear in a statment, you can replace it with a new symbol <i>Y</i> of type <b>U</b> and include another statement <i>P</i>(<i>X</i>,<i>Y</i>).
To be able to make the same deductions, you need an additional : [[For all]] <i>X</i> of type <b>T</b>, for some [[unique]] <i>Y</i> of type <b>U</b>, <i>P</i>(<i>X</i>,<i>Y</i>).
Conversely, given any predicate <i>P</i> satisfying that
For this reason, many treatments of formal logic do not deal explicitly with
|