Skip to content

Commit c71f172

Browse files
committed
Valuations of logical terms in higher-order logic
1 parent 602d5d7 commit c71f172

File tree

8 files changed

+195
-75
lines changed

8 files changed

+195
-75
lines changed

text/first_order_logic.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -329,7 +329,7 @@ \section{First-order logic}\label{sec:first_order_logic}
329329
\end{definition}
330330
\begin{comments}
331331
\item Some authors like Peter Hinman in \incite[def. 2.1.15(iii)]{Hinman2005Logic} define \( I(p) \) to be a \hyperref[def:relation]{relation} \( I(p) \subseteq X^n \), however it is more convenient for us to work with Boolean-valued functions. The two approaches are equivalent as explained in \cref{rem:boolean_valued_functions_and_relations}.
332-
\item Unlike in the rest of this monograph, when dealing with first-order structures directly, it is important to distinguish between the structure \( \mscrX \) as a pair and its domain \( X \) as a set. See \cref{rem:first_order_model_notation}.
332+
\item Unlike in the rest of this monograph, when dealing with first-order structures directly, it is important to distinguish between the structure \( \mscrX \) as a pair and its domain \( X \) as a set. See \cref{rem:hol_structure_notation}.
333333
\end{comments}
334334

335335
\begin{remark}\label{rem:empty_first_order_structures}

text/first_order_models.tex

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,6 @@ \section{First-order models}\label{sec:first_order_models}
66
\todo{Algebraic theories}
77
\end{concept}
88

9-
\begin{definition}\label{def:propositional_model}\mcite[def. 1.4.1(i)]{Hinman2005Logic}
10-
We say that the \hyperref[def:propositional_valuation/interpretation]{propositional interpretation} \( I \) is a \term{propositional model} of the set of \hyperref[def:propositional_syntax/formula]{propositional formulas} \( \Gamma \) if \( \Bracks{\varphi}_I = T \) for every formula \( \varphi \in \Gamma \).
11-
12-
We also say that \( I \) \term{satisfies} \( \Gamma \) and that \( \Gamma \) is \term{satisfiable} if there exists at least one model for it.
13-
\end{definition}
14-
159
\begin{remark}\label{rem:first_order_satisfiability_bivalence}
1610
We will now show why \cref{def:propositional_model} requires some adjustments for first-order formulas.
1711

@@ -89,16 +83,6 @@ \section{First-order models}\label{sec:first_order_models}
8983
\item Since the formulas are closed, the result does not depend on the assignment. We only assignments as a technical tool because we avoid defining entailment within a structure. The problems of doing the latter are discussed in \cref{rem:first_order_satisfiability_bivalence}.
9084
\end{comments}
9185

92-
\begin{remark}\label{rem:first_order_model_notation}
93-
In first-order logic, \hyperref[def:first_order_structure]{structures} are defined as pairs \( \mscrX = (X, I) \). Each area of mathematics has its own conventions and structures are usually specified as simply as possible without being unambiguous (and sometimes even beyond non-ambiguity).
94-
95-
A popular convention is to use compatible letters like we did with \( X \) and \( \mscrX \) or \( G \) and \( \mscrG \), where the structure itself is named using calligraphic letters while the domain is named using the corresponding capital letter in normal font. This only works very simple cases where we can say \enquote{Let \( \mscrP = (P, \leq) \) be a \hyperref[def:partially_ordered_set]{partially ordered set}}.
96-
97-
The language of the \hyperref[def:group/theory]{theory of groups} has a signature consisting of three functional symbols and no predicate symbols. Specifying a structure for this language is thus the same as specifying a quadruple \( \mscrG = (G, e, (\anon)^{-1}, \cdot) \). We usually specify only the domain \( G \) and the basic structure needed to avoid ambiguity, for example \enquote{Let \( (G, \cdot) \) be a group}. This is technically wrong, but it is both convenient and conventional. The rest of the definition of the group can easily be inferred. In case of ambiguity, the simplest disambiguation is to use lower indices with the name of the structure, e.g. \( +_G \) and \( +_H \) may be the addition operation in different abelian groups.
98-
99-
Furthermore, stating that \( (G, \cdot, \leq, \mscrT) \) is a totally ordered topological group is cumbersome and can even raise questions; for example, is \( \mscrT \) the \hyperref[def:order_topology]{order topology} or just an arbitrary \hyperref[rem:topological_first_order_structures]{group topology}?
100-
\end{remark}
101-
10286
\begin{remark}\label{rem:questions_regarding_structures}
10387
Within this section, we are interested in the following questions regarding \hyperref[def:first_order_structure]{first-order structure} and \hyperref[def:first_order_model]{models}:
10488

