Documentation

Projects.AP.Symmetry.Basic

@[simp]
@[simp]
theorem AP.ft_mkSym {ft : PointZ PointZ} :
(mkSym ft).ft = ft
@[simp]
theorem AP.ft'_mkSym {ft : PointZ PointZ} :
(mkSym ft).ft' = ft.symm
@[simp]
theorem AP.fs_mkSym {ft : PointZ PointZ} :
(mkSym ft).fs = mkSymFs ft
@[simp]
theorem AP.fs'_mkSym {ft : PointZ PointZ} :
@[simp]
theorem AP.mkSymFs_apply {ft : PointZ PointZ} {s : State} :
(mkSymFs ft) s = mkSymFsAux (⇑ft) s
@[simp]
theorem AP.pw_mkSymFsAux {ft : PointZPointZ} {s : State} :
(mkSymFsAux ft s).pw = s.pw
@[simp]
theorem AP.taken_mkSymFsAux {ft : PointZPointZ} {s : State} :
(mkSymFsAux ft s).taken = s.taken.map ft
@[simp]
theorem AP.aPos_mkSymFsAux {ft : PointZPointZ} {s : State} :
(mkSymFsAux ft s).aPos = ft s.aPos
@[simp]
theorem AP.aTurn_mkSymFsAux {ft : PointZPointZ} {s : State} :
@[simp]
theorem AP.hist_mkSymFsAux {ft : PointZPointZ} {s : State} :
@[simp]
theorem AP.aPos₀_mkSymFsAux {ft : PointZPointZ} {s : State} [hs : sys.WF s] :
@[simp]
theorem AP.aTurn_sym_fs {s : State} {sym : sys.Symmetry} [hs : sys.WF s] [H : sym.WF] :
(sym.fs s).aTurn = s.aTurn
@[simp]
theorem AP.aTurn_sym_fs' {s : State} {sym : sys.Symmetry} [hs : sys.WF s] [H : sym.WF] :
(sym.fs' s).aTurn = s.aTurn
Equations
Instances For
    Equations
    Instances For
      def AP.Strat.sym (st : Strat) (sym : sys.Symmetry) :
      Equations
      Instances For
        @[simp]
        instance AP.AState.sym_fs {s : State} {sym : sys.Symmetry} [hs : AState s] [H : sym.WF] :
        AState (sym.fs s)
        @[simp]
        instance AP.AState.sym_fs' {s : State} {sym : sys.Symmetry} [hs : AState s] [H : sym.WF] :
        AState (sym.fs' s)
        @[simp]
        instance AP.DState.sym_fs {s : State} {sym : sys.Symmetry} [hs : DState s] [H : sym.WF] :
        DState (sym.fs s)
        @[simp]
        instance AP.DState.sym_fs' {s : State} {sym : sys.Symmetry} [hs : DState s] [H : sym.WF] :
        DState (sym.fs' s)
        @[simp]
        instance AP.instWFSymOfWFStatePointZ {a : AStrat} {sym : sys.Symmetry} [ha : a.WF] [H : sym.WF] :
        (a.sym sym).WF
        @[simp]
        instance AP.instWFSymOfWFStatePointZ_1 {d : DStrat} {sym : sys.Symmetry} [hd : d.WF] [H : sym.WF] :
        (d.sym sym).WF
        @[simp]
        instance AP.instSimFnStatePointZSysFSymOfWFOfWF {st : Strat} {sym : sys.Symmetry} [hst : st.WF] [H : sym.WF] :
        sys.SimFn (st.sym sym).f
        theorem AP.Strat.f_sym_eq {st : Strat} {s : State} {sym : sys.Symmetry} [hs : sys.WF s] [H : sym.WF] :
        (st.sym sym).f s = sym.simFn st.f s
        theorem AP.Strat.simulate_sym_eq {st : Strat} {s : State} {n : } {sym : sys.Symmetry} [hst : st.WF] [hs : sys.WF s] [H : sym.WF] :
        sys.simulate (st.sym sym).f s n = sys.simulate (sym.simFn st.f) s n
        @[simp]
        instance AP.instWFSymOfWFStatePointZ_2 {st : Strat} {sym : sys.Symmetry} [hst : st.WF] [H : sym.WF] :
        (st.sym sym).WF
        theorem AP.State.aHws_sym_of {s : State} {sym : sys.Symmetry} [hs : sys.WF s] [H : sym.WF] (h : s.aHws) :
        (sym.fs s).aHws
        theorem AP.State.aHws_iff_sym {s : State} {sym : sys.Symmetry} [hs : sys.WF s] [H : sym.WF] :
        s.aHws (sym.fs s).aHws
        theorem AP.State.dHws_iff_sym {s : State} {sym : sys.Symmetry} {hs : sys.WF s} [H : sym.WF] :
        s.dHws (sym.fs s).dHws
        @[simp]
        theorem AP.mkSymFsAux_initState {ft : PointZPointZ} {pw : } {p : PointZ} :
        mkSymFsAux ft (initState pw p) = initState pw (ft p)
        @[simp]
        theorem AP.mkSym_one :
        mkSym 1 = 1
        @[simp]
        @[simp]
        @[simp]
        theorem AP.aPos₀_sym_of_basicSym {sym : sys.Symmetry} {s : State} [H : BasicSym sym] [hs : sys.WF s] :
        (sym.fs s).aPos₀ = sym.ft s.aPos₀
        @[simp]
        theorem AP.aPos₀_sym_of_basicSym' {sym : sys.Symmetry} {s : State} [H : BasicSym sym] [hs : sys.WF s] :
        (sym.fs' s).aPos₀ = sym.ft' s.aPos₀
        @[simp]
        theorem AP.aPos_sym_of_basicSym {sym : sys.Symmetry} {s : State} [H : BasicSym sym] :
        (sym.fs s).aPos = sym.ft s.aPos
        @[simp]
        theorem AP.aPos_sym_of_basicSym' {sym : sys.Symmetry} {s : State} [H : BasicSym sym] :
        (sym.fs' s).aPos = sym.ft' s.aPos
        @[simp]
        theorem AP.taken_sym_of_basicSym {sym : sys.Symmetry} {s : State} [H : BasicSym sym] :
        (sym.fs s).taken = s.taken.map sym.ft
        @[simp]
        theorem AP.taken_sym_of_basicSym' {sym : sys.Symmetry} {s : State} [H : BasicSym sym] :
        (sym.fs' s).taken = s.taken.map sym.ft'
        theorem AP.ft_eq_iff {sym : sys.Symmetry} {p₁ p₂ : PointZ} :
        sym.ft p₁ = p₂ p₁ = sym.ft' p₂
        theorem AP.ft'_eq_iff {sym : sys.Symmetry} {p₁ p₂ : PointZ} :
        sym.ft' p₁ = p₂ p₁ = sym.ft p₂
        theorem AP.fs_eq_iff {sym : sys.Symmetry} {s₁ s₂ : State} :
        sym.fs s₁ = s₂ s₁ = sym.fs' s₂
        theorem AP.fs'_eq_iff {sym : sys.Symmetry} {s₁ s₂ : State} :
        sym.fs' s₁ = s₂ s₁ = sym.fs s₂
        theorem AP.ext_iff_of_basicSym {sym₁ sym₂ : sys.Symmetry} [H₁ : BasicSym sym₁] [H₂ : BasicSym sym₂] :
        sym₁ = sym₂ ∀ (p : PointZ), sym₁.ft p = sym₂.ft p
        @[simp]
        instance AP.instBasicSymHMulSymmetryStatePointZSys {sym₁ sym₂ : sys.Symmetry} [H₁ : BasicSym sym₁] [H₂ : BasicSym sym₂] :
        BasicSym (sym₁ * sym₂)
        @[simp]
        theorem AP.pw_fs_of_basicSym {s : State} {sym : sys.Symmetry} [H : BasicSym sym] :
        (sym.fs s).pw = s.pw
        @[simp]
        theorem AP.pw_fs'_of_basicSym {s : State} {sym : sys.Symmetry} [H : BasicSym sym] :
        (sym.fs' s).pw = s.pw