Documentation

Projects.AP.Mimic

def AP.aMimic (st : Strat) (s s' : State) :
Equations
Instances For
    def AP.dMimic (st : Strat) (s s' : State) :
    Equations
    Instances For
      instance AP.instWFAMimic {st : Strat} {s s' : State} :
      (aMimic st s s').WF
      instance AP.instWFDMimic {st : Strat} {s s' : State} :
      (dMimic st s s').WF
      theorem AP.aMimic_apply_eq_of {st st' : Strat} {s₀ s₁ s₂ : State} {n : } [hs₀ : sys.WF s₀] (h₁ : sys.simulate st.f s₀ n = (s₁, 0)) (h₂ : sys.simulate st'.f s₀ n = (s₂, 0)) (h₃ : sys.validTr s₂ (st.a.f s₁)) :
      (aMimic st s₀ s₀).f s₂ = st.a.f s₁
      theorem AP.dMimic_apply_eq_of {st st' : Strat} {s₀ s₁ s₂ : State} {n : } [hs₀ : sys.WF s₀] (h₁ : sys.simulate st.f s₀ n = (s₁, 0)) (h₂ : sys.simulate st'.f s₀ n = (s₂, 0)) (h₃ : sys.validTr s₂ (st.d.f s₁)) :
      (dMimic st s₀ s₀).f s₂ = st.d.f s₁
      theorem AP.State.aHws_of_rel {s s' : State} {r : StateStateProp} [hs : sys.WF s] [hs' : sys.WF s'] (h₁ : s.aHws) (ht : s.aTurn = s'.aTurn) (h₂ : r s s') (h₃ : ∀ {sa sa' sd : State} {p : PointZ} [AState sa] [AState sa'] [DState sd], sys.Reachable s sasys.Reachable s' sa'r sa sa'sys.tr sa p = some sd∃ (sd' : State), sys.tr sa' p = some sd' r sd sd') (h₄ : ∀ {sd sd' sa' : State} {p : PointZ} [DState sd] [DState sd'] [AState sa'], sys.Reachable s sdsys.Reachable s' sd'r sd sd'sys.tr sd' p = some sa'∃ (sa : State), sys.tr sd p = some sa r sa sa') :
      s'.aHws
      theorem AP.State.aHws_of_fn' {s : State} {f : StateState} [hs : sys.WF s] [hs' : sys.WF (f s)] (h₁ : s.aHws) (ht : s.aTurn = (f s).aTurn) (h₂ : ∀ {sa sa' sd : State} {p : PointZ} [AState sa] [AState sa'] [DState sd], sys.Reachable s sasys.Reachable (f s) sa'f sa = sa'sys.tr sa p = some sd∃ (sd' : State), sys.tr sa' p = some sd' f sd = sd') (h₃ : ∀ {sd sd' sa' : State} {p : PointZ} [DState sd] [DState sd'] [AState sa'], sys.Reachable s sdsys.Reachable (f s) sd'f sd = sd'sys.tr sd' p = some sa'∃ (sa : State), sys.tr sd p = some sa f sa = sa') :
      (f s).aHws
      theorem AP.State.aHws_of_fn {s : State} {f : StateState} [hs : sys.WF s] [hs' : sys.WF (f s)] (h₁ : s.aHws) (ht : s.aTurn = (f s).aTurn) (h₂ : ∀ {sa sd : State} {p : PointZ} [AState sa] [AState (f sa)] [DState sd], sys.Reachable s sasys.Reachable (f s) (f sa)sys.tr sa p = some sdsys.tr (f sa) p = some (f sd)) (h₃ : ∀ {sd sa' : State} {p : PointZ} [DState sd] [DState (f sd)] [AState sa'], sys.Reachable s sdsys.Reachable (f s) (f sd)sys.tr (f sd) p = some sa'∃ (sa : State), sys.tr sd p = some sa f sa = sa') :
      (f s).aHws
      theorem AP.State.aHws_of_fn₂ {s : State} {f f' : StateState} [hs : sys.WF s] [hs' : sys.WF (f s)] (h₁ : s.aHws) (ht : s.aTurn = (f s).aTurn) (hf₁ : ∀ {s₁ : State} [sys.WF s₁], sys.Reachable s s₁f' (f s₁) = s₁) (hf₂ : ∀ {s₁ s₂' : State} {p : PointZ} [DState s₁] [AState s₂'], sys.Reachable s s₁sys.tr (f s₁) p = some s₂'∃ (s₂ : State), sys.tr s₁ p = some s₂ f s₂ = s₂') (h₂ : ∀ {sa sd : State} {p : PointZ} [AState sa] [AState (f sa)] [DState sd], sys.Reachable s sasys.Reachable (f s) (f sa)sys.tr sa p = some sdsys.tr (f sa) p = some (f sd)) (h₃ : ∀ {sd' sa' : State} {p : PointZ} [DState sd'] [AState sa'], sys.Reachable s (f' sd')sys.Reachable (f s) sd'sys.tr sd' p = some sa'∃ (sa : State), sys.tr (f' sd') p = some sa) :
      (f s).aHws