Equations
Instances For
@[simp]
instance
AP.instAStateSetHistAt'OfWFStatePointZSys
{s : State}
{hist₁ hist₂ : List PointZ}
[hs : AState s]
[hs' : sys.WF (s.setHistAt' hist₁ hist₂)]
:
AState (s.setHistAt' hist₁ hist₂)
@[simp]
instance
AP.instDStateSetHistAt'OfWFStatePointZSys
{s : State}
{hist₁ hist₂ : List PointZ}
[hs : DState s]
[hs' : sys.WF (s.setHistAt' hist₁ hist₂)]
:
DState (s.setHistAt' hist₁ hist₂)
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
theorem
AP.State.aMove_setHistAt'
{s : State}
{hist₁ hist₂ : List PointZ}
{p : PointZ}
:
(s.setHistAt' hist₁ hist₂).aMove p = Option.map (fun (x : State) => x.setHistAt' hist₁ hist₂) (s.aMove p)
@[simp]
theorem
AP.State.dMove_setHistAt'
{s : State}
{hist₁ hist₂ : List PointZ}
{p : PointZ}
:
(s.setHistAt' hist₁ hist₂).dMove p = Option.map (fun (x : State) => x.setHistAt' hist₁ hist₂) (s.dMove p)
theorem
AP.State.move_setHistAt'
{s : State}
{hist₁ hist₂ : List PointZ}
{p : PointZ}
(h : hist₁.length ≤ s.hist.length)
:
(s.setHistAt' hist₁ hist₂).move p = Option.map (fun (x : State) => x.setHistAt' hist₁ hist₂) (s.move p)
theorem
AP.State.tr_setHistAt'
{s : State}
{hist₁ hist₂ : List PointZ}
{p : PointZ}
(h : hist₁.length ≤ s.hist.length)
:
sys.tr (s.setHistAt' hist₁ hist₂) p = Option.map (fun (x : State) => x.setHistAt' hist₁ hist₂) (sys.tr s p)
theorem
AP.State.exi_aWins_cnd_setHist_of
{s : State}
{hist : List PointZ}
{p : (ℕ → State) → Prop}
{a : AStrat}
[hs : sys.WF s]
[hs' : sys.WF (s.setHist hist)]
[ha : a.WF]
(hp :
∀ (st : Strat) [st.WF] (hist₁ : List PointZ),
(p fun (x : ℕ) => (sys.simulate st.f s x).1.setHistAt s.hist hist₁) ↔ p fun (x : ℕ) => (sys.simulate st.f s x).1)
(h : ∀ (d : DStrat) [d.WF], (p fun (x : ℕ) => (sys.simulate { a := a, d := d }.f s x).1) ∧ s.aWins { a := a, d := d })
: