Theorem: SetTheory.PGame.short_birthday
File: Mathlib/SetTheory/Game/Short.lean

tactic: intro hs
state_before: case mk
xl xr : Type u
xL : xl → PGame
xR : xr → PGame
ihl : ∀ (a : xl) [inst : (xL a).Short], (xL a).birthday < Ordinal.omega
ihr : ∀ (a : xr) [inst : (xR a).Short], (xR a).birthday < Ordinal.omega
⊢ ∀ [inst : (mk xl xr xL xR).Short], (mk xl xr xL xR).birthday < Ordinal.omega
state_after: case mk
xl xr : Type u
xL : xl → PGame
xR : xr → PGame
ihl : ∀ (a : xl) [inst : (xL a).Short], (xL a).birthday < Ordinal.omega
ihr : ∀ (a : xr) [inst : (xR a).Short], (xR a).birthday < Ordinal.omega
hs : (mk xl xr xL xR).Short
⊢ (mk xl xr xL xR).birthday < Ordinal.omega

tactic: rcases hs with ⟨sL, sR⟩
state_before: case mk
xl xr : Type u
xL : xl → PGame
xR : xr → PGame
ihl : ∀ (a : xl) [inst : (xL a).Short], (xL a).birthday < Ordinal.omega
ihr : ∀ (a : xr) [inst : (xR a).Short], (xR a).birthday < Ordinal.omega
hs : (mk xl xr xL xR).Short
⊢ (mk xl xr xL xR).birthday < Ordinal.omega
state_after: case mk.mk
xl xr : Type u
xL : xl → PGame
xR : xr → PGame
ihl : ∀ (a : xl) [inst : (xL a).Short], (xL a).birthday < Ordinal.omega
ihr : ∀ (a : xr) [inst : (xR a).Short], (xR a).birthday < Ordinal.omega
inst✝¹ : Fintype xl
inst✝ : Fintype xr
sL : (i : xl) → (xL i).Short
sR : (j : xr) → (xR j).Short
⊢ (mk xl xr xL xR).birthday < Ordinal.omega

tactic: rw [birthday, max_lt_iff]
state_before: case mk.mk
xl xr : Type u
xL : xl → PGame
xR : xr → PGame
ihl : ∀ (a : xl) [inst : (xL a).Short], (xL a).birthday < Ordinal.omega
ihr : ∀ (a : xr) [inst : (xR a).Short], (xR a).birthday < Ordinal.omega
inst✝¹ : Fintype xl
inst✝ : Fintype xr
sL : (i : xl) → (xL i).Short
sR : (j : xr) → (xR j).Short
⊢ (mk xl xr xL xR).birthday < Ordinal.omega
state_after: case mk.mk
xl xr : Type u
xL : xl → PGame
xR : xr → PGame
ihl : ∀ (a : xl) [inst : (xL a).Short], (xL a).birthday < Ordinal.omega
ihr : ∀ (a : xr) [inst : (xR a).Short], (xR a).birthday < Ordinal.omega
inst✝¹ : Fintype xl
inst✝ : Fintype xr
sL : (i : xl) → (xL i).Short
sR : (j : xr) → (xR j).Short
⊢ (Ordinal.lsub fun i => (xL i).birthday) < Ordinal.omega ∧ (Ordinal.lsub fun i => (xR i).birthday) < Ordinal.omega

tactic: constructor
state_before: case mk.mk
xl xr : Type u
xL : xl → PGame
xR : xr → PGame
ihl : ∀ (a : xl) [inst : (xL a).Short], (xL a).birthday < Ordinal.omega
ihr : ∀ (a : xr) [inst : (xR a).Short], (xR a).birthday < Ordinal.omega
inst✝¹ : Fintype xl
inst✝ : Fintype xr
sL : (i : xl) → (xL i).Short
sR : (j : xr) → (xR j).Short
⊢ (Ordinal.lsub fun i => (xL i).birthday) < Ordinal.omega ∧ (Ordinal.lsub fun i => (xR i).birthday) < Ordinal.omega
state_after: case mk.mk.left
xl xr : Type u
xL : xl → PGame
xR : xr → PGame
ihl : ∀ (a : xl) [inst : (xL a).Short], (xL a).birthday < Ordinal.omega
ihr : ∀ (a : xr) [inst : (xR a).Short], (xR a).birthday < Ordinal.omega
inst✝¹ : Fintype xl
inst✝ : Fintype xr
sL : (i : xl) → (xL i).Short
sR : (j : xr) → (xR j).Short
⊢ (Ordinal.lsub fun i => (xL i).birthday) < Ordinal.omega

