doc-src/Logics/logics.toc
author paulson
Fri Feb 16 18:00:47 1996 +0100 (1996-02-16)
changeset 1512 ce37c64244c0
parent 465 d4bf81734dfe
permissions -rw-r--r--
Elimination of fully-functorial style.
Type tactic changed to a type abbrevation (from a datatype).
Constructor tactic and function apply deleted.
     1 \contentsline {chapter}{\numberline {1}Basic Concepts}{1}
     2 \contentsline {section}{\numberline {1.1}Syntax definitions}{2}
     3 \contentsline {section}{\numberline {1.2}Proof procedures}{3}
     4 \contentsline {chapter}{\numberline {2}First-Order Logic}{4}
     5 \contentsline {section}{\numberline {2.1}Syntax and rules of inference}{4}
     6 \contentsline {section}{\numberline {2.2}Generic packages}{8}
     7 \contentsline {section}{\numberline {2.3}Intuitionistic proof procedures}{8}
     8 \contentsline {section}{\numberline {2.4}Classical proof procedures}{10}
     9 \contentsline {section}{\numberline {2.5}An intuitionistic example}{11}
    10 \contentsline {section}{\numberline {2.6}An example of intuitionistic negation}{12}
    11 \contentsline {section}{\numberline {2.7}A classical example}{14}
    12 \contentsline {section}{\numberline {2.8}Derived rules and the classical tactics}{15}
    13 \contentsline {subsection}{\numberline {2.8.1}Deriving the introduction rule}{16}
    14 \contentsline {subsection}{\numberline {2.8.2}Deriving the elimination rule}{17}
    15 \contentsline {subsection}{\numberline {2.8.3}Using the derived rules}{17}
    16 \contentsline {subsection}{\numberline {2.8.4}Derived rules versus definitions}{19}
    17 \contentsline {chapter}{\numberline {3}Zermelo-Fraenkel Set Theory}{22}
    18 \contentsline {section}{\numberline {3.1}Which version of axiomatic set theory?}{22}
    19 \contentsline {section}{\numberline {3.2}The syntax of set theory}{23}
    20 \contentsline {section}{\numberline {3.3}Binding operators}{25}
    21 \contentsline {section}{\numberline {3.4}The Zermelo-Fraenkel axioms}{27}
    22 \contentsline {section}{\numberline {3.5}From basic lemmas to function spaces}{30}
    23 \contentsline {subsection}{\numberline {3.5.1}Fundamental lemmas}{30}
    24 \contentsline {subsection}{\numberline {3.5.2}Unordered pairs and finite sets}{32}
    25 \contentsline {subsection}{\numberline {3.5.3}Subset and lattice properties}{32}
    26 \contentsline {subsection}{\numberline {3.5.4}Ordered pairs}{36}
    27 \contentsline {subsection}{\numberline {3.5.5}Relations}{36}
    28 \contentsline {subsection}{\numberline {3.5.6}Functions}{37}
    29 \contentsline {section}{\numberline {3.6}Further developments}{38}
    30 \contentsline {section}{\numberline {3.7}Simplification rules}{47}
    31 \contentsline {section}{\numberline {3.8}The examples directory}{47}
    32 \contentsline {section}{\numberline {3.9}A proof about powersets}{48}
    33 \contentsline {section}{\numberline {3.10}Monotonicity of the union operator}{51}
    34 \contentsline {section}{\numberline {3.11}Low-level reasoning about functions}{52}
    35 \contentsline {chapter}{\numberline {4}Higher-Order Logic}{55}
    36 \contentsline {section}{\numberline {4.1}Syntax}{55}
    37 \contentsline {subsection}{\numberline {4.1.1}Types}{57}
    38 \contentsline {subsection}{\numberline {4.1.2}Binders}{58}
    39 \contentsline {subsection}{\numberline {4.1.3}The {\ptt let} and {\ptt case} constructions}{58}
    40 \contentsline {section}{\numberline {4.2}Rules of inference}{58}
    41 \contentsline {section}{\numberline {4.3}A formulation of set theory}{60}
    42 \contentsline {subsection}{\numberline {4.3.1}Syntax of set theory}{65}
    43 \contentsline {subsection}{\numberline {4.3.2}Axioms and rules of set theory}{69}
    44 \contentsline {section}{\numberline {4.4}Generic packages and classical reasoning}{71}
    45 \contentsline {section}{\numberline {4.5}Types}{73}
    46 \contentsline {subsection}{\numberline {4.5.1}Product and sum types}{73}
    47 \contentsline {subsection}{\numberline {4.5.2}The type of natural numbers, {\ptt nat}}{73}
    48 \contentsline {subsection}{\numberline {4.5.3}The type constructor for lists, {\ptt list}}{76}
    49 \contentsline {subsection}{\numberline {4.5.4}The type constructor for lazy lists, {\ptt llist}}{76}
    50 \contentsline {section}{\numberline {4.6}Datatype declarations}{79}
    51 \contentsline {subsection}{\numberline {4.6.1}Foundations}{79}
    52 \contentsline {subsection}{\numberline {4.6.2}Defining datatypes}{80}
    53 \contentsline {subsection}{\numberline {4.6.3}Examples}{82}
    54 \contentsline {subsubsection}{The datatype $\alpha \penalty \@M \ list$}{82}
    55 \contentsline {subsubsection}{The datatype $\alpha \penalty \@M \ list$ with mixfix syntax}{83}
    56 \contentsline {subsubsection}{Defining functions on datatypes}{83}
    57 \contentsline {subsubsection}{A datatype for weekdays}{84}
    58 \contentsline {section}{\numberline {4.7}The examples directories}{84}
    59 \contentsline {section}{\numberline {4.8}Example: Cantor's Theorem}{85}
    60 \contentsline {chapter}{\numberline {5}First-Order Sequent Calculus}{88}
    61 \contentsline {section}{\numberline {5.1}Unification for lists}{88}
    62 \contentsline {section}{\numberline {5.2}Syntax and rules of inference}{90}
    63 \contentsline {section}{\numberline {5.3}Tactics for the cut rule}{92}
    64 \contentsline {section}{\numberline {5.4}Tactics for sequents}{93}
    65 \contentsline {section}{\numberline {5.5}Packaging sequent rules}{94}
    66 \contentsline {section}{\numberline {5.6}Proof procedures}{94}
    67 \contentsline {subsection}{\numberline {5.6.1}Method A}{95}
    68 \contentsline {subsection}{\numberline {5.6.2}Method B}{95}
    69 \contentsline {section}{\numberline {5.7}A simple example of classical reasoning}{96}
    70 \contentsline {section}{\numberline {5.8}A more complex proof}{97}
    71 \contentsline {chapter}{\numberline {6}Constructive Type Theory}{99}
    72 \contentsline {section}{\numberline {6.1}Syntax}{101}
    73 \contentsline {section}{\numberline {6.2}Rules of inference}{101}
    74 \contentsline {section}{\numberline {6.3}Rule lists}{107}
    75 \contentsline {section}{\numberline {6.4}Tactics for subgoal reordering}{107}
    76 \contentsline {section}{\numberline {6.5}Rewriting tactics}{108}
    77 \contentsline {section}{\numberline {6.6}Tactics for logical reasoning}{109}
    78 \contentsline {section}{\numberline {6.7}A theory of arithmetic}{111}
    79 \contentsline {section}{\numberline {6.8}The examples directory}{111}
    80 \contentsline {section}{\numberline {6.9}Example: type inference}{111}
    81 \contentsline {section}{\numberline {6.10}An example of logical reasoning}{113}
    82 \contentsline {section}{\numberline {6.11}Example: deriving a currying functional}{116}
    83 \contentsline {section}{\numberline {6.12}Example: proving the Axiom of Choice}{117}