prop (sometimes written o) is the type of propositions.
set (sometimes written ι) is the type of sets.
If α and β are types, then α → β (sometimes written α β) is the type of functions from α to β
Propositions
Let True and False be terms of type prop.
If P has type prop, then ¬ P has type prop. ¬ P is the negation of P.
If P and Q have type prop, then P → Q, P ∧ Q and P ∨ Q have type prop.
Let α be a type. If s and t have type α, then s = t has type prop. If P has type prop, then ∀ x.P and ∃ x.P have type prop.
Tableau Refutations
A branch is a finite set of propositions. We say a proposition is on the branch if it is in the set.
A branch is closed if one of the following holds:
False is on the branch.
¬ True is on the branch.
¬ (s = s) is on the branch.
Both P and ¬ P are on the branch.
Various rules corresponding to logical operators allow one to refute a branch by refuting extended branches. Closed branches are considered refuted. Theorems are proven by adding the negation to a branch and then refuting the branch.
We give rules as they are needed for examples.
Rule(Negated Implication) If ¬ (P → Q) is on the branch, then we can extend the branch with P and ¬ Q.
Example: Prove ¬ ¬ P → P by refuting the branch with the negation of the formula.
Rule(Implication) If P → Q is on the branch, then we can split into two subgoals to refute given by two extended branches: one extended by Q and the other extended by ¬ P
Example: Prove ((P → Q) → P) → P by refuting the branch with the negation of the formula.
Rule(And) If P ∧ Q is on the branch, then the branch can be extended with P and Q.
Rule(NegAnd) If ¬ (P ∧ Q) is on the branch, then
we can split into two subgoals to refute given by two extended branches:
one extended by ¬ P and the other extended by ¬ Q.
Rule(Remove Double Negation) If ¬ ¬ P is on the branch, then we can extend the branch with P.
Example: Prove ¬ ¬ P ∧ ¬ ¬ Q → Q ∧ P by refuting the branch with the negation of the formula.
Rule(Or) If P ∨ Q is on the branch, then
we can split into two subgoals to refute given by two extended branches:
one extended by P and the other extended by Q.
Rule(NegOr) If ¬ (P ∨ Q) is on the branch, then the branch can be extended with ¬ P and ¬ Q.
Example: Prove P ∨ Q → Q ∨ P by refuting the branch with the negation of the formula.
The examples above are intended to be very easy. A short video showing all four being done is here in mp4 and webm formats.
Terms of Function Type
(Application) If s has type α → β and t has type α, then the term s t has type β.
(Lambda Abstraction) If x is a variable type α and s has type β, then λ x.s is a term of type α → β.
s [x := t] is the term resulting from substituting t for x (avoiding capture of bound variables when by changing the names of bound variables when necessary).
When a lambda abstraction is applied to a term, we can β-reduce it by substituting the argument for the λ-bound variable.
That is, (λ x.s) t β-reduces to s [x := t].
We often write (λ x ... y.s) for several λ-abstractions in a row: (λ x ... λ y.s).
Sets
Object. The name In is a term of type set → set → prop.
If s and t have type set, then In s t has type prop.
We usually write s ∈ t for In s t.
That is, we use ∈ as an infix operator corresponding to applying In.
Furthermore, we may write ∀ x ∈ A. P to mean ∀ x : set. x ∈ A → P
and write ∃ x ∈ A. P to mean ∃ x : set. x ∈ A ∧ P
Definition. We define Subq to be λA B ⇒ ∀x ∈ A, x ∈ B of type set → set → prop.
Notation. We use ⊆ as an infix operator corresponding to applying term Subq. Furthermore, we may write ∀ x ⊆ A, B to mean ∀ x : set, x ⊆ A → B.
Definition. We define nIn to be λx X ⇒ ¬ InxX of type set → set → prop.
Notation. We use ∉ as an infix operator corresponding to applying term nIn.
Theorem: setminus is antimonotone.
Object. The name setminus is a term of type set → set → set.
Notation. We use ∖ as an infix operator corresponding to applying term setminus.
Try to prove it yourself. You will need to know about two more rules:
Rule(Forall) If x has type α and ∀ x. P is on the branch, then the branch can be extended with P [x := t] whenever t has type α. Here P [x := t] is the result of substituting t for x (avoiding capture of bound variables when by changing the names of bound variables when necessary).
Rule(NegForall) If x has type α and ¬ ∀ x. P is on the branch, then the branch can be extended with ¬ P [x := y] where y is a variable not occurring free on the branch. A special case is when x and y are the same variable. A special rule (NegForall*) can be applied to do several (NegForall) rules if the x and y are the same in each case.
∀f : set → set, ∀U V, U ⊆ V → {fx|x ∈ U} ⊆ {fx|x ∈ V}
Try to prove it yourself. You may need a few more rules:
Rule(Exists) If x has type α and ∃ x. P is on the branch, then the branch can be extended with P [x := y] where y is a variable not occurring free on the branch. A special case is when x and y are the same variable. A special rule (Exists*) can be applied to do several (Exists) rules if the x and y are the same in each case.
Rule(NegExists) If x has type α and ¬ ∃ x. P is on the branch, then the branch can be extended with ¬ P [x := t] where t has type α.
Rule(Apply Eqn) If s = t is on the branch and s (or t) occurs in a proposition on the branch, then the occurence can be replaced by t (or s).
∀A, ∀Φ : set → set, (∀U ∈ 𝒫A, ΦU ∈ 𝒫A) → (∀U V ∈ 𝒫A, U ⊆ V → ΦU ⊆ ΦV) → ∃Y ∈ 𝒫A, ΦY = Y
Proof:
LetA and Φ be given.
Assume Φ is a monotone function from the power set of A to the power set of A.
We say X is a pre-fixed point if Φ X ⊆ X. We define Y to be the intersection of all pre-fixed points, giving the least pre-fixed point.
Let Y be {u ∈ A|∀ X ∈ 𝒫 A . Φ X ⊆ X → u ∈ X}.
It is easy to prove Φ Y ⊆ Y. (Let u in Φ Y be given. To prove u ∈ Y, we must prove u ∈ X whenever X is a pre-fixed point. Let X be a pre-fixed point. Since Y ⊆ X and X is a pre-fixed point, Φ Y ⊆ Φ X ⊆ X and so u is in X.)
Using this, it is easy to prove Y ⊆ Φ Y.
(By monotonicity and Φ Y ⊆ Y we have Φ (Φ Y) ⊆ Φ Y. That is, Φ Y is a pre-fixed point. Since Y is the least pre-fixed point, we have Y ⊆ Φ Y.)
By set extensionality Φ Y = Y as desired.
∎
Try to prove it yourself.
In each problem below we give
an fp defined such that fp A Φ corresponds to the Y above,
i.e., {u ∈ A|∀X ∈ 𝒫A, ΦX ⊆ X → u ∈ X} of type set.
We define fp using lpfp defined such that lpfp A Φ u corresponds to
∀X ∈ 𝒫A, ΦX ⊆ X → u ∈ X
so that fp A Φ is
{u ∈ A|lpfp A Φ u}
Definition. We define inj to be λX Y f ⇒ (∀u ∈ X, fu ∈ Y) ∧ (∀u v ∈ X, fu = fv → u = v) of type set → set → (set → set) → prop.
Definition. We define bij to be λX Y f ⇒ (∀u ∈ X, fu ∈ Y) ∧ (∀u v ∈ X, fu = fv → u = v) ∧ (∀w ∈ Y, ∃u ∈ X, fu = w) of type set → set → (set → set) → prop.
Definition. We define equip to be λX Y : set ⇒ ∃f : set → set, bijXYf of type set → set → prop.
Object. The name If_i is a term of type prop → set → set → set.
Notation. ifcondthenTelseE is notation corresponding to If_i condTE.
Hence Knaster Tarski applies and there is a fixed point Y of Φ.
Let h be λx ⇒ ifx ∈ YtheninvBgxelsefx of type set → set.
This h will be the desired bijection from A to B. Before proving this, it is helpful to prove the following properties of h:
If z is in Y, then there is a y in B ∖ {fx|x ∈ A ∖ X} such that g y = z and h z = y.
If z is not in Y, then h z = f z.
For every z in A, either there
is a y in B ∖ {fx|x ∈ A ∖ X} such that g y = z and h z = y
or z is not in Y and h z = f z.
The third property follows easily from the first two. Proving this with a tableau refutation might be easier with the following rule:
Rule(Cut) If P has type prop, then a branch is refutable if it is refutable extended with P and it is refutable extended with ¬ P.
Using the third property above makes it easy to prove the first two properties for h to be a bijection.
∀u ∈ A, hu ∈ B
∀u v ∈ A, hu = hv → u = v
The third property can also be proven: ∀w ∈ B, ∃u ∈ A, hu = w.
Combining these we have bij A B h as desired.
∎
Try to prove it yourself.
In each problem we give
a Φ defined such that Φ A B f g
corresponds to the Φ above, i.e.,
λX ⇒ {gy|y ∈ B ∖ {fx|x ∈ A ∖ X}} of type set → set.
and an h defined such that h A B f g Y is the bijection corresponding to h above, i.e., λx ⇒ ifx ∈ YtheninvBgxelsefx of type set → set
where Y is intended to be a fixed point of Φ A B f g
given by Knaster Tarski.