case mk.mk.right
xl xr : Type u
xL : xl → PGame
xR : xr → PGame
ihl : ∀ (a : xl) [inst : (xL a).Short], (xL a).birthday < Ordinal.omega
ihr : ∀ (a : xr) [inst : (xR a).Short], (xR a).birthday < Ordinal.omega
inst✝¹ : Fintype xl
inst✝ : Fintype xr
sL : (i : xl) → (xL i).Short
sR : (j : xr) → (xR j).Short
⊢ (Ordinal.lsub fun i => (xR i).birthday) < Ordinal.omega

tactic: all_goals
  rw [← Cardinal.ord_aleph0]
  refine
    Cardinal.lsub_lt_ord_of_isRegular.{u, u} Cardinal.isRegular_aleph0
      (Cardinal.lt_aleph0_of_finite _) fun i => ?_
  rw [Cardinal.ord_aleph0]
state_before: case mk.mk.left
xl xr : Type u
xL : xl → PGame
xR : xr → PGame
ihl : ∀ (a : xl) [inst : (xL a).Short], (xL a).birthday < Ordinal.omega
ihr : ∀ (a : xr) [inst : (xR a).Short], (xR a).birthday < Ordinal.omega
inst✝¹ : Fintype xl
inst✝ : Fintype xr
sL : (i : xl) → (xL i).Short
sR : (j : xr) → (xR j).Short
⊢ (Ordinal.lsub fun i => (xL i).birthday) < Ordinal.omega

case mk.mk.right
xl xr : Type u
xL : xl → PGame
xR : xr → PGame
ihl : ∀ (a : xl) [inst : (xL a).Short], (xL a).birthday < Ordinal.omega
ihr : ∀ (a : xr) [inst : (xR a).Short], (xR a).birthday < Ordinal.omega
inst✝¹ : Fintype xl
inst✝ : Fintype xr
sL : (i : xl) → (xL i).Short
sR : (j : xr) → (xR j).Short
⊢ (Ordinal.lsub fun i => (xR i).birthday) < Ordinal.omega
state_after: case mk.mk.left
xl xr : Type u
xL : xl → PGame
xR : xr → PGame
ihl : ∀ (a : xl) [inst : (xL a).Short], (xL a).birthday < Ordinal.omega
ihr : ∀ (a : xr) [inst : (xR a).Short], (xR a).birthday < Ordinal.omega
inst✝¹ : Fintype xl
inst✝ : Fintype xr
sL : (i : xl) → (xL i).Short
sR : (j : xr) → (xR j).Short
i : xl
⊢ (xL i).birthday < Ordinal.omega

case mk.mk.right
xl xr : Type u
xL : xl → PGame
xR : xr → PGame
ihl : ∀ (a : xl) [inst : (xL a).Short], (xL a).birthday < Ordinal.omega
ihr : ∀ (a : xr) [inst : (xR a).Short], (xR a).birthday < Ordinal.omega
inst✝¹ : Fintype xl
inst✝ : Fintype xr
sL : (i : xl) → (xL i).Short
sR : (j : xr) → (xR j).Short
i : xr
⊢ (xR i).birthday < Ordinal.omega

tactic: rw [← Cardinal.ord_aleph0]
state_before: case mk.mk.right
xl xr : Type u
xL : xl → PGame
xR : xr → PGame
ihl : ∀ (a : xl) [inst : (xL a).Short], (xL a).birthday < Ordinal.omega
ihr : ∀ (a : xr) [inst : (xR a).Short], (xR a).birthday < Ordinal.omega
inst✝¹ : Fintype xl
inst✝ : Fintype xr
sL : (i : xl) → (xL i).Short
sR : (j : xr) → (xR j).Short
⊢ (Ordinal.lsub fun i => (xR i).birthday) < Ordinal.omega
state_after: case mk.mk.right
xl xr : Type u
xL : xl → PGame
xR : xr → PGame
ihl : ∀ (a : xl) [inst : (xL a).Short], (xL a).birthday < Ordinal.omega
ihr : ∀ (a : xr) [inst : (xR a).Short], (xR a).birthday < Ordinal.omega
inst✝¹ : Fintype xl
inst✝ : Fintype xr
sL : (i : xl) → (xL i).Short
sR : (j : xr) → (xR j).Short
⊢ (Ordinal.lsub fun i => (xR i).birthday) < Cardinal.aleph0.ord

tactic: refine
  Cardinal.lsub_lt_ord_of_isRegular.{u, u} Cardinal.isRegular_aleph0
    (Cardinal.lt_aleph0_of_finite _) fun i => ?_
state_before: case mk.mk.right
xl xr : Type u
xL : xl → PGame
xR : xr → PGame
ihl : ∀ (a : xl) [inst : (xL a).Short], (xL a).birthday < Ordinal.omega
ihr : ∀ (a : xr) [inst : (xR a).Short], (xR a).birthday < Ordinal.omega
inst✝¹ : Fintype xl
inst✝ : Fintype xr
sL : (i : xl) → (xL i).Short
sR : (j : xr) → (xR j).Short
⊢ (Ordinal.lsub fun i => (xR i).birthday) < Cardinal.aleph0.ord
state_after: case mk.mk.right
xl xr : Type u
xL : xl → PGame
xR : xr → PGame
ihl : ∀ (a : xl) [inst : (xL a).Short], (xL a).birthday < Ordinal.omega
ihr : ∀ (a : xr) [inst : (xR a).Short], (xR a).birthday < Ordinal.omega
inst✝¹ : Fintype xl
inst✝ : Fintype xr
sL : (i : xl) → (xL i).Short
sR : (j : xr) → (xR j).Short
i : xr
⊢ (xR i).birthday < Cardinal.aleph0.ord

tactic: rw [Cardinal.ord_aleph0]
state_before: case mk.mk.right
xl xr : Type u
xL : xl → PGame
xR : xr → PGame
ihl : ∀ (a : xl) [inst : (xL a).Short], (xL a).birthday < Ordinal.omega
ihr : ∀ (a : xr) [inst : (xR a).Short], (xR a).birthday < Ordinal.omega
inst✝¹ : Fintype xl
inst✝ : Fintype xr
sL : (i : xl) → (xL i).Short
sR : (j : xr) → (xR j).Short
i : xr
⊢ (xR i).birthday < Cardinal.aleph0.ord
state_after: case mk.mk.right
xl xr : Type u
xL : xl → PGame
xR : xr → PGame
ihl : ∀ (a : xl) [inst : (xL a).Short], (xL a).birthday < Ordinal.omega
ihr : ∀ (a : xr) [inst : (xR a).Short], (xR a).birthday < Ordinal.omega
inst✝¹ : Fintype xl
inst✝ : Fintype xr
sL : (i : xl) → (xL i).Short
sR : (j : xr) → (xR j).Short
i : xr
⊢ (xR i).birthday < Ordinal.omega

tactic: apply ihl
state_before: case mk.mk.left
xl xr : Type u
xL : xl → PGame
xR : xr → PGame
ihl : ∀ (a : xl) [inst : (xL a).Short], (xL a).birthday < Ordinal.omega
ihr : ∀ (a : xr) [inst : (xR a).Short], (xR a).birthday < Ordinal.omega
inst✝¹ : Fintype xl
inst✝ : Fintype xr
sL : (i : xl) → (xL i).Short
sR : (j : xr) → (xR j).Short
i : xl
⊢ (xL i).birthday < Ordinal.omega
state_after: no goals

tactic: apply ihr
state_before: case mk.mk.right
xl xr : Type u
xL : xl → PGame
xR : xr → PGame
ihl : ∀ (a : xl) [inst : (xL a).Short], (xL a).birthday < Ordinal.omega
ihr : ∀ (a : xr) [inst : (xR a).Short], (xR a).birthday < Ordinal.omega
inst✝¹ : Fintype xl
inst✝ : Fintype xr
sL : (i : xl) → (xL i).Short
sR : (j : xr) → (xR j).Short
i : xr
⊢ (xR i).birthday < Ordinal.omega
state_after: no goals