Skip to content
This repository was archived by the owner on Jul 24, 2024. It is now read-only.

Commit 10f415a

Browse files
committed
feat(set_theory/game/basic): mul_cases lemmas (#14343)
These are the multiplicative analogs for `{left/right}_moves_add_cases`.
1 parent dc36333 commit 10f415a

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

src/set_theory/game/basic.lean

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,26 @@ rfl
218218
= x.move_right i * y + x * y.move_left j - x.move_right i * y.move_left j :=
219219
by { cases x, cases y, refl }
220220

221+
lemma left_moves_mul_cases {x y : pgame} (k : (x * y).left_moves) :
222+
(∃ ix iy, k = to_left_moves_mul (sum.inl ⟨ix, iy⟩)) ∨
223+
∃ jx jy, k = to_left_moves_mul (sum.inr ⟨jx, jy⟩) :=
224+
begin
225+
rw ←to_left_moves_mul.apply_symm_apply k,
226+
rcases to_left_moves_mul.symm k with ⟨ix, iy⟩ | ⟨jx, jy⟩,
227+
{ exact or.inl ⟨ix, iy, rfl⟩ },
228+
{ exact or.inr ⟨jx, jy, rfl⟩ }
229+
end
230+
231+
lemma right_moves_mul_cases {x y : pgame} (k : (x * y).right_moves) :
232+
(∃ ix jy, k = to_right_moves_mul (sum.inl ⟨ix, jy⟩)) ∨
233+
∃ jx iy, k = to_right_moves_mul (sum.inr ⟨jx, iy⟩) :=
234+
begin
235+
rw ←to_right_moves_mul.apply_symm_apply k,
236+
rcases to_right_moves_mul.symm k with ⟨ix, jy⟩ | ⟨jx, iy⟩,
237+
{ exact or.inl ⟨ix, jy, rfl⟩ },
238+
{ exact or.inr ⟨jx, iy, rfl⟩ }
239+
end
240+
221241
theorem quot_mul_comm : Π (x y : pgame.{u}), ⟦x * y⟧ = ⟦y * x⟧
222242
| (mk xl xr xL xR) (mk yl yr yL yR) :=
223243
begin

0 commit comments

Comments
 (0)