Documentation

Projects.AP.Defense.Edge.Basic

@[instance_reducible]
Equations
theorem AP.Edge.points_inj {e₁ e₂ : Edge} (h : e₁.points = e₂.points) :
e₁ = e₂
@[simp]
theorem AP.Edge.points_eq_points_iff {e₁ e₂ : Edge} :
e₁.points = e₂.points e₁ = e₂
@[simp]
@[simp]
theorem AP.Edge.getBorderPoint_inj {e : Edge} {p : PointZ} {z₁ z₂ : } :
e.getBorderPoint p z₁ = e.getBorderPoint p z₂ z₁ = z₂
theorem AP.Edge.mem_cndMp_of_cnd_eq_false {d : } {f : Bool} (h : cnd d f = false) :
@[simp]
theorem AP.Edge.mem_cndMp_iff {d : } :
d cndMp 1 d d 5
theorem AP.Edge.f₅_le_6_of {g : Bool} {m : Option } (h : ∀ (n : ), m = some nn 6) :
f₅ g m 6
@[simp]
theorem AP.Edge.f₄_le_6 {d : } {g : Bool} :
f₄ d g 6
theorem AP.Edge.of_f₁_eq_some {e : Edge} {s : State} {p : PointZ} (h : e.f₁ s = some p) :
0 < e.dist s.aPos e.dist s.aPos 5 ∃ (z : ), |z| 3 e.getBorderPoint s.aPos z = p
theorem AP.Edge.of_f_eq_some {e : Edge} {s : State} {p : PointZ} (h : e.defense.f s = some p) :
0 < e.dist s.aPos e.dist s.aPos 5 ps.taken ∃ (z : ), |z| 3 e.getBorderPoint s.aPos z = p
theorem AP.Edge.dist_eq_zero_of_f_eq_some {e : Edge} {s : State} {p : PointZ} (h : e.defense.f s = some p) :
e.dist p = 0
theorem AP.Edge.not_mem_taken_of_f_eq_some {e : Edge} {s : State} {p : PointZ} (h : e.defense.f s = some p) :
ps.taken
@[simp]
theorem AP.Edge.cnd_congr {d : } {f₁ f₂ : Bool} (h : i < 7, f₁ i = f₂ i) :
cnd d f₁ = cnd d f₂
theorem AP.Edge.f₁_eq_of_f_eq_some {e : Edge} {s : State} {p : PointZ} (h : e.f s = some p) :
e.f₁ s = some p
theorem AP.Edge.of_f₃_eq_some {d : } {g : Bool} {k : } (h : f₃ d g = some k) :
1 d d 6 k 6
theorem AP.Edge.of_f₂_eq_some {d : } {arr : Array Bool} {offset k : } (h : f₂ d arr offset = some k) :
1 d d 6 k 6
@[simp]
theorem AP.Edge.cnd_const_true {d : } :
(cnd d fun (x : ) => true) = true
theorem AP.Edge.f_eq_none_of_6_le_dist {e : Edge} {s : State} (h : 6 e.dist s.aPos) :
e.f s = none