text/henkin_semantics.tex

Lines changed: 149 additions & 22 deletions
Large diffs are not rendered by default.

text/higher_order_logic.tex

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -379,20 +379,20 @@ \section{Higher-order logic}\label{sec:higher_order_logic}
379379

380380
We describe in \cref{rem:hol_formula_abbreviations} how different authors offer different abbreviations leading to the same logical layer. These abbreviations depend on classical propositional equivalences like those in \cref{thm:classical_equivalences}.
381381

382-
We prefer a more straightforward approach, where each connective and quantifier has its own dedicated constant --- see \cref{def:hol_typing_rules}.
382+
We prefer a more straightforward approach, where each connective and quantifier has its own dedicated constant --- see \cref{def:hol_formula_rules}.
383383
\end{thmenum}
384384
\end{remark}
385385

386386
\begin{remark}\label{rem:hol_rule_formalization}
387387
The multi-layer approach to syntax, which we discuss in \cref{rem:hol_notational_shorthands/abbreviations}, makes it difficult to introduce a formalized language for expressing the \hyperref[def:inference_rule]{inference rules} of higher-order logic.
388388

389-
Since we will not focus on higher-order logic, we resort to stating all rules here only in the metalanguage (even the simple typing rules like those of \cref{def:hol_typing_rules}). Later, in \fullref{sec:first_order_logic}, we will extend the propositional schemas to encompass the new constructs required to state special cases of the rules presented here.
389+
Since we will not focus on higher-order logic, we resort to stating all rules here only in the metalanguage (even the simple typing rules like those of \cref{def:hol_formula_rules}). Later, in \fullref{sec:first_order_logic}, we will extend the propositional schemas to encompass the new constructs required to state special cases of the rules presented here.
390390

391391
Furthermore, rules like \cref{inf:def:hol_equality_rules/intro} are difficult to formalize.
392392
\end{remark}
393393

394394
\begin{definition}\label{def:hol_term}\mimprovised
395-
Over a fixed \hyperref[def:hol_signature]{signature} \( \Sigma \) of higher-order logic, suppose that the \( \muplambda \)-term \( M \) is \hyperref[def:typability]{typable} in the \hyperref[def:type_context]{type context} \( \Gamma \) with respect to the arrow typing rules \ref{inf:def:arrow_type/elim} and \ref{inf:def:arrow_type/intro/explicit}, the constant typing rule \ref{inf:def:hol_signature/nl_type} and the formula formation rules from \cref{def:hol_typing_rules}.
395+
Over a fixed \hyperref[def:hol_signature]{signature} \( \Sigma \) of higher-order logic, suppose that the \( \muplambda \)-term \( M \) is \hyperref[def:typability]{typable} in the \hyperref[def:type_context]{type context} \( \Gamma \) with respect to the arrow typing rules \ref{inf:def:arrow_type/elim} and \ref{inf:def:arrow_type/intro/explicit}, the constant typing rule \ref{inf:def:hol_signature/nl_type} and the formula formation rules from \cref{def:hol_formula_rules}.
396396

397397
Based on our discussion in \cref{rem:hol_notational_shorthands/variable_annotations}, call the pair \( (\Gamma, M) \) a \term{logical term} if all variables in \( \Gamma \) are free in \( M \). \Cref{thm:logical_term_type_uniqueness} shows that each logical term has a unique type \( \tau \).
398398

@@ -403,7 +403,7 @@ \section{Higher-order logic}\label{sec:higher_order_logic}
403403
\begin{thmenum}[resume=def:hol_term]
404404
\thmitem{def:hol_term/formula} If \( \tau \) is the type of propositions, we also call the logical term a \term{formula}.
405405

406-
As per \cref{rem:hol_notational_shorthands/placeholder_annotations}, we use the familiar symbols like \( \varphi \), \( \psi \) and \( \theta \) (without superscripts) for denoting formulas. \Cref{def:hol_typing_rules} lists some formation rules for formulas.
406+
As per \cref{rem:hol_notational_shorthands/placeholder_annotations}, we use the familiar symbols like \( \varphi \), \( \psi \) and \( \theta \) (without superscripts) for denoting formulas. \Cref{def:hol_formula_rules} lists some formation rules for formulas.
407407

408408
We denote the set of all formulas over \( \Sigma \) by \( \op*{Form}_\Sigma \).
409409

@@ -435,36 +435,36 @@ \section{Higher-order logic}\label{sec:higher_order_logic}
435435
Of course, most constants we will encounter will be non-letter symbols denoting binary operations, and for them we will prefer infix notation.
436436
\end{remark}
437437

438-
\begin{definition}\label{def:hol_typing_rules}
438+
\begin{definition}\label{def:hol_formula_rules}
439439
In higher-order logic, we presuppose several \hyperref[def:lambda_term]{constant \( \muplambda \)-terms}, which we call \term{logical constants}. These are \( \synH_{\syntop}, \synH_{\synbot}, \synH_{\syneq}, \synH_{\synneg} \), as well as \( \synH_{\syncirc} \) for every \hyperref[def:propositional_alphabet/connectives]{propositional connective} and \( \synH_Q \) for every \hyperref[def:predicate_logic_alphabet/quantifiers]{quantifier}.
440440

441441
We associate with them the following \hyperref[def:simple_typing_rule]{simple typing rules} (the braces indicate \hyperref[con:syntactic_abbreviation]{metalingual abbreviations} that more closely resemble the familiar syntax of predicate logic):
442442
\begin{paracol}{3}
443443
\begin{nthcolumn}{0}
444444
\ParacolAlignmentHack
445-
\begin{equation*}\taglabel[\ensuremath{ \logic{H}_{\top} }]{inf:def:hol_typing_rules/top}
445+
\begin{equation*}\taglabel[\ensuremath{ \logic{H}_{\top} }]{inf:def:hol_formula_rules/top}
446446
\begin{prooftree}
447-
\infer0[\ref{inf:def:hol_typing_rules/top}]{ \underbrace{\synH_{\syntop}}_{\syntop}: \syn\omicron }
447+
\infer0[\ref{inf:def:hol_formula_rules/top}]{ \underbrace{\synH_{\syntop}}_{\syntop}: \syn\omicron }
448448
\end{prooftree}
449449
\end{equation*}
450450
\end{nthcolumn}
451451

452452
\begin{nthcolumn}{1}
453453
\ParacolAlignmentHack
454-
\begin{equation*}\taglabel[\ensuremath{ \logic{H}_{\bot} }]{inf:def:hol_typing_rules/bot}
454+
\begin{equation*}\taglabel[\ensuremath{ \logic{H}_{\bot} }]{inf:def:hol_formula_rules/bot}
455455
\begin{prooftree}
456-
\infer0[\ref{inf:def:hol_typing_rules/bot}]{ \underbrace{\synH_{\syntop}}_{\synbot}: \syn\omicron }
456+
\infer0[\ref{inf:def:hol_formula_rules/bot}]{ \underbrace{\synH_{\syntop}}_{\synbot}: \syn\omicron }
457457
\end{prooftree}
458458
\end{equation*}
459459
\end{nthcolumn}
460460

