Theorem: Ordinal.nmul_nadd
File: Mathlib/SetTheory/Ordinal/NaturalOps.lean

tactic: refine le_antisymm (nmul_le_iff.2 fun a' ha d hd => ?_)
  (nadd_le_iff.2 ⟨fun d hd => ?_, fun d hd => ?_⟩)
state_before: a✝ b✝ c✝ d : Ordinal.{u}
a b c : Ordinal.{u_1}
⊢ a ⨳ (b ♯ c) = a ⨳ b ♯ a ⨳ c
state_after: case refine_1
a✝ b✝ c✝ d✝ : Ordinal.{u}
a b c a' : Ordinal.{u_1}
ha : a' < a
d : Ordinal.{u_1}
hd : d < b ♯ c
⊢ a' ⨳ (b ♯ c) ♯ a ⨳ d < a ⨳ b ♯ a ⨳ c ♯ a' ⨳ d

case refine_2
a✝ b✝ c✝ d✝ : Ordinal.{u}
a b c d : Ordinal.{u_1}
hd : d < a ⨳ b
⊢ d ♯ a ⨳ c < a ⨳ (b ♯ c)

case refine_3
a✝ b✝ c✝ d✝ : Ordinal.{u}
a b c d : Ordinal.{u_1}
hd : d < a ⨳ c
⊢ a ⨳ b ♯ d < a ⨳ (b ♯ c)

tactic: rw [nmul_nadd a' b c]
state_before: case refine_1
a✝ b✝ c✝ d✝ : Ordinal.{u}
a b c a' : Ordinal.{u_1}
ha : a' < a
d : Ordinal.{u_1}
hd : d < b ♯ c
⊢ a' ⨳ (b ♯ c) ♯ a ⨳ d < a ⨳ b ♯ a ⨳ c ♯ a' ⨳ d
state_after: case refine_1
a✝ b✝ c✝ d✝ : Ordinal.{u}
a b c a' : Ordinal.{u_1}
ha : a' < a
d : Ordinal.{u_1}
hd : d < b ♯ c
⊢ a' ⨳ b ♯ a' ⨳ c ♯ a ⨳ d < a ⨳ b ♯ a ⨳ c ♯ a' ⨳ d

tactic: rcases lt_nadd_iff.1 hd with (⟨b', hb, hd⟩ | ⟨c', hc, hd⟩)
state_before: case refine_1
a✝ b✝ c✝ d✝ : Ordinal.{u}
a b c a' : Ordinal.{u_1}
ha : a' < a
d : Ordinal.{u_1}
hd : d < b ♯ c
⊢ a' ⨳ b ♯ a' ⨳ c ♯ a ⨳ d < a ⨳ b ♯ a ⨳ c ♯ a' ⨳ d
state_after: case refine_1.inl.intro.intro
a✝ b✝ c✝ d✝ : Ordinal.{u}
a b c a' : Ordinal.{u_1}
ha : a' < a
d : Ordinal.{u_1}
hd✝ : d < b ♯ c
b' : Ordinal.{u_1}
hb : b' < b
hd : d ≤ b' ♯ c
⊢ a' ⨳ b ♯ a' ⨳ c ♯ a ⨳ d < a ⨳ b ♯ a ⨳ c ♯ a' ⨳ d

case refine_1.inr.intro.intro
a✝ b✝ c✝ d✝ : Ordinal.{u}
a b c a' : Ordinal.{u_1}
ha : a' < a
d : Ordinal.{u_1}
hd✝ : d < b ♯ c
c' : Ordinal.{u_1}
hc : c' < c
hd : d ≤ b ♯ c'
⊢ a' ⨳ b ♯ a' ⨳ c ♯ a ⨳ d < a ⨳ b ♯ a ⨳ c ♯ a' ⨳ d

tactic: have := nadd_lt_nadd_of_lt_of_le (nmul_nadd_lt ha hb) (nmul_nadd_le ha.le hd)
state_before: case refine_1.inl.intro.intro
a✝ b✝ c✝ d✝ : Ordinal.{u}
a b c a' : Ordinal.{u_1}
ha : a' < a
d : Ordinal.{u_1}
hd✝ : d < b ♯ c
b' : Ordinal.{u_1}
hb : b' < b
hd : d ≤ b' ♯ c
⊢ a' ⨳ b ♯ a' ⨳ c ♯ a ⨳ d < a ⨳ b ♯ a ⨳ c ♯ a' ⨳ d
state_after: case refine_1.inl.intro.intro
a✝ b✝ c✝ d✝ : Ordinal.{u}
a b c a' : Ordinal.{u_1}
ha : a' < a
d : Ordinal.{u_1}
hd✝ : d < b ♯ c
b' : Ordinal.{u_1}
hb : b' < b
hd : d ≤ b' ♯ c
this : a' ⨳ b ♯ a ⨳ b' ♯ (a' ⨳ (b' ♯ c) ♯ a ⨳ d) < a ⨳ b ♯ a' ⨳ b' ♯ (a ⨳ (b' ♯ c) ♯ a' ⨳ d)
⊢ a' ⨳ b ♯ a' ⨳ c ♯ a ⨳ d < a ⨳ b ♯ a ⨳ c ♯ a' ⨳ d

tactic: rw [nmul_nadd a' b' c, nmul_nadd a b' c] at this
state_before: case refine_1.inl.intro.intro
a✝ b✝ c✝ d✝ : Ordinal.{u}
a b c a' : Ordinal.{u_1}
ha : a' < a
d : Ordinal.{u_1}
hd✝ : d < b ♯ c
b' : Ordinal.{u_1}
hb : b' < b
hd : d ≤ b' ♯ c
this : a' ⨳ b ♯ a ⨳ b' ♯ (a' ⨳ (b' ♯ c) ♯ a ⨳ d) < a ⨳ b ♯ a' ⨳ b' ♯ (a ⨳ (b' ♯ c) ♯ a' ⨳ d)
⊢ a' ⨳ b ♯ a' ⨳ c ♯ a ⨳ d < a ⨳ b ♯ a ⨳ c ♯ a' ⨳ d
state_after: case refine_1.inl.intro.intro
a✝ b✝ c✝ d✝ : Ordinal.{u}
a b c a' : Ordinal.{u_1}
ha : a' < a
d : Ordinal.{u_1}
hd✝ : d < b ♯ c
b' : Ordinal.{u_1}
hb : b' < b
hd : d ≤ b' ♯ c
this : a' ⨳ b ♯ a ⨳ b' ♯ (a' ⨳ b' ♯ a' ⨳ c ♯ a ⨳ d) < a ⨳ b ♯ a' ⨳ b' ♯ (a ⨳ b' ♯ a ⨳ c ♯ a' ⨳ d)
⊢ a' ⨳ b ♯ a' ⨳ c ♯ a ⨳ d < a ⨳ b ♯ a ⨳ c ♯ a' ⨳ d

tactic: simp only [nadd_assoc] at this
state_before: case refine_1.inl.intro.intro
a✝ b✝ c✝ d✝ : Ordinal.{u}
a b c a' : Ordinal.{u_1}
ha : a' < a
d : Ordinal.{u_1}
hd✝ : d < b ♯ c
b' : Ordinal.{u_1}
hb : b' < b
hd : d ≤ b' ♯ c
this : a' ⨳ b ♯ a ⨳ b' ♯ (a' ⨳ b' ♯ a' ⨳ c ♯ a ⨳ d) < a ⨳ b ♯ a' ⨳ b' ♯ (a ⨳ b' ♯ a ⨳ c ♯ a' ⨳ d)
⊢ a' ⨳ b ♯ a' ⨳ c ♯ a ⨳ d < a ⨳ b ♯ a ⨳ c ♯ a' ⨳ d
state_after: case refine_1.inl.intro.intro
a✝ b✝ c✝ d✝ : Ordinal.{u}
a b c a' : Ordinal.{u_1}
ha : a' < a
d : Ordinal.{u_1}
hd✝ : d < b ♯ c
b' : Ordinal.{u_1}
hb : b' < b
hd : d ≤ b' ♯ c
this : a' ⨳ b ♯ (a ⨳ b' ♯ (a' ⨳ b' ♯ (a' ⨳ c ♯ a ⨳ d))) < a ⨳ b ♯ (a' ⨳ b' ♯ (a ⨳ b' ♯ (a ⨳ c ♯ a' ⨳ d)))
⊢ a' ⨳ b ♯ a' ⨳ c ♯ a ⨳ d < a ⨳ b ♯ a ⨳ c ♯ a' ⨳ d

tactic: rwa [nadd_left_comm, nadd_left_comm _ (a ⨳ b'), nadd_left_comm (a ⨳ b),
  nadd_lt_nadd_iff_left, nadd_left_comm (a' ⨳ b), nadd_left_comm (a ⨳ b),
  nadd_lt_nadd_iff_left, ← nadd_assoc, ← nadd_assoc] at this
state_before: case refine_1.inl.intro.intro
a✝ b✝ c✝ d✝ : Ordinal.{u}
a b c a' : Ordinal.{u_1}
ha : a' < a
d : Ordinal.{u_1}
hd✝ : d < b ♯ c
b' : Ordinal.{u_1}
hb : b' < b
hd : d ≤ b' ♯ c
this : a' ⨳ b ♯ (a ⨳ b' ♯ (a' ⨳ b' ♯ (a' ⨳ c ♯ a ⨳ d))) < a ⨳ b ♯ (a' ⨳ b' ♯ (a ⨳ b' ♯ (a ⨳ c ♯ a' ⨳ d)))
⊢ a' ⨳ b ♯ a' ⨳ c ♯ a ⨳ d < a ⨳ b ♯ a ⨳ c ♯ a' ⨳ d
state_after: no goals

tactic: have := nadd_lt_nadd_of_le_of_lt (nmul_nadd_le ha.le hd) (nmul_nadd_lt ha hc)
state_before: case refine_1.inr.intro.intro
a✝ b✝ c✝ d✝ : Ordinal.{u}
a b c a' : Ordinal.{u_1}
ha : a' < a
d : Ordinal.{u_1}
hd✝ : d < b ♯ c
c' : Ordinal.{u_1}
hc : c' < c
hd : d ≤ b ♯ c'
⊢ a' ⨳ b ♯ a' ⨳ c ♯ a ⨳ d < a ⨳ b ♯ a ⨳ c ♯ a' ⨳ d
state_after: case refine_1.inr.intro.intro
a✝ b✝ c✝ d✝ : Ordinal.{u}
a b c a' : Ordinal.{u_1}
ha : a' < a
d : Ordinal.{u_1}
hd✝ : d < b ♯ c
c' : Ordinal.{u_1}
hc : c' < c
hd : d ≤ b ♯ c'
this : a' ⨳ (b ♯ c') ♯ a ⨳ d ♯ (a' ⨳ c ♯ a ⨳ c') < a ⨳ (b ♯ c') ♯ a' ⨳ d ♯ (a ⨳ c ♯ a' ⨳ c')
⊢ a' ⨳ b ♯ a' ⨳ c ♯ a ⨳ d < a ⨳ b ♯ a ⨳ c ♯ a' ⨳ d

tactic: rw [nmul_nadd a' b c', nmul_nadd a b c'] at this
state_before: case refine_1.inr.intro.intro
a✝ b✝ c✝ d✝ : Ordinal.{u}
a b c a' : Ordinal.{u_1}
ha : a' < a
d : Ordinal.{u_1}
hd✝ : d < b ♯ c
c' : Ordinal.{u_1}
hc : c' < c
hd : d ≤ b ♯ c'
this : a' ⨳ (b ♯ c') ♯ a ⨳ d ♯ (a' ⨳ c ♯ a ⨳ c') < a ⨳ (b ♯ c') ♯ a' ⨳ d ♯ (a ⨳ c ♯ a' ⨳ c')
⊢ a' ⨳ b ♯ a' ⨳ c ♯ a ⨳ d < a ⨳ b ♯ a ⨳ c ♯ a' ⨳ d
state_after: case refine_1.inr.intro.intro
a✝ b✝ c✝ d✝ : Ordinal.{u}
a b c a' : Ordinal.{u_1}
ha : a' < a
d : Ordinal.{u_1}
hd✝ : d < b ♯ c
c' : Ordinal.{u_1}
hc : c' < c
hd : d ≤ b ♯ c'
this : a' ⨳ b ♯ a' ⨳ c' ♯ a ⨳ d ♯ (a' ⨳ c ♯ a ⨳ c') < a ⨳ b ♯ a ⨳ c' ♯ a' ⨳ d ♯ (a ⨳ c ♯ a' ⨳ c')
⊢ a' ⨳ b ♯ a' ⨳ c ♯ a ⨳ d < a ⨳ b ♯ a ⨳ c ♯ a' ⨳ d

tactic: simp only [nadd_assoc] at this
state_before: case refine_1.inr.intro.intro
a✝ b✝ c✝ d✝ : Ordinal.{u}
a b c a' : Ordinal.{u_1}
ha : a' < a
d : Ordinal.{u_1}
hd✝ : d < b ♯ c
c' : Ordinal.{u_1}
hc : c' < c
hd : d ≤ b ♯ c'
this : a' ⨳ b ♯ a' ⨳ c' ♯ a ⨳ d ♯ (a' ⨳ c ♯ a ⨳ c') < a ⨳ b ♯ a ⨳ c' ♯ a' ⨳ d ♯ (a ⨳ c ♯ a' ⨳ c')
⊢ a' ⨳ b ♯ a' ⨳ c ♯ a ⨳ d < a ⨳ b ♯ a ⨳ c ♯ a' ⨳ d
state_after: case refine_1.inr.intro.intro
a✝ b✝ c✝ d✝ : Ordinal.{u}
a b c a' : Ordinal.{u_1}
ha : a' < a
d : Ordinal.{u_1}
hd✝ : d < b ♯ c
c' : Ordinal.{u_1}
hc : c' < c
hd : d ≤ b ♯ c'
this : a' ⨳ b ♯ (a' ⨳ c' ♯ (a ⨳ d ♯ (a' ⨳ c ♯ a ⨳ c'))) < a ⨳ b ♯ (a ⨳ c' ♯ (a' ⨳ d ♯ (a ⨳ c ♯ a' ⨳ c')))
⊢ a' ⨳ b ♯ a' ⨳ c ♯ a ⨳ d < a ⨳ b ♯ a ⨳ c ♯ a' ⨳ d

tactic: rwa [nadd_left_comm, nadd_comm (a ⨳ c), nadd_left_comm (a' ⨳ d), nadd_left_comm (a ⨳ c'),
  nadd_left_comm (a ⨳ b), nadd_lt_nadd_iff_left, nadd_comm (a' ⨳ c), nadd_left_comm (a ⨳ d),
  nadd_left_comm (a' ⨳ b), nadd_left_comm (a ⨳ b), nadd_lt_nadd_iff_left, nadd_comm (a ⨳ d),
  nadd_comm (a' ⨳ d), ← nadd_assoc, ← nadd_assoc] at this
state_before: case refine_1.inr.intro.intro
a✝ b✝ c✝ d✝ : Ordinal.{u}
a b c a' : Ordinal.{u_1}
ha : a' < a
d : Ordinal.{u_1}
hd✝ : d < b ♯ c
c' : Ordinal.{u_1}
hc : c' < c
hd : d ≤ b ♯ c'
this : a' ⨳ b ♯ (a' ⨳ c' ♯ (a ⨳ d ♯ (a' ⨳ c ♯ a ⨳ c'))) < a ⨳ b ♯ (a ⨳ c' ♯ (a' ⨳ d ♯ (a ⨳ c ♯ a' ⨳ c')))
⊢ a' ⨳ b ♯ a' ⨳ c ♯ a ⨳ d < a ⨳ b ♯ a ⨳ c ♯ a' ⨳ d
state_after: no goals

tactic: rcases lt_nmul_iff.1 hd with ⟨a', ha, b', hb, hd⟩
state_before: case refine_2
a✝ b✝ c✝ d✝ : Ordinal.{u}
a b c d : Ordinal.{u_1}
hd : d < a ⨳ b
⊢ d ♯ a ⨳ c < a ⨳ (b ♯ c)
state_after: case refine_2.intro.intro.intro.intro
a✝ b✝ c✝ d✝ : Ordinal.{u}
a b c d : Ordinal.{u_1}
hd✝ : d < a ⨳ b
a' : Ordinal.{u_1}
ha : a' < a
b' : Ordinal.{u_1}
hb : b' < b
hd : d ♯ a' ⨳ b' ≤ a' ⨳ b ♯ a ⨳ b'
⊢ d ♯ a ⨳ c < a ⨳ (b ♯ c)

tactic: have := nadd_lt_nadd_of_le_of_lt hd (nmul_nadd_lt ha (nadd_lt_nadd_right hb c))
state_before: case refine_2.intro.intro.intro.intro
a✝ b✝ c✝ d✝ : Ordinal.{u}
a b c d : Ordinal.{u_1}
hd✝ : d < a ⨳ b
a' : Ordinal.{u_1}
ha : a' < a
b' : Ordinal.{u_1}
hb : b' < b
hd : d ♯ a' ⨳ b' ≤ a' ⨳ b ♯ a ⨳ b'
⊢ d ♯ a ⨳ c < a ⨳ (b ♯ c)
state_after: case refine_2.intro.intro.intro.intro
a✝ b✝ c✝ d✝ : Ordinal.{u}
a b c d : Ordinal.{u_1}
hd✝ : d < a ⨳ b
a' : Ordinal.{u_1}
ha : a' < a
b' : Ordinal.{u_1}
hb : b' < b
hd : d ♯ a' ⨳ b' ≤ a' ⨳ b ♯ a ⨳ b'
this : d ♯ a' ⨳ b' ♯ (a' ⨳ (b ♯ c) ♯ a ⨳ (b' ♯ c)) < a' ⨳ b ♯ a ⨳ b' ♯ (a ⨳ (b ♯ c) ♯ a' ⨳ (b' ♯ c))
⊢ d ♯ a ⨳ c < a ⨳ (b ♯ c)

tactic: rw [nmul_nadd a' b c, nmul_nadd a b' c, nmul_nadd a'] at this
state_before: case refine_2.intro.intro.intro.intro
a✝ b✝ c✝ d✝ : Ordinal.{u}
a b c d : Ordinal.{u_1}
hd✝ : d < a ⨳ b
a' : Ordinal.{u_1}
ha : a' < a
b' : Ordinal.{u_1}
hb : b' < b
hd : d ♯ a' ⨳ b' ≤ a' ⨳ b ♯ a ⨳ b'
this : d ♯ a' ⨳ b' ♯ (a' ⨳ (b ♯ c) ♯ a ⨳ (b' ♯ c)) < a' ⨳ b ♯ a ⨳ b' ♯ (a ⨳ (b ♯ c) ♯ a' ⨳ (b' ♯ c))
⊢ d ♯ a ⨳ c < a ⨳ (b ♯ c)
state_after: case refine_2.intro.intro.intro.intro
a✝ b✝ c✝ d✝ : Ordinal.{u}
a b c d : Ordinal.{u_1}
hd✝ : d < a ⨳ b
a' : Ordinal.{u_1}
ha : a' < a
b' : Ordinal.{u_1}
hb : b' < b
hd : d ♯ a' ⨳ b' ≤ a' ⨳ b ♯ a ⨳ b'
this : d ♯ a' ⨳ b' ♯ (a' ⨳ b ♯ a' ⨳ c ♯ (a ⨳ b' ♯ a ⨳ c)) < a' ⨳ b ♯ a ⨳ b' ♯ (a ⨳ (b ♯ c) ♯ (a' ⨳ b' ♯ a' ⨳ c))
⊢ d ♯ a ⨳ c < a ⨳ (b ♯ c)

tactic: simp only [nadd_assoc] at this
state_before: case refine_2.intro.intro.intro.intro
a✝ b✝ c✝ d✝ : Ordinal.{u}
a b c d : Ordinal.{u_1}
hd✝ : d < a ⨳ b
a' : Ordinal.{u_1}
ha : a' < a
b' : Ordinal.{u_1}
hb : b' < b
hd : d ♯ a' ⨳ b' ≤ a' ⨳ b ♯ a ⨳ b'
this : d ♯ a' ⨳ b' ♯ (a' ⨳ b ♯ a' ⨳ c ♯ (a ⨳ b' ♯ a ⨳ c)) < a' ⨳ b ♯ a ⨳ b' ♯ (a ⨳ (b ♯ c) ♯ (a' ⨳ b' ♯ a' ⨳ c))
⊢ d ♯ a ⨳ c < a ⨳ (b ♯ c)
state_after: case refine_2.intro.intro.intro.intro
a✝ b✝ c✝ d✝ : Ordinal.{u}
a b c d : Ordinal.{u_1}
hd✝ : d < a ⨳ b
a' : Ordinal.{u_1}
ha : a' < a
b' : Ordinal.{u_1}
hb : b' < b
hd : d ♯ a' ⨳ b' ≤ a' ⨳ b ♯ a ⨳ b'
this : d ♯ (a' ⨳ b' ♯ (a' ⨳ b ♯ (a' ⨳ c ♯ (a ⨳ b' ♯ a ⨳ c)))) < a' ⨳ b ♯ (a ⨳ b' ♯ (a ⨳ (b ♯ c) ♯ (a' ⨳ b' ♯ a' ⨳ c)))
⊢ d ♯ a ⨳ c < a ⨳ (b ♯ c)

tactic: rwa [nadd_left_comm (a' ⨳ b'), nadd_left_comm, nadd_lt_nadd_iff_left, nadd_left_comm,
  nadd_left_comm _ (a' ⨳ b'), nadd_left_comm (a ⨳ b'), nadd_lt_nadd_iff_left,
  nadd_left_comm (a' ⨳ c), nadd_left_comm, nadd_lt_nadd_iff_left, nadd_left_comm,
  nadd_comm _ (a' ⨳ c), nadd_lt_nadd_iff_left] at this
state_before: case refine_2.intro.intro.intro.intro
a✝ b✝ c✝ d✝ : Ordinal.{u}
a b c d : Ordinal.{u_1}
hd✝ : d < a ⨳ b
a' : Ordinal.{u_1}
ha : a' < a
b' : Ordinal.{u_1}
hb : b' < b
hd : d ♯ a' ⨳ b' ≤ a' ⨳ b ♯ a ⨳ b'
this : d ♯ (a' ⨳ b' ♯ (a' ⨳ b ♯ (a' ⨳ c ♯ (a ⨳ b' ♯ a ⨳ c)))) < a' ⨳ b ♯ (a ⨳ b' ♯ (a ⨳ (b ♯ c) ♯ (a' ⨳ b' ♯ a' ⨳ c)))
⊢ d ♯ a ⨳ c < a ⨳ (b ♯ c)
state_after: no goals

tactic: rcases lt_nmul_iff.1 hd with ⟨a', ha, c', hc, hd⟩
state_before: case refine_3
a✝ b✝ c✝ d✝ : Ordinal.{u}
a b c d : Ordinal.{u_1}
hd : d < a ⨳ c
⊢ a ⨳ b ♯ d < a ⨳ (b ♯ c)
state_after: case refine_3.intro.intro.intro.intro
a✝ b✝ c✝ d✝ : Ordinal.{u}
a b c d : Ordinal.{u_1}
hd✝ : d < a ⨳ c
a' : Ordinal.{u_1}
ha : a' < a
c' : Ordinal.{u_1}
hc : c' < c
hd : d ♯ a' ⨳ c' ≤ a' ⨳ c ♯ a ⨳ c'
⊢ a ⨳ b ♯ d < a ⨳ (b ♯ c)

tactic: have := nadd_lt_nadd_of_lt_of_le (nmul_nadd_lt ha (nadd_lt_nadd_left hc b)) hd
state_before: case refine_3.intro.intro.intro.intro
a✝ b✝ c✝ d✝ : Ordinal.{u}
a b c d : Ordinal.{u_1}
hd✝ : d < a ⨳ c
a' : Ordinal.{u_1}
ha : a' < a
c' : Ordinal.{u_1}
hc : c' < c
hd : d ♯ a' ⨳ c' ≤ a' ⨳ c ♯ a ⨳ c'
⊢ a ⨳ b ♯ d < a ⨳ (b ♯ c)
state_after: case refine_3.intro.intro.intro.intro
a✝ b✝ c✝ d✝ : Ordinal.{u}
a b c d : Ordinal.{u_1}
hd✝ : d < a ⨳ c
a' : Ordinal.{u_1}
ha : a' < a
c' : Ordinal.{u_1}
hc : c' < c
hd : d ♯ a' ⨳ c' ≤ a' ⨳ c ♯ a ⨳ c'
this : a' ⨳ (b ♯ c) ♯ a ⨳ (b ♯ c') ♯ (d ♯ a' ⨳ c') < a ⨳ (b ♯ c) ♯ a' ⨳ (b ♯ c') ♯ (a' ⨳ c ♯ a ⨳ c')
⊢ a ⨳ b ♯ d < a ⨳ (b ♯ c)

tactic: rw [nmul_nadd a' b c, nmul_nadd a b c', nmul_nadd a'] at this
state_before: case refine_3.intro.intro.intro.intro
a✝ b✝ c✝ d✝ : Ordinal.{u}
a b c d : Ordinal.{u_1}
hd✝ : d < a ⨳ c
a' : Ordinal.{u_1}
ha : a' < a
c' : Ordinal.{u_1}
hc : c' < c
hd : d ♯ a' ⨳ c' ≤ a' ⨳ c ♯ a ⨳ c'
this : a' ⨳ (b ♯ c) ♯ a ⨳ (b ♯ c') ♯ (d ♯ a' ⨳ c') < a ⨳ (b ♯ c) ♯ a' ⨳ (b ♯ c') ♯ (a' ⨳ c ♯ a ⨳ c')
⊢ a ⨳ b ♯ d < a ⨳ (b ♯ c)
state_after: case refine_3.intro.intro.intro.intro
a✝ b✝ c✝ d✝ : Ordinal.{u}
a b c d : Ordinal.{u_1}
hd✝ : d < a ⨳ c
a' : Ordinal.{u_1}
ha : a' < a
c' : Ordinal.{u_1}
hc : c' < c
hd : d ♯ a' ⨳ c' ≤ a' ⨳ c ♯ a ⨳ c'
this : a' ⨳ b ♯ a' ⨳ c ♯ (a ⨳ b ♯ a ⨳ c') ♯ (d ♯ a' ⨳ c') < a ⨳ (b ♯ c) ♯ (a' ⨳ b ♯ a' ⨳ c') ♯ (a' ⨳ c ♯ a ⨳ c')
⊢ a ⨳ b ♯ d < a ⨳ (b ♯ c)

tactic: simp only [nadd_assoc] at this
state_before: case refine_3.intro.intro.intro.intro
a✝ b✝ c✝ d✝ : Ordinal.{u}
a b c d : Ordinal.{u_1}
hd✝ : d < a ⨳ c
a' : Ordinal.{u_1}
ha : a' < a
c' : Ordinal.{u_1}
hc : c' < c
hd : d ♯ a' ⨳ c' ≤ a' ⨳ c ♯ a ⨳ c'
this : a' ⨳ b ♯ a' ⨳ c ♯ (a ⨳ b ♯ a ⨳ c') ♯ (d ♯ a' ⨳ c') < a ⨳ (b ♯ c) ♯ (a' ⨳ b ♯ a' ⨳ c') ♯ (a' ⨳ c ♯ a ⨳ c')
⊢ a ⨳ b ♯ d < a ⨳ (b ♯ c)
state_after: case refine_3.intro.intro.intro.intro
a✝ b✝ c✝ d✝ : Ordinal.{u}
a b c d : Ordinal.{u_1}
hd✝ : d < a ⨳ c
a' : Ordinal.{u_1}
ha : a' < a
c' : Ordinal.{u_1}
hc : c' < c
hd : d ♯ a' ⨳ c' ≤ a' ⨳ c ♯ a ⨳ c'
this : a' ⨳ b ♯ (a' ⨳ c ♯ (a ⨳ b ♯ (a ⨳ c' ♯ (d ♯ a' ⨳ c')))) < a ⨳ (b ♯ c) ♯ (a' ⨳ b ♯ (a' ⨳ c' ♯ (a' ⨳ c ♯ a ⨳ c')))
⊢ a ⨳ b ♯ d < a ⨳ (b ♯ c)

tactic: rwa [nadd_left_comm _ (a' ⨳ b), nadd_lt_nadd_iff_left, nadd_left_comm (a' ⨳ c'),
  nadd_left_comm _ (a' ⨳ c), nadd_lt_nadd_iff_left, nadd_left_comm, nadd_comm (a' ⨳ c'),
  nadd_left_comm _ (a ⨳ c'), nadd_lt_nadd_iff_left, nadd_comm _ (a' ⨳ c'),
  nadd_comm _ (a' ⨳ c'), nadd_left_comm, nadd_lt_nadd_iff_left] at this
state_before: case refine_3.intro.intro.intro.intro
a✝ b✝ c✝ d✝ : Ordinal.{u}
a b c d : Ordinal.{u_1}
hd✝ : d < a ⨳ c
a' : Ordinal.{u_1}
ha : a' < a
c' : Ordinal.{u_1}
hc : c' < c
hd : d ♯ a' ⨳ c' ≤ a' ⨳ c ♯ a ⨳ c'
this : a' ⨳ b ♯ (a' ⨳ c ♯ (a ⨳ b ♯ (a ⨳ c' ♯ (d ♯ a' ⨳ c')))) < a ⨳ (b ♯ c) ♯ (a' ⨳ b ♯ (a' ⨳ c' ♯ (a' ⨳ c ♯ a ⨳ c')))
⊢ a ⨳ b ♯ d < a ⨳ (b ♯ c)
state_after: no goals