/-
Copyright 2026 The Formal Conjectures Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-/importFormalConjecturesUtil
A subset $A_1 \times B_1 \times C_1$ of $A \times B \times C$ is monochromatic
under a 2-colouring $f : A \to B \to C \to \operatorname{Fin} 2$ if $f$ is constant on
$A_1 \times B_1 \times C_1$.
Initial segments of ω₁ (as sets of Omega1 elements) are countable.
This is the subtype-order version of countable_Iio_of_lt_omega1.
@[categoryAPI,AMS5]privatelemmacountable_Iio_omega1(γ:Omega1):(Set.Iioγ:SetOmega1).Countable:=γ:Omega1⊢ (Iioγ).Countable-- The injection a ↦ ⟨a.1.val, a.2⟩ sends ↑(Iio γ : Set Omega1) into ↑(Iio γ.val : Set Ord)-- and the codomain is countable by countable_Iio_of_lt_omega1.γ:Omega1hcount:Countable↑(Iio↑γ)⊢ (Iioγ).Countable-- Goal: (Set.Iio γ : Set Omega1).Countable = Set.Countable (Set.Iio γ)-- = Countable ↥(Set.Iio γ : Set Omega1) (by definition of Set.Countable)γ:Omega1hcount:Countable↑(Iio↑γ)⊢ Countable↑(Iioγ)-- Use Function.Injective.countable with the injection a ↦ ⟨a.1.val, a.2⟩.γ:Omega1hcount:Countable↑(Iio↑γ)⊢ Function.Injectivefuna↦⟨↑↑a,⋯⟩-- `h` arrives as an unreduced application of the injection.γ:Omega1hcount:Countable↑(Iio↑γ)av:Ordinal.{0}hav_ω₁:av<ω_1hav_γ:⟨av,hav_ω₁⟩∈Iioγbv:Ordinal.{0}hbv_ω₁:bv<ω_1hbv_γ:⟨bv,hbv_ω₁⟩∈Iioγh:(funa↦⟨↑↑a,⋯⟩)⟨⟨av,hav_ω₁⟩,hav_γ⟩=(funa↦⟨↑↑a,⋯⟩)⟨⟨bv,hbv_ω₁⟩,hbv_γ⟩⊢ ⟨⟨av,hav_ω₁⟩,hav_γ⟩=⟨⟨bv,hbv_ω₁⟩,hbv_γ⟩γ:Omega1hcount:Countable↑(Iio↑γ)av:Ordinal.{0}hav_ω₁:av<ω_1hav_γ:⟨av,hav_ω₁⟩∈Iioγbv:Ordinal.{0}hbv_ω₁:bv<ω_1hbv_γ:⟨bv,hbv_ω₁⟩∈Iioγh:av=bv⊢ ⟨⟨av,hav_ω₁⟩,hav_γ⟩=⟨⟨bv,hbv_ω₁⟩,hbv_γ⟩All goals completed! 🐙
Any countable subset of $\omega_1$ is bounded strictly below some element of $\omega_1$.
This uses the key property that $\omega_1$ has uncountable cofinality (it is regular).
There exists a 2-colouring $f$ of a set of cardinality $\aleph_1$ cubed such that
no countable box $A_1 \times B_1 \times C_1$ is monochromatic.
This is the unpublished result of Prikry and Mills (1978). The proof proceeds by
transfinite induction along $\omega_1$, which has uncountable cofinality, ensuring
every countable box is non-monochromatic.
@[categoryresearchsolved,AMS35]theoremerdos_1128.prikryMills:∃(X:Type)(_:#X=aleph1)(f:X→X→X→Fin2),∀(A₁B₁C₁:SetX),#A₁=aleph0→#B₁=aleph0→#C₁=aleph0→¬IsMonochromaticBoxfA₁B₁C₁:=by⊢ ∃X,∃(_:#X=ℵ_1),∃f,∀(A₁B₁C₁:SetX),#↑A₁=ℵ_0→#↑B₁=ℵ_0→#↑C₁=ℵ_0→¬IsMonochromaticBoxfA₁B₁C₁-- The Prikry–Mills construction (1978, unpublished):-- Take X = ω_ 1.ToType, which has cardinality ℵ₁ (by mk_ord_toType).---- Construction by transfinite induction on γ < ω₁:-- * For each γ, since Iio γ is countable (card_le_aleph0_of_lt_omega1), choose an-- injection e_γ : Iio γ → ℕ. The injection is chosen to "kill" all countable-- boxes (A_ξ × B_ξ × C_ξ)_{ξ<γ} that are relevant to stage γ.-- * Define f(α, β, γ) = 0 if e_γ(α) < e_γ(β) when both α, β ∈ Iio γ; else f = 1.-- (Extend arbitrarily when the coordinates don't satisfy α, β < γ.)---- Non-monochromaticity proof sketch:-- Given a putative monochromatic box A₁ × B₁ × C₁ (say with color 0), the-- diagonalization at the stage γ* = min(C₁ above sup(A₁ ∪ B₁)) ensures that-- e_{γ*} was specifically chosen so that the coloring is NOT constant on A₁ × B₁-- via γ*. The key counting argument:-- * sup(A₁ ∪ B₁) < ω₁ (by countable_subset_bdd, since A₁ ∪ B₁ is countable).-- * At stage γ*, the image e_{γ*}(A₁) ⊆ ℕ and e_{γ*}(B₁) ⊆ ℕ are both-- infinite, so neither "∀ a < all b" nor "∀ a > all b" can hold.-- * This gives a witness pair (α, β) where f(α, β, γ*) ≠ color 0.---- The full formalization requires transfinite inductive choice (choosing e_γ for-- each γ via Well.rec or Ordinal.limitRecOn) and a careful stage counting argument-- using ω₁'s uncountable cofinality.sorryAll goals completed! 🐙
Erdős Problem 1128 (disproved by Prikry–Mills, 1978):
Erdős asked whether every 2-colouring of $A \times B \times C$, where
$|A| = |B| = |C| = \aleph_1$, must contain a monochromatic countable box
$A_1 \times B_1 \times C_1$ with $|A_1| = |B_1| = |C_1| = \aleph_0$.
The answer is No: Prikry and Mills constructed a 2-colouring of $\omega_1^3$
with no monochromatic countable box.
Note: The positive statement asserts that every 2-colouring of every $\aleph_1^3$
contains a monochromatic countably infinite box. Since the answer is False, this
positive statement fails.
@[categoryresearchsolved,AMS35]theoremerdos_1128:answer(False)↔∀(ABC:Type)(_:#A=aleph1)(_:#B=aleph1)(_:#C=aleph1)(f:A→B→C→Fin2),∃(A₁:SetA)(B₁:SetB)(C₁:SetC),#A₁=aleph0∧#B₁=aleph0∧#C₁=aleph0∧IsMonochromaticBoxfA₁B₁C₁:=by⊢ False↔∀(ABC:Type),#A=ℵ_1→#B=ℵ_1→#C=ℵ_1→∀(f:A→B→C→Fin2),∃A₁B₁C₁,#↑A₁=ℵ_0∧#↑B₁=ℵ_0∧#↑C₁=ℵ_0∧IsMonochromaticBoxfA₁B₁C₁-- `answer(False)` reduces to `False` in the default elaborator mode.-- The goal is: False ↔ ∀ A B C, |A| = ℵ₁ → |B| = ℵ₁ → |C| = ℵ₁ →-- ∀ f, ∃ monochromatic countable box.-- (→): False implies anything.-- (←): The Prikry–Mills theorem provides A B C of size ℵ₁ and a 2-colouring-- with no monochromatic countable box, contradicting the hypothesis.constructormp⊢ False→∀(ABC:Type),#A=ℵ_1→#B=ℵ_1→#C=ℵ_1→∀(f:A→B→C→Fin2),∃A₁B₁C₁,#↑A₁=ℵ_0∧#↑B₁=ℵ_0∧#↑C₁=ℵ_0∧IsMonochromaticBoxfA₁B₁C₁mpr⊢ (∀(ABC:Type),#A=ℵ_1→#B=ℵ_1→#C=ℵ_1→∀(f:A→B→C→Fin2),∃A₁B₁C₁,#↑A₁=ℵ_0∧#↑B₁=ℵ_0∧#↑C₁=ℵ_0∧IsMonochromaticBoxfA₁B₁C₁)→False·mp⊢ False→∀(ABC:Type),#A=ℵ_1→#B=ℵ_1→#C=ℵ_1→∀(f:A→B→C→Fin2),∃A₁B₁C₁,#↑A₁=ℵ_0∧#↑B₁=ℵ_0∧#↑C₁=ℵ_0∧IsMonochromaticBoxfA₁B₁C₁introhmph:False⊢ ∀(ABC:Type),#A=ℵ_1→#B=ℵ_1→#C=ℵ_1→∀(f:A→B→C→Fin2),∃A₁B₁C₁,#↑A₁=ℵ_0∧#↑B₁=ℵ_0∧#↑C₁=ℵ_0∧IsMonochromaticBoxfA₁B₁C₁;exacth.elimAll goals completed! 🐙·mpr⊢ (∀(ABC:Type),#A=ℵ_1→#B=ℵ_1→#C=ℵ_1→∀(f:A→B→C→Fin2),∃A₁B₁C₁,#↑A₁=ℵ_0∧#↑B₁=ℵ_0∧#↑C₁=ℵ_0∧IsMonochromaticBoxfA₁B₁C₁)→Falseintrohmprh:∀(ABC:Type),#A=ℵ_1→#B=ℵ_1→#C=ℵ_1→∀(f:A→B→C→Fin2),∃A₁B₁C₁,#↑A₁=ℵ_0∧#↑B₁=ℵ_0∧#↑C₁=ℵ_0∧IsMonochromaticBoxfA₁B₁C₁⊢ False-- Obtain the Prikry–Mills counterexample: a type X of cardinality ℵ₁ with a-- 2-colouring f : X → X → X → Fin 2 having no monochromatic countable box.obtain⟨X,hX,f,hf⟩:=erdos_1128.prikryMillsmprh:∀(ABC:Type),#A=ℵ_1→#B=ℵ_1→#C=ℵ_1→∀(f:A→B→C→Fin2),∃A₁B₁C₁,#↑A₁=ℵ_0∧#↑B₁=ℵ_0∧#↑C₁=ℵ_0∧IsMonochromaticBoxfA₁B₁C₁X:TypehX:#X=ℵ_1f:X→X→X→Fin2hf:∀(A₁B₁C₁:SetX),#↑A₁=ℵ_0→#↑B₁=ℵ_0→#↑C₁=ℵ_0→¬IsMonochromaticBoxfA₁B₁C₁⊢ False-- Apply h to X (playing the roles of A, B, C), using |X| = ℵ₁.obtain⟨A₁,B₁,C₁,hA,hB,hC,hbox⟩:=hXXXhXhXhXfmprh:∀(ABC:Type),#A=ℵ_1→#B=ℵ_1→#C=ℵ_1→∀(f:A→B→C→Fin2),∃A₁B₁C₁,#↑A₁=ℵ_0∧#↑B₁=ℵ_0∧#↑C₁=ℵ_0∧IsMonochromaticBoxfA₁B₁C₁X:TypehX:#X=ℵ_1f:X→X→X→Fin2hf:∀(A₁B₁C₁:SetX),#↑A₁=ℵ_0→#↑B₁=ℵ_0→#↑C₁=ℵ_0→¬IsMonochromaticBoxfA₁B₁C₁A₁:SetXB₁:SetXC₁:SetXhA:#↑A₁=ℵ_0hB:#↑B₁=ℵ_0hC:#↑C₁=ℵ_0hbox:IsMonochromaticBoxfA₁B₁C₁⊢ False-- The Prikry–Mills theorem says no countably infinite box is monochromatic.-- Since #A₁ = aleph 0, #B₁ = aleph 0, #C₁ = aleph 0, this is a contradiction.exacthfA₁B₁C₁hAhBhChboxAll goals completed! 🐙
Explicit form of Prikry–Mills:
There exists a 2-colouring of $\omega_1 \times \omega_1 \times \omega_1$ such that
for every countably infinite $A_1, B_1, C_1 \subseteq \omega_1$, the box
$A_1 \times B_1 \times C_1$ is not monochromatic.
This is the content of the Prikry–Mills theorem (1978, unpublished), stated
using Lean's ordinal type {o : Ordinal // o < ω_ 1} as the
representation of $\omega_1$.
@[categoryresearchsolved,AMS35]theoremerdos_1128.variants.prikryMills_explicit:∃(f:{o:Ordinal//o<ω_1}→{o:Ordinal//o<ω_1}→{o:Ordinal//o<ω_1}→Fin2),∀(A₁B₁C₁:Set{o:Ordinal//o<ω_1}),#A₁=aleph0→#B₁=aleph0→#C₁=aleph0→¬IsMonochromaticBoxfA₁B₁C₁:=by⊢ ∃f,∀(A₁:Set{o//o<ω_1})(B₁:Set{o//o<ω_1})(C₁:Set{o//o<ω_1}),#↑A₁=ℵ_0→#↑B₁=ℵ_0→#↑C₁=ℵ_0→¬IsMonochromaticBoxfA₁B₁C₁-- This is the explicit form of the Prikry–Mills theorem on-- ω₁ = {o : Ordinal // o < ω_ 1}.---- Key ingredients (all proved in the auxiliary lemmas above):-- 1. countable_Iio_of_lt_omega1: For each γ < ω₁, the set Iio γ is countable.-- 2. countable_subset_bdd: Any countable A₁ ⊆ ω₁ is bounded below ω₁.-- (Uses iSup_sequence_lt_omega_one and the regularity of ω₁.)---- Construction: By transfinite induction, choose injections e_γ : Iio γ → ℕ-- (possible by countable_Iio_of_lt_omega1 and Countable.exists_injective_nat)-- to "kill" every countable box. The coloring is:-- f(α, β, γ) = 0 if e_γ(α) < e_γ(β) (when α, β < γ)-- f(α, β, γ) = 1 otherwise---- Non-monochromaticity: For any countable A₁, B₁, C₁ ⊆ ω₁, by-- countable_subset_bdd there exists γ ∈ C₁ above sup(A₁ ∪ B₁). At this γ,-- e_γ embeds A₁ ∪ B₁ injectively into ℕ, giving infinite disjoint images.-- Two infinite subsets of ℕ cannot have all elements of one strictly less than-- all elements of the other, giving a contradiction with monochromaticity.---- Universe note: {o : Ordinal // o < ω_ 1} lives in Type 1 while the-- abstract prikryMills uses X : Type 0. The construction here is self-contained-- and does not need to be reduced to prikryMills.sorryAll goals completed! 🐙
The claim that every 2-colouring of $\omega_1 \times \omega_1$ has an uncountable
monochromatic product rectangle is false in ZFC.
Counterexample: The ordering colouring $f(\alpha, \beta) = 0$ iff $\alpha < \beta$
has no uncountable monochromatic product rectangle $A_1 \times B_1$.
Proof: If $A_1 \times B_1$ were monochromatic with colour 0, then every element of
$A_1$ would be strictly less than every element of $B_1$, making $A_1$ bounded above in
$\omega_1$; but any bounded subset of $\omega_1$ is countable (since initial segments are
countable), contradicting $A_1$ being uncountable. The colour-1 case is symmetric with
the roles of $A_1$ and $B_1$ swapped.
Note: The correct classical result for 2-colourings of pairs (not products) is the
Erdős–Rado theorem $\omega_1 \to (\omega_1)^2_2$, which concerns unordered pairs.
@[categoryresearchsolved,AMS35]theoremerdos_1128.variants.two_dimensional_false:¬∀(f:Omega1→Omega1→Fin2),∃(A₁B₁:SetOmega1),¬A₁.Countable∧¬B₁.Countable∧∃c:Fin2,∀a∈A₁,∀b∈B₁,fab=c:=by⊢ ¬∀(f:Omega1→Omega1→Fin2),∃A₁B₁,¬A₁.Countable∧¬B₁.Countable∧∃c,∀a∈A₁,∀b∈B₁,fab=c-- The ordering colouring f(α, β) = [α < β] is the counterexample.-- Introduce the negation: assume every colouring has an uncountable monochromatic rectangle.introhh:∀(f:Omega1→Omega1→Fin2),∃A₁B₁,¬A₁.Countable∧¬B₁.Countable∧∃c,∀a∈A₁,∀b∈B₁,fab=c⊢ False-- Instantiate h with the ordering colouring f(α, β) = if α < β then 0 else 1.specializeh(funab=>ifa.val<b.valthen0else1)h:∃A₁B₁,¬A₁.Countable∧¬B₁.Countable∧∃c,∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=c⊢ Falseobtain⟨A₁,B₁,hA_unc,hB_unc,c,hcol⟩:=hA₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.Countablec:Fin2hcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=c⊢ False-- Key tool: bounded subsets of ω₁ (Omega1) are countable.-- Proof: if A₁ ⊆ Iio γ for some γ : Omega1, then A₁ ⊆ Iio γ and Iio γ is countable.-- Contrapositive: uncountable subsets of ω₁ are not bounded (i.e., cofinal in ω₁).haveA₁_unbdd:∀γ:Omega1,∃a∈A₁,γ≤a:=by⊢ ¬∀(f:Omega1→Omega1→Fin2),∃A₁B₁,¬A₁.Countable∧¬B₁.Countable∧∃c,∀a∈A₁,∀b∈B₁,fab=cA₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.Countablec:Fin2hcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=cA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤a⊢ FalseintroγA₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.Countablec:Fin2hcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=cγ:Omega1⊢ ∃a∈A₁,γ≤aA₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.Countablec:Fin2hcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=cA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤a⊢ Falseby_contra!hbddA₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.Countablec:Fin2hcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=cγ:Omega1hbdd:∀a∈A₁,a<γ⊢ FalseA₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.Countablec:Fin2hcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=cA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤a⊢ FalseexacthA_unc(Set.Countable.mono(funaha=>hbddaha)(countable_Iio_omega1γ))A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.Countablec:Fin2hcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=cA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤a⊢ FalseA₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.Countablec:Fin2hcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=cA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤a⊢ FalsehaveB₁_unbdd:∀γ:Omega1,∃b∈B₁,γ≤b:=by⊢ ¬∀(f:Omega1→Omega1→Fin2),∃A₁B₁,¬A₁.Countable∧¬B₁.Countable∧∃c,∀a∈A₁,∀b∈B₁,fab=cA₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.Countablec:Fin2hcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=cA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤b⊢ FalseintroγA₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.Countablec:Fin2hcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=cA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aγ:Omega1⊢ ∃b∈B₁,γ≤bA₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.Countablec:Fin2hcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=cA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤b⊢ Falseby_contra!hbddA₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.Countablec:Fin2hcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=cA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aγ:Omega1hbdd:∀b∈B₁,b<γ⊢ FalseA₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.Countablec:Fin2hcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=cA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤b⊢ FalseexacthB_unc(Set.Countable.mono(funbhb=>hbddbhb)(countable_Iio_omega1γ))A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.Countablec:Fin2hcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=cA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤b⊢ FalseA₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.Countablec:Fin2hcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=cA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤b⊢ False-- A₁ and B₁ are both nonempty (since uncountable sets are nonempty).havehA_ne:A₁.Nonempty:=by⊢ ¬∀(f:Omega1→Omega1→Fin2),∃A₁B₁,¬A₁.Countable∧¬B₁.Countable∧∃c,∀a∈A₁,∀b∈B₁,fab=cA₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.Countablec:Fin2hcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=cA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhA_ne:A₁.Nonempty⊢ Falseby_contrahempA₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.Countablec:Fin2hcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=cA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhemp:¬A₁.Nonempty⊢ FalseA₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.Countablec:Fin2hcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=cA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhA_ne:A₁.Nonempty⊢ Falserw[Set.not_nonempty_iff_eq_emptyA₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.Countablec:Fin2hcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=cA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhemp:A₁=∅⊢ FalseA₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.Countablec:Fin2hcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=cA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhemp:A₁=∅⊢ FalseA₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.Countablec:Fin2hcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=cA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhA_ne:A₁.Nonempty⊢ False]athempA₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.Countablec:Fin2hcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=cA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhemp:A₁=∅⊢ FalseA₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.Countablec:Fin2hcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=cA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhA_ne:A₁.Nonempty⊢ FalseexacthA_unc(hemp▸Set.countable_empty)A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.Countablec:Fin2hcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=cA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhA_ne:A₁.Nonempty⊢ FalseA₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.Countablec:Fin2hcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=cA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhA_ne:A₁.Nonempty⊢ FalsehavehB_ne:B₁.Nonempty:=by⊢ ¬∀(f:Omega1→Omega1→Fin2),∃A₁B₁,¬A₁.Countable∧¬B₁.Countable∧∃c,∀a∈A₁,∀b∈B₁,fab=cA₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.Countablec:Fin2hcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=cA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhA_ne:A₁.NonemptyhB_ne:B₁.Nonempty⊢ Falseby_contrahempA₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.Countablec:Fin2hcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=cA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhA_ne:A₁.Nonemptyhemp:¬B₁.Nonempty⊢ FalseA₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.Countablec:Fin2hcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=cA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhA_ne:A₁.NonemptyhB_ne:B₁.Nonempty⊢ Falserw[Set.not_nonempty_iff_eq_emptyA₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.Countablec:Fin2hcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=cA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhA_ne:A₁.Nonemptyhemp:B₁=∅⊢ FalseA₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.Countablec:Fin2hcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=cA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhA_ne:A₁.Nonemptyhemp:B₁=∅⊢ FalseA₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.Countablec:Fin2hcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=cA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhA_ne:A₁.NonemptyhB_ne:B₁.Nonempty⊢ False]athempA₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.Countablec:Fin2hcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=cA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhA_ne:A₁.Nonemptyhemp:B₁=∅⊢ FalseA₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.Countablec:Fin2hcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=cA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhA_ne:A₁.NonemptyhB_ne:B₁.Nonempty⊢ FalseexacthB_unc(hemp▸Set.countable_empty)A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.Countablec:Fin2hcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=cA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhA_ne:A₁.NonemptyhB_ne:B₁.Nonempty⊢ FalseA₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.Countablec:Fin2hcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=cA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhA_ne:A₁.NonemptyhB_ne:B₁.Nonempty⊢ False-- Case analysis on the colour c.fin_casesc«0»A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhA_ne:A₁.NonemptyhB_ne:B₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨0,⋯⟩⊢ False«1»A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhA_ne:A₁.NonemptyhB_ne:B₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨1,⋯⟩⊢ False·«0»A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhA_ne:A₁.NonemptyhB_ne:B₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨0,⋯⟩⊢ False-- c = 0: ∀ a ∈ A₁, ∀ b ∈ B₁, a.val < b.val (since f a b = 0 iff a.val < b.val)-- A₁ is unbounded, so pick a ∈ A₁ with a ≥ b₀ for some b₀ ∈ B₁.obtain⟨b₀,hb₀⟩:=hB_ne«0»A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhA_ne:A₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨0,⋯⟩b₀:Omega1hb₀:b₀∈B₁⊢ Falseobtain⟨a,haA,hba⟩:=A₁_unbddb₀«0»A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhA_ne:A₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨0,⋯⟩b₀:Omega1hb₀:b₀∈B₁a:Omega1haA:a∈A₁hba:b₀≤a⊢ False-- hcol a haA b₀ hb₀ says f a b₀ = 0, i.e., a.val < b₀.val.havehcol_val:a.val<b₀.val:=by⊢ ¬∀(f:Omega1→Omega1→Fin2),∃A₁B₁,¬A₁.Countable∧¬B₁.Countable∧∃c,∀a∈A₁,∀b∈B₁,fab=c«0»A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhA_ne:A₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨0,⋯⟩b₀:Omega1hb₀:b₀∈B₁a:Omega1haA:a∈A₁hba:b₀≤ahcol_val:↑a<↑b₀⊢ Falsehaveh0:=hcolahaAb₀hb₀A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhA_ne:A₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨0,⋯⟩b₀:Omega1hb₀:b₀∈B₁a:Omega1haA:a∈A₁hba:b₀≤ah0:(if↑a<↑b₀then0else1)=(funi↦i)⟨0,⋯⟩⊢ ↑a<↑b₀«0»A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhA_ne:A₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨0,⋯⟩b₀:Omega1hb₀:b₀∈B₁a:Omega1haA:a∈A₁hba:b₀≤ahcol_val:↑a<↑b₀⊢ Falsesimponly[Fin.isValue]ath0A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhA_ne:A₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨0,⋯⟩b₀:Omega1hb₀:b₀∈B₁a:Omega1haA:a∈A₁hba:b₀≤ah0:(if↑a<↑b₀then0else1)=⟨0,⋯⟩⊢ ↑a<↑b₀«0»A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhA_ne:A₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨0,⋯⟩b₀:Omega1hb₀:b₀∈B₁a:Omega1haA:a∈A₁hba:b₀≤ahcol_val:↑a<↑b₀⊢ Falsesplit_ifsath0withhltposA₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhA_ne:A₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨0,⋯⟩b₀:Omega1hb₀:b₀∈B₁a:Omega1haA:a∈A₁hba:b₀≤ahlt:↑a<↑b₀h0:0=⟨0,⋯⟩⊢ ↑a<↑b₀negA₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhA_ne:A₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨0,⋯⟩b₀:Omega1hb₀:b₀∈B₁a:Omega1haA:a∈A₁hba:b₀≤ahlt:¬↑a<↑b₀h0:1=⟨0,⋯⟩⊢ ↑a<↑b₀«0»A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhA_ne:A₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨0,⋯⟩b₀:Omega1hb₀:b₀∈B₁a:Omega1haA:a∈A₁hba:b₀≤ahcol_val:↑a<↑b₀⊢ False·posA₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhA_ne:A₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨0,⋯⟩b₀:Omega1hb₀:b₀∈B₁a:Omega1haA:a∈A₁hba:b₀≤ahlt:↑a<↑b₀h0:0=⟨0,⋯⟩⊢ ↑a<↑b₀«0»A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhA_ne:A₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨0,⋯⟩b₀:Omega1hb₀:b₀∈B₁a:Omega1haA:a∈A₁hba:b₀≤ahcol_val:↑a<↑b₀⊢ FalseexacthltAll goals completed! 🐙«0»A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhA_ne:A₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨0,⋯⟩b₀:Omega1hb₀:b₀∈B₁a:Omega1haA:a∈A₁hba:b₀≤ahcol_val:↑a<↑b₀⊢ False·negA₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhA_ne:A₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨0,⋯⟩b₀:Omega1hb₀:b₀∈B₁a:Omega1haA:a∈A₁hba:b₀≤ahlt:¬↑a<↑b₀h0:1=⟨0,⋯⟩⊢ ↑a<↑b₀«0»A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhA_ne:A₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨0,⋯⟩b₀:Omega1hb₀:b₀∈B₁a:Omega1haA:a∈A₁hba:b₀≤ahcol_val:↑a<↑b₀⊢ Falseexactabsurdh0(byA₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhA_ne:A₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨0,⋯⟩b₀:Omega1hb₀:b₀∈B₁a:Omega1haA:a∈A₁hba:b₀≤ahlt:¬↑a<↑b₀h0:1=⟨0,⋯⟩⊢ ¬1=⟨0,⋯⟩«0»A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhA_ne:A₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨0,⋯⟩b₀:Omega1hb₀:b₀∈B₁a:Omega1haA:a∈A₁hba:b₀≤ahcol_val:↑a<↑b₀⊢ FalsedecideAll goals completed! 🐙«0»A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhA_ne:A₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨0,⋯⟩b₀:Omega1hb₀:b₀∈B₁a:Omega1haA:a∈A₁hba:b₀≤ahcol_val:↑a<↑b₀⊢ False)«0»A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhA_ne:A₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨0,⋯⟩b₀:Omega1hb₀:b₀∈B₁a:Omega1haA:a∈A₁hba:b₀≤ahcol_val:↑a<↑b₀⊢ False-- But hba : b₀ ≤ a (as Omega1 elements), so b₀.val ≤ a.val. Contradiction.exactabsurdhcol_val(not_lt.mpr(Subtype.mk_le_mk.mphba))All goals completed! 🐙·«1»A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhA_ne:A₁.NonemptyhB_ne:B₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨1,⋯⟩⊢ False-- c = 1: ∀ a ∈ A₁, ∀ b ∈ B₁, f a b = 1, i.e., ¬(a.val < b.val).-- B₁ is unbounded. Use B₁_unbdd with the successor of some a₀ ∈ A₁.obtain⟨a₀,ha₀⟩:=hA_ne«1»A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhB_ne:B₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨1,⋯⟩a₀:Omega1ha₀:a₀∈A₁⊢ False-- The successor a₀.val + 1 is still below ω₁ (since ω₁ is a limit ordinal).haveha₀_succ_lt:a₀.val+1<ω_1:=by⊢ ¬∀(f:Omega1→Omega1→Fin2),∃A₁B₁,¬A₁.Countable∧¬B₁.Countable∧∃c,∀a∈A₁,∀b∈B₁,fab=c«1»A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhB_ne:B₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨1,⋯⟩a₀:Omega1ha₀:a₀∈A₁ha₀_succ_lt:↑a₀+1<ω_1⊢ Falserw[←succ_eq_add_oneA₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhB_ne:B₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨1,⋯⟩a₀:Omega1ha₀:a₀∈A₁⊢ succ↑a₀<ω_1A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhB_ne:B₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨1,⋯⟩a₀:Omega1ha₀:a₀∈A₁⊢ succ↑a₀<ω_1«1»A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhB_ne:B₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨1,⋯⟩a₀:Omega1ha₀:a₀∈A₁ha₀_succ_lt:↑a₀+1<ω_1⊢ False]A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhB_ne:B₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨1,⋯⟩a₀:Omega1ha₀:a₀∈A₁⊢ succ↑a₀<ω_1«1»A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhB_ne:B₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨1,⋯⟩a₀:Omega1ha₀:a₀∈A₁ha₀_succ_lt:↑a₀+1<ω_1⊢ False;exact(isSuccLimit_omega1).succ_lta₀.2«1»A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhB_ne:B₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨1,⋯⟩a₀:Omega1ha₀:a₀∈A₁ha₀_succ_lt:↑a₀+1<ω_1⊢ False«1»A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhB_ne:B₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨1,⋯⟩a₀:Omega1ha₀:a₀∈A₁ha₀_succ_lt:↑a₀+1<ω_1⊢ Falseobtain⟨b',hb'B,hb'_ge⟩:=B₁_unbdd⟨a₀.val+1,ha₀_succ_lt⟩«1»A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhB_ne:B₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨1,⋯⟩a₀:Omega1ha₀:a₀∈A₁ha₀_succ_lt:↑a₀+1<ω_1b':Omega1hb'B:b'∈B₁hb'_ge:⟨↑a₀+1,ha₀_succ_lt⟩≤b'⊢ False-- hb'_ge : ⟨a₀.val + 1, _⟩ ≤ b', so a₀.val + 1 ≤ b'.val, so a₀.val < b'.val.havehlt:a₀.val<b'.val:=by⊢ ¬∀(f:Omega1→Omega1→Fin2),∃A₁B₁,¬A₁.Countable∧¬B₁.Countable∧∃c,∀a∈A₁,∀b∈B₁,fab=c«1»A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhB_ne:B₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨1,⋯⟩a₀:Omega1ha₀:a₀∈A₁ha₀_succ_lt:↑a₀+1<ω_1b':Omega1hb'B:b'∈B₁hb'_ge:⟨↑a₀+1,ha₀_succ_lt⟩≤b'hlt:↑a₀<↑b'⊢ Falsehavehle:=Subtype.mk_le_mk.mphb'_geA₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhB_ne:B₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨1,⋯⟩a₀:Omega1ha₀:a₀∈A₁ha₀_succ_lt:↑a₀+1<ω_1b':Omega1hb'B:b'∈B₁hb'_ge:⟨↑a₀+1,ha₀_succ_lt⟩≤b'hle:↑a₀+1≤↑b'⊢ ↑a₀<↑b'«1»A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhB_ne:B₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨1,⋯⟩a₀:Omega1ha₀:a₀∈A₁ha₀_succ_lt:↑a₀+1<ω_1b':Omega1hb'B:b'∈B₁hb'_ge:⟨↑a₀+1,ha₀_succ_lt⟩≤b'hlt:↑a₀<↑b'⊢ False-- a₀.val < a₀.val + 1 ≤ b'.valhaveh_lt_succ:a₀.val<a₀.val+1:=by⊢ ¬∀(f:Omega1→Omega1→Fin2),∃A₁B₁,¬A₁.Countable∧¬B₁.Countable∧∃c,∀a∈A₁,∀b∈B₁,fab=cA₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhB_ne:B₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨1,⋯⟩a₀:Omega1ha₀:a₀∈A₁ha₀_succ_lt:↑a₀+1<ω_1b':Omega1hb'B:b'∈B₁hb'_ge:⟨↑a₀+1,ha₀_succ_lt⟩≤b'hle:↑a₀+1≤↑b'h_lt_succ:↑a₀<↑a₀+1⊢ ↑a₀<↑b'«1»A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhB_ne:B₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨1,⋯⟩a₀:Omega1ha₀:a₀∈A₁ha₀_succ_lt:↑a₀+1<ω_1b':Omega1hb'B:b'∈B₁hb'_ge:⟨↑a₀+1,ha₀_succ_lt⟩≤b'hlt:↑a₀<↑b'⊢ Falserw[←succ_eq_add_oneA₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhB_ne:B₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨1,⋯⟩a₀:Omega1ha₀:a₀∈A₁ha₀_succ_lt:↑a₀+1<ω_1b':Omega1hb'B:b'∈B₁hb'_ge:⟨↑a₀+1,ha₀_succ_lt⟩≤b'hle:↑a₀+1≤↑b'⊢ ↑a₀<succ↑a₀A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhB_ne:B₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨1,⋯⟩a₀:Omega1ha₀:a₀∈A₁ha₀_succ_lt:↑a₀+1<ω_1b':Omega1hb'B:b'∈B₁hb'_ge:⟨↑a₀+1,ha₀_succ_lt⟩≤b'hle:↑a₀+1≤↑b'⊢ ↑a₀<succ↑a₀A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhB_ne:B₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨1,⋯⟩a₀:Omega1ha₀:a₀∈A₁ha₀_succ_lt:↑a₀+1<ω_1b':Omega1hb'B:b'∈B₁hb'_ge:⟨↑a₀+1,ha₀_succ_lt⟩≤b'hle:↑a₀+1≤↑b'h_lt_succ:↑a₀<↑a₀+1⊢ ↑a₀<↑b'«1»A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhB_ne:B₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨1,⋯⟩a₀:Omega1ha₀:a₀∈A₁ha₀_succ_lt:↑a₀+1<ω_1b':Omega1hb'B:b'∈B₁hb'_ge:⟨↑a₀+1,ha₀_succ_lt⟩≤b'hlt:↑a₀<↑b'⊢ False]A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhB_ne:B₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨1,⋯⟩a₀:Omega1ha₀:a₀∈A₁ha₀_succ_lt:↑a₀+1<ω_1b':Omega1hb'B:b'∈B₁hb'_ge:⟨↑a₀+1,ha₀_succ_lt⟩≤b'hle:↑a₀+1≤↑b'⊢ ↑a₀<succ↑a₀A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhB_ne:B₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨1,⋯⟩a₀:Omega1ha₀:a₀∈A₁ha₀_succ_lt:↑a₀+1<ω_1b':Omega1hb'B:b'∈B₁hb'_ge:⟨↑a₀+1,ha₀_succ_lt⟩≤b'hle:↑a₀+1≤↑b'h_lt_succ:↑a₀<↑a₀+1⊢ ↑a₀<↑b'«1»A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhB_ne:B₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨1,⋯⟩a₀:Omega1ha₀:a₀∈A₁ha₀_succ_lt:↑a₀+1<ω_1b':Omega1hb'B:b'∈B₁hb'_ge:⟨↑a₀+1,ha₀_succ_lt⟩≤b'hlt:↑a₀<↑b'⊢ False;exactlt_succa₀.valA₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhB_ne:B₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨1,⋯⟩a₀:Omega1ha₀:a₀∈A₁ha₀_succ_lt:↑a₀+1<ω_1b':Omega1hb'B:b'∈B₁hb'_ge:⟨↑a₀+1,ha₀_succ_lt⟩≤b'hle:↑a₀+1≤↑b'h_lt_succ:↑a₀<↑a₀+1⊢ ↑a₀<↑b'«1»A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhB_ne:B₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨1,⋯⟩a₀:Omega1ha₀:a₀∈A₁ha₀_succ_lt:↑a₀+1<ω_1b':Omega1hb'B:b'∈B₁hb'_ge:⟨↑a₀+1,ha₀_succ_lt⟩≤b'hlt:↑a₀<↑b'⊢ FalseA₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhB_ne:B₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨1,⋯⟩a₀:Omega1ha₀:a₀∈A₁ha₀_succ_lt:↑a₀+1<ω_1b':Omega1hb'B:b'∈B₁hb'_ge:⟨↑a₀+1,ha₀_succ_lt⟩≤b'hle:↑a₀+1≤↑b'h_lt_succ:↑a₀<↑a₀+1⊢ ↑a₀<↑b'«1»A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhB_ne:B₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨1,⋯⟩a₀:Omega1ha₀:a₀∈A₁ha₀_succ_lt:↑a₀+1<ω_1b':Omega1hb'B:b'∈B₁hb'_ge:⟨↑a₀+1,ha₀_succ_lt⟩≤b'hlt:↑a₀<↑b'⊢ Falseexactlt_of_lt_of_leh_lt_succhle«1»A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhB_ne:B₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨1,⋯⟩a₀:Omega1ha₀:a₀∈A₁ha₀_succ_lt:↑a₀+1<ω_1b':Omega1hb'B:b'∈B₁hb'_ge:⟨↑a₀+1,ha₀_succ_lt⟩≤b'hlt:↑a₀<↑b'⊢ False«1»A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhB_ne:B₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨1,⋯⟩a₀:Omega1ha₀:a₀∈A₁ha₀_succ_lt:↑a₀+1<ω_1b':Omega1hb'B:b'∈B₁hb'_ge:⟨↑a₀+1,ha₀_succ_lt⟩≤b'hlt:↑a₀<↑b'⊢ False-- But hcol a₀ ha₀ b' hb'B = 1 means f a₀ b' = 1, i.e., ¬(a₀.val < b'.val).havehcol_val:¬(a₀.val<b'.val):=by⊢ ¬∀(f:Omega1→Omega1→Fin2),∃A₁B₁,¬A₁.Countable∧¬B₁.Countable∧∃c,∀a∈A₁,∀b∈B₁,fab=c«1»A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhB_ne:B₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨1,⋯⟩a₀:Omega1ha₀:a₀∈A₁ha₀_succ_lt:↑a₀+1<ω_1b':Omega1hb'B:b'∈B₁hb'_ge:⟨↑a₀+1,ha₀_succ_lt⟩≤b'hlt:↑a₀<↑b'hcol_val:¬↑a₀<↑b'⊢ Falsehaveh1:=hcola₀ha₀b'hb'BA₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhB_ne:B₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨1,⋯⟩a₀:Omega1ha₀:a₀∈A₁ha₀_succ_lt:↑a₀+1<ω_1b':Omega1hb'B:b'∈B₁hb'_ge:⟨↑a₀+1,ha₀_succ_lt⟩≤b'hlt:↑a₀<↑b'h1:(if↑a₀<↑b'then0else1)=(funi↦i)⟨1,⋯⟩⊢ ¬↑a₀<↑b'«1»A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhB_ne:B₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨1,⋯⟩a₀:Omega1ha₀:a₀∈A₁ha₀_succ_lt:↑a₀+1<ω_1b':Omega1hb'B:b'∈B₁hb'_ge:⟨↑a₀+1,ha₀_succ_lt⟩≤b'hlt:↑a₀<↑b'hcol_val:¬↑a₀<↑b'⊢ False-- h1 : (if a₀.val < b'.val then 0 else 1) = 1simponly[Fin.isValue]ath1A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhB_ne:B₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨1,⋯⟩a₀:Omega1ha₀:a₀∈A₁ha₀_succ_lt:↑a₀+1<ω_1b':Omega1hb'B:b'∈B₁hb'_ge:⟨↑a₀+1,ha₀_succ_lt⟩≤b'hlt:↑a₀<↑b'h1:(if↑a₀<↑b'then0else1)=⟨1,⋯⟩⊢ ¬↑a₀<↑b'«1»A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhB_ne:B₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨1,⋯⟩a₀:Omega1ha₀:a₀∈A₁ha₀_succ_lt:↑a₀+1<ω_1b':Omega1hb'B:b'∈B₁hb'_ge:⟨↑a₀+1,ha₀_succ_lt⟩≤b'hlt:↑a₀<↑b'hcol_val:¬↑a₀<↑b'⊢ Falseby_contrah_ltA₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhB_ne:B₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨1,⋯⟩a₀:Omega1ha₀:a₀∈A₁ha₀_succ_lt:↑a₀+1<ω_1b':Omega1hb'B:b'∈B₁hb'_ge:⟨↑a₀+1,ha₀_succ_lt⟩≤b'hlt:↑a₀<↑b'h1:(if↑a₀<↑b'then0else1)=⟨1,⋯⟩h_lt:↑a₀<↑b'⊢ False«1»A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhB_ne:B₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨1,⋯⟩a₀:Omega1ha₀:a₀∈A₁ha₀_succ_lt:↑a₀+1<ω_1b':Omega1hb'B:b'∈B₁hb'_ge:⟨↑a₀+1,ha₀_succ_lt⟩≤b'hlt:↑a₀<↑b'hcol_val:¬↑a₀<↑b'⊢ Falsesimponly[h_lt,↓reduceIte]ath1A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhB_ne:B₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨1,⋯⟩a₀:Omega1ha₀:a₀∈A₁ha₀_succ_lt:↑a₀+1<ω_1b':Omega1hb'B:b'∈B₁hb'_ge:⟨↑a₀+1,ha₀_succ_lt⟩≤b'hlt:↑a₀<↑b'h_lt:↑a₀<↑b'h1:0=⟨1,⋯⟩⊢ False«1»A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhB_ne:B₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨1,⋯⟩a₀:Omega1ha₀:a₀∈A₁ha₀_succ_lt:↑a₀+1<ω_1b':Omega1hb'B:b'∈B₁hb'_ge:⟨↑a₀+1,ha₀_succ_lt⟩≤b'hlt:↑a₀<↑b'hcol_val:¬↑a₀<↑b'⊢ Falseexactabsurdh1(byA₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhB_ne:B₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨1,⋯⟩a₀:Omega1ha₀:a₀∈A₁ha₀_succ_lt:↑a₀+1<ω_1b':Omega1hb'B:b'∈B₁hb'_ge:⟨↑a₀+1,ha₀_succ_lt⟩≤b'hlt:↑a₀<↑b'h_lt:↑a₀<↑b'h1:0=⟨1,⋯⟩⊢ ¬0=⟨1,⋯⟩«1»A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhB_ne:B₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨1,⋯⟩a₀:Omega1ha₀:a₀∈A₁ha₀_succ_lt:↑a₀+1<ω_1b':Omega1hb'B:b'∈B₁hb'_ge:⟨↑a₀+1,ha₀_succ_lt⟩≤b'hlt:↑a₀<↑b'hcol_val:¬↑a₀<↑b'⊢ FalsedecideAll goals completed! 🐙«1»A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhB_ne:B₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨1,⋯⟩a₀:Omega1ha₀:a₀∈A₁ha₀_succ_lt:↑a₀+1<ω_1b':Omega1hb'B:b'∈B₁hb'_ge:⟨↑a₀+1,ha₀_succ_lt⟩≤b'hlt:↑a₀<↑b'hcol_val:¬↑a₀<↑b'⊢ False)«1»A₁:SetOmega1B₁:SetOmega1hA_unc:¬A₁.CountablehB_unc:¬B₁.CountableA₁_unbdd:∀(γ:Omega1),∃a∈A₁,γ≤aB₁_unbdd:∀(γ:Omega1),∃b∈B₁,γ≤bhB_ne:B₁.Nonemptyhcol:∀a∈A₁,∀b∈B₁,(if↑a<↑bthen0else1)=(funi↦i)⟨1,⋯⟩a₀:Omega1ha₀:a₀∈A₁ha₀_succ_lt:↑a₀+1<ω_1b':Omega1hb'B:b'∈B₁hb'_ge:⟨↑a₀+1,ha₀_succ_lt⟩≤b'hlt:↑a₀<↑b'hcol_val:¬↑a₀<↑b'⊢ Falseexactabsurdhlthcol_valAll goals completed! 🐙endErdos1128