461461
\begin{nthcolumn}{2}
462462
\ParacolAlignmentHack
463-
\begin{equation*}\taglabel[\ensuremath{ \logic{H}_{=} }]{inf:def:hol_typing_rules/eq}
463+
\begin{equation*}\taglabel[\ensuremath{ \logic{H}_{=} }]{inf:def:hol_formula_rules/eq}
464464
\begin{prooftree}
465465
\hypo{ M: \tau }
466466
\hypo{ N: \tau }
467-
\infer2[\ref{inf:def:hol_typing_rules/eq}]{ \underbrace{\synH_{\syneq} M N}_{M^\tau \syneq N^\tau}: \syn\omicron }
467+
\infer2[\ref{inf:def:hol_formula_rules/eq}]{ \underbrace{\synH_{\syneq} M N}_{M^\tau \syneq N^\tau}: \syn\omicron }
468468
\end{prooftree}
469469
\end{equation*}
470470
\end{nthcolumn}
@@ -473,38 +473,38 @@ \section{Higher-order logic}\label{sec:higher_order_logic}
473473
\begin{paracol}{3}
474474
\begin{nthcolumn}{0}
475475
\ParacolAlignmentHack
476-
\begin{equation*}\taglabel[\ensuremath{ \logic{H}_{\neg} }]{inf:def:hol_typing_rules/neg}
476+
\begin{equation*}\taglabel[\ensuremath{ \logic{H}_{\neg} }]{inf:def:hol_formula_rules/neg}
477477
\begin{prooftree}
478478
\hypo{ \varphi: \syn\omicron }
479-
\infer1[\ref{inf:def:hol_typing_rules/neg}]{ \underbrace{\synH_{\synneg} \varphi}_{\synneg \varphi}: \syn\omicron }
479+
\infer1[\ref{inf:def:hol_formula_rules/neg}]{ \underbrace{\synH_{\synneg} \varphi}_{\synneg \varphi}: \syn\omicron }
480480
\end{prooftree}
481481
\end{equation*}
482482
\end{nthcolumn}
483483

484484
\begin{nthcolumn}{1}
485485
\ParacolAlignmentHack
486-
\begin{equation*}\taglabel[\ensuremath{ \logic{H}_{\syncirc} }]{inf:def:hol_typing_rules/conn}
486+
\begin{equation*}\taglabel[\ensuremath{ \logic{H}_{\syncirc} }]{inf:def:hol_formula_rules/conn}
487487
\begin{prooftree}
488488
\hypo{ \varphi: \syn\omicron }
489489
\hypo{ \psi: \syn\omicron }
490-
\infer2[\ref{inf:def:hol_typing_rules/conn}]{ \underbrace{\synH_{\syncirc} \varphi \psi}_{\varphi \syncirc \psi}: \syn\omicron }
490+
\infer2[\ref{inf:def:hol_formula_rules/conn}]{ \underbrace{\synH_{\syncirc} \varphi \psi}_{\varphi \syncirc \psi}: \syn\omicron }
491491
\end{prooftree}
492492
\end{equation*}
493493
\end{nthcolumn}
494494

495495
\begin{nthcolumn}{2}
496496
\ParacolAlignmentHack
497-
\begin{equation*}\taglabel[\ensuremath{ \logic{H}_Q }]{inf:def:hol_typing_rules/quant}
497+
\begin{equation*}\taglabel[\ensuremath{ \logic{H}_Q }]{inf:def:hol_formula_rules/quant}
498498
\begin{prooftree}
499499
\hypo{ x: \tau }
500500
\hypo{ \varphi: \syn\omicron }
501-
\infer2[\ref{inf:def:hol_typing_rules/quant}]{ \underbrace{\synH_Q (\qabs {x^\tau} \varphi)}_{\quantifier Q {x^\tau} \varphi}: \syn\omicron }
501+
\infer2[\ref{inf:def:hol_formula_rules/quant}]{ \underbrace{\synH_Q (\qabs {x^\tau} \varphi)}_{\quantifier Q {x^\tau} \varphi}: \syn\omicron }
502502
\end{prooftree}
503503
\end{equation*}
504504
\end{nthcolumn}
505505
\end{paracol}
506506

507-
The rules \ref{inf:def:hol_typing_rules/conn} and \ref{inf:def:hol_typing_rules/quant} are schemas --- we have a distinct rule for each propositional connective \( \syncirc \) and a distinct rule for every quantifier \( Q \).
507+
The rules \ref{inf:def:hol_formula_rules/conn} and \ref{inf:def:hol_formula_rules/quant} are schemas --- we have a distinct rule for each propositional connective \( \syncirc \) and a distinct rule for every quantifier \( Q \).
508508
\end{definition}
509509
\begin{comments}
510510
\item We use \( \varphi \) and \( \psi \) as \( \muplambda \)-term placeholders and \( \tau \) as a (quantifiable) type placeholder.
@@ -518,7 +518,7 @@ \section{Higher-order logic}\label{sec:higher_order_logic}
518518
The type of a \hyperref[def:hol_term]{higher-order logical term} is unique: for every logical term \( (\Gamma, M) \), if \( \Gamma \vdash M: \tau \) and \( \Gamma \vdash M: \tau' \), then \( \tau = \tau' \).
519519
\end{proposition}
520520
\begin{proof}
521-
We must extend the recursion in the proof of \cref{thm:typed_term_habitation_uniqueness} to handle the new typing rules from \cref{def:hol_typing_rules}, as well as \ref{inf:def:hol_signature/nl_type}. The actual recursive cases are straightforward.
521+
We must extend the recursion in the proof of \cref{thm:typed_term_habitation_uniqueness} to handle the new typing rules from \cref{def:hol_formula_rules}, as well as \ref{inf:def:hol_signature/nl_type}. The actual recursive cases are straightforward.
522522
\end{proof}
523523

524524
\begin{remark}\label{rem:hol_formula_abbreviations}
@@ -528,7 +528,7 @@ \section{Higher-order logic}\label{sec:higher_order_logic}
528528

529529
\incite*{Henkin1963TheoryOfPropositionalTypes} presented a formulation that used only \( Q_{o \alpha \alpha } \) for \hyperref[def:predicate_logic_alphabet/equality]{equality}, acknowledging that one such constant is needed for each type \( \alpha \). His formulation is restricted to propositional formulas, but later in \cite{Henkin1975Identity} he extended it to all types supported by Church's original system.
530530

531-
We show concrete abbreviations in \cref{tab:rem:hol_formula_abbreviations}, based on the constant \( \synH_{\syneq} \), typable via the rule \ref{inf:def:hol_typing_rules/eq}. These abbreviations depend on classical propositional equivalences like those in \cref{thm:classical_equivalences}.
531+
We show concrete abbreviations in \cref{tab:rem:hol_formula_abbreviations}, based on the constant \( \synH_{\syneq} \), typable via the rule \ref{inf:def:hol_formula_rules/eq}. These abbreviations depend on classical propositional equivalences like those in \cref{thm:classical_equivalences}.
532532

533533
Most of these abbreviations are based on \bycite[212]{Andrews2002Logic}, with the exception of \( \syntop \), which is instead taken from \bycite[273]{Farmer2008STTVirtues}. In the abbreviation of \( \varphi \synwedge \psi \), as in \cref{def:lambda_term_substitution/sharp}, the function \( \sharp(V) \) gives the smallest identifier not in \( V \).
534534

@@ -562,7 +562,7 @@ \section{Higher-order logic}\label{sec:higher_order_logic}
562562
\end{remark}
563563

