Documentation

LeanPool.DomainTheory.Neighborhood.Exercise424

Exercise 4.24 (Scott 1981, PRG-19, Lecture IV) — Schröder–Bernstein via a fixed #

point

(For set theorists.) Let f : A → B and g : B → A be one-one (injective, not necessarily onto). Then there is a one-one correspondence h : A ≃ B (schroeder_bernstein).

Following Tarski's hint, work in the power-set domain P A (a complete lattice) and take a fixed point X of the monotone operator

T(X) = (A − g(B)) ∪ g(f(X)),

which exists by Knaster–Tarski (Exercise 4.14 / 4.13(2), here lfpSet). With X = T(X) fixed, define

h(a) = f(a) if a ∈ X, h(a) = g⁻¹(a) if a ∉ X

— well-defined because a ∉ X = T(X) forces a ∈ g(B) (it is not in (A − g(B))), so a has a unique g-preimage (mem_range_of_not_mem). The map h is:

Packaged as the equivalence schroederBernsteinEquiv. This is a set theorists' exercise and is inherently classical; the construction of h uses Classical.choice (the g-preimage), exactly as the statement demands.

def Domain.Neighborhood.Exercise424.sbOp {A : Type u_1} {B : Type u_2} (f : AB) (g : BA) (X : Set A) :
Set A

Tarski's operator T(X) = (A − g(B)) ∪ g(f(X)) on P A.

Equations
Instances For
    theorem Domain.Neighborhood.Exercise424.sbOp_monotone {A : Type u_1} {B : Type u_2} (f : AB) (g : BA) :
    def Domain.Neighborhood.Exercise424.sbSet {A : Type u_1} {B : Type u_2} (f : AB) (g : BA) :
    Set A

    The Tarski fixed point X with X = (A − g(B)) ∪ g(f(X)) (lfpSet, Exercise 4.14).

    Equations
    Instances For
      theorem Domain.Neighborhood.Exercise424.sbSet_isFixed {A : Type u_1} {B : Type u_2} (f : AB) (g : BA) :
      sbOp f g (sbSet f g) = sbSet f g
      theorem Domain.Neighborhood.Exercise424.mem_range_of_not_mem {A : Type u_1} {B : Type u_2} {f : AB} {g : BA} {a : A} (ha : ¬a sbSet f g) :

      Anything outside the fixed set X lies in the range of g (so it has a g-preimage).

      noncomputable def Domain.Neighborhood.Exercise424.sbFun {A : Type u_1} {B : Type u_2} (f : AB) (g : BA) (a : A) :
      B

      Exercise 4.24 (Scott 1981, PRG-19). Tarski's bijection h : A → B: f on the fixed set X, and the g-inverse off it.

      Equations
      Instances For
        theorem Domain.Neighborhood.Exercise424.sbFun_mem {A : Type u_1} {B : Type u_2} {f : AB} {g : BA} {a : A} (ha : a sbSet f g) :
        sbFun f g a = f a
        theorem Domain.Neighborhood.Exercise424.g_sbFun_not_mem {A : Type u_1} {B : Type u_2} {f : AB} {g : BA} {a : A} (ha : ¬a sbSet f g) :
        g (sbFun f g a) = a

        Off the fixed set, h(a) is a genuine g-preimage of a: g(h(a)) = a.

        theorem Domain.Neighborhood.Exercise424.g_f_mem_of_mem {A : Type u_1} {B : Type u_2} {f : AB} {g : BA} {a : A} (ha : a sbSet f g) :
        g (f a) sbSet f g

        g(f(a)) ∈ X whenever a ∈ X (the g(f(X)) ⊆ T(X) = X half).

        theorem Domain.Neighborhood.Exercise424.sbFun_injective {A : Type u_1} {B : Type u_2} {f : AB} {g : BA} (hf : Function.Injective f) :
        theorem Domain.Neighborhood.Exercise424.sbFun_surjective {A : Type u_1} {B : Type u_2} {f : AB} {g : BA} (hg : Function.Injective g) :
        theorem Domain.Neighborhood.Exercise424.schroeder_bernstein {A : Type u_1} {B : Type u_2} {f : AB} {g : BA} (hf : Function.Injective f) (hg : Function.Injective g) :

        Exercise 4.24 (Scott 1981, PRG-19) — Schröder–Bernstein. Injections f : A → B and g : B → A yield a bijection A → B.

        noncomputable def Domain.Neighborhood.Exercise424.schroederBernsteinEquiv {A : Type u_1} {B : Type u_2} {f : AB} {g : BA} (hf : Function.Injective f) (hg : Function.Injective g) :
        A B

        Exercise 4.24 (Scott 1981, PRG-19). The one-one correspondence as an Equiv A ≃ B.

        Equations
        Instances For