CS 641 Lecture -*- Outline -*- * selection and individuals (7.5) To allow formulation of arithmetic, we need two more postulates for higher-order logic. Need a time with an infinite number of elements, and the ability to choose one element from any set of elements. ** selection ------------------------------------------ SELECTION (AXIOM OF CHOICE) A new constant, the selection operator \choose : (S -> Bool) -> S Notation: (\choose v :: t) == \choose.(\ v . t) INFERENCE RULES \choose introduction: ____________________________________ Phi |- (\exists v :: t) ==> t[v := (\choose v :: t)] * if (choose v :: t) is free for v in t \choose elimination: Phi |- t ==> s _____________________________________ Phi |- t[v := (\choose v :: t)] ==> s * if v is not free in Phi or s, and if (choose v :: t) is free for v in t ------------------------------------------ Here is a basic lemma we would like, to confirm our intuition about the \choose operator. Lemma. (One point rule for \choose). Suppose x does not occur free in t. Then |- (\choose x :: x == t) == t. Proof: Suppose x does not occur free in t. Since we have to "eliminate" the \choose operator, and since the inference rules for \choose are Boolean formulas, we start with the whole formula, as otherwise we have no Booleans. Since we thus have to simplify the formula to T, and since the \choose rules are implications, the overall shape will be (\choose x :: x == t) == t <== T. Hence we will actually be using the \choose introduction rule. |- (\choose x :: x == t) == t. <==> { substitution, x does not occur free in t } (x == t)[x := (\choose x :: x == t)] <== { \choose introduction, since we have to conclude from T, (\choose x :: x == t) is free for x in (x == t), since x does not occur free in t, and so can't be captured } (\exists x :: x == t) <== { \exists introduction, t is free for x in x == t, since x does not occur free in t, and so can't be captured } (x == t)[x := t] <==> { substitution } t == t <==> { == is reflexive } T QED Another way to view the use of select is as an equivalent way to write a formula that is universally quantified, by selecting a witness. Lemma. (\exists \choose correspondence) Let t be a Boolean term in which v may appear free and such that t is free for v in t. Then |- (\exists v :: t) <==> t[v := (\choose v :: t)]. Proof: |- (\exists v :: t) <==> { ==> antisymmtric } * (\exists v :: t) ==> { \choose introduction, (\choose v :: t) is free for v in t, because t is free for v in t } t[v := (\choose v :: t)] * t[v := (\choose v :: t)] ==> { \exists introduction, (\choose v :: t) is free for v in t, because t is free for v in t } (\exists v :: t) t[v := (\choose v :: t)]. QED ------------------------------------------ ARBITRARY ELEMENT CONSTANT For any type S ^ arb = (\choose x :: x \in S) ------------------------------------------ ** type of individuals ------------------------------------------ TYPE OF INDIVIDUALS Ind, a type with infinitely many elements infinity axiom: |- (\exists f \in Ind -> Ind :: oneone.f /\ !(onto.f)) Pictorial example: infinite finite set set . . . . . . 3 --> 4 3 2 --> 3 2 --> 3 1 --> 2 1 --> 2 0 --> 1 0 --> 1 0 0 definitions: ^ oneone.f = (\forall x x' :: f.x == f.x' ==> x == x') ^ onto.f = (\forall y :: (\exists x :: y == f.x)) ^ bijective.f = oneone.f /\ onto.f ------------------------------------------