564564
\begin{definition}\label{def:higher_order_logic_syntax}
565-
We define \enquote{the \hyperref[con:syntax_semantics_duality]{syntax} of higher-order logic} over an \hyperref[def:hol_signature]{eponymous signature} as the corresponding \hyperref[def:simple_type_system]{simple type theory} restricted \hyperref[def:quantifiable_type]{quantifiable types}, with the usual arrow typing rules \ref{inf:def:arrow_type/elim} and \ref{inf:def:arrow_type/intro/explicit}, the constant typing rule \ref{inf:def:hol_signature/nl_type} and the formula formation rules from \cref{def:hol_typing_rules}.
565+
We define \enquote{the \hyperref[con:syntax_semantics_duality]{syntax} of higher-order logic} over an \hyperref[def:hol_signature]{eponymous signature} as the corresponding \hyperref[def:simple_type_system]{simple type theory} restricted \hyperref[def:quantifiable_type]{quantifiable types}, with the usual arrow typing rules \ref{inf:def:arrow_type/elim} and \ref{inf:def:arrow_type/intro/explicit}, the constant typing rule \ref{inf:def:hol_signature/nl_type} and the formula formation rules from \cref{def:hol_formula_rules}.
566566
\end{definition}
567567

568568
\begin{remark}\label{rem:mltt_hol}
@@ -841,7 +841,7 @@ \section{Higher-order logic}\label{sec:higher_order_logic}
841841
\end{paracol}
842842
\end{definition}
843843
\begin{comments}
844-
\item The three rules are needed for \cref{thm:hol_equality_is_equivalence_relation} and \cref{thm:hol_equality_entails_equivalence}. The elimination rule generalizes rule \logic{R'} from Andrews' system \( \logic{Q}_0 \) --- see \cref{ex:hol_equality_rules_and_rule_r}
844+
\item The three rules ensure that \cref{thm:hol_equality_is_equivalence_relation} and \cref{thm:hol_equality_entails_equivalence} hold, and their full power is demonstrated in \cref{ex:simplified_hol_predicate_definition}. The elimination rule generalizes rule \logic{R'} from Andrews' system \( \logic{Q}_0 \) --- see \cref{ex:hol_equality_rules_and_rule_r}
845845

846846
An alternative to \ref{inf:def:hol_equality_rules/intro} could be, as in \cref{rem:hol_axiomatic_derivations}, a rule equating \hyperref[def:beta_eta_reduction]{\( \beta \)-equivalent} \( \muplambda \)-terms. Although the latter has its appeal, we avoid it due to its complexity.
847847
\end{comments}

text/mathematical_logic.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ \chapter{Mathematical logic}\label{ch:mathematical_logic}
159159

160160
\thmitem{rem:mathematical_logic_conventions/propositional_constants} We define the propositional constants for truth and falsity via \( \syntop \) and \( \synbot \) in the object language and by \( T \) and \( F \) in the metalanguage. We use \( \top \) and \( \bot \) in general \hyperref[def:lattice]{lattices}.
161161

162-
\thmitem{rem:mathematical_logic_conventions/structure_pairs} We often conflate structures in the metalogic (i.e. sets with functions and/or relations defined on them) with their domain --- see \cref{rem:first_order_model_notation} for a further discussion.
162+
\thmitem{rem:mathematical_logic_conventions/structure_pairs} We often conflate structures in the metatheory (i.e. sets with functions and/or relations defined on them) with their domain --- see \cref{rem:hol_structure_notation} for a further discussion.
163163

164164
\thmitem{rem:mathematical_logic_conventions/shorthands} We additionally use syntactic shorthands like \cref{rem:propositional_formula_notation_conventions} and \cref{rem:first_order_formula_conventions} when writing formulas. We will also find handy various \hyperref[con:syntactic_abbreviation]{abbreviations} like the \hyperref[con:description_operator/unique_existence]{unique existence quantifier} or the various ad-hoc predicates from \fullref{sec:naive_set_theory}.
165165

0 commit comments

Comments
 (0)