theorem
Sokoban.MovableBoxConjecture1.size₀_le'
[H : MovableBoxConjecture1]
{n : ℕ}
(h : ∃ (s : State), stateCnd₀ n s)
:
theorem
Sokoban.MovableBoxConjecture1.size₀_le
[H : MovableBoxConjecture1]
{n : ℕ}
{s : State}
(h : stateCnd₀ n s)
:
@[simp]
@[simp]
@[simp]
theorem
Sokoban.MovableBoxConjecture1.state₀_size_boxesReachable_le
{s : State}
[H : MovableBoxConjecture1]
(h : stateCnd₀ size₀ s)
:
@[simp]
theorem
Sokoban.MovableBoxConjecture1.size_boxes_of_alwaysMovable1
{s : State}
[hs : AlwaysMovable1 s]
:
@[simp]
@[simp]
@[simp]
@[simp]
theorem
Sokoban.MovableBoxConjecture1.alwaysMovable1_of_reachable
{s s₁ : State}
[hs : AlwaysMovable1 s]
(h : sys.Reachable s s₁)
:
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
theorem
Sokoban.MovableBoxConjecture1.size₀_le_of_alwaysMovable1
[H : MovableBoxConjecture1]
{s : State}
[hs : AlwaysMovable1 s]
:
@[simp]
@[simp]
@[simp]
@[simp]
theorem
Sokoban.MovableBoxConjecture1.box_mem_boxes_of_alwaysMovable1
{s : State}
[hs : AlwaysMovable1 s]
:
@[simp]
@[simp]
@[simp]
theorem
Sokoban.MovableBoxConjecture1.box_eq_of_mem_boxes
{s : State}
{p : PointZ}
[hs : AlwaysMovable1 s]
(h : p ∈ s.boxes)
:
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
theorem
Sokoban.MovableBoxConjecture1.player'_eq_box_of_boxPushed
{s s' : State}
[hs : AlwaysMovable1 s]
(h : s.BoxPushed s')
: