def
WeightedNetKAT.rSafety
{F : Type}
[Listed F]
[DecidableEq F]
{N : Type}
[DecidableEq N]
{𝒮 : Type}
[Semiring 𝒮]
[OmegaCompletePartialOrder 𝒮]
[OrderBot 𝒮]
[IsPositiveOrderedAddMonoid 𝒮]
(p : Pol[F,N,𝒮])
(r : 𝒮)
:
Equations
Instances For
@[implicit_reducible]
@[implicit_reducible]
Equations
- One or more equations did not get rendered due to their size.
@[implicit_reducible]
Equations
- One or more equations did not get rendered due to their size.
@[reducible, inline]
Equations
- WeightedNetKAT.rSafety.Q' F N Q = (Q × Pk[F,N] ⊕ WeightedNetKAT.rSafety.Q'₀)
Instances For
def
WeightedNetKAT.rSafety.I
{F : Type}
[Listed F]
[DecidableEq F]
{N : Type}
[DecidableEq N]
{Q 𝒮 : Type}
[DecidableEq Q]
[Semiring 𝒮]
:
Instances For
def
WeightedNetKAT.rSafety.Δ
{F : Type}
[Listed F]
[DecidableEq F]
{N : Type}
[DecidableEq N]
{Q 𝒮 : Type}
[Semiring 𝒮]
(𝔄 : WNKA[F,N,𝒮,Q])
(β : Pk[F,N])
:
Equations
- WeightedNetKAT.rSafety.Δ 𝔄 β (Sum.inl (q, α)) (Sum.inl (q', β')) = if β = β' then 𝔄.δ α β q q' else 0
- WeightedNetKAT.rSafety.Δ 𝔄 β (Sum.inr WeightedNetKAT.rSafety.Q'₀.qι) (Sum.inl (q, β')) = if β = β' then 𝔄.ι () q else 0
- WeightedNetKAT.rSafety.Δ 𝔄 β (Sum.inl (q, α)) (Sum.inr WeightedNetKAT.rSafety.Q'₀.q𝒪) = 𝔄.𝒪 α β q ()
- WeightedNetKAT.rSafety.Δ 𝔄 β (Sum.inr WeightedNetKAT.rSafety.Q'₀.q𝒪) (Sum.inr WeightedNetKAT.rSafety.Q'₀.q𝒪) = 0
- WeightedNetKAT.rSafety.Δ 𝔄 β (Sum.inr WeightedNetKAT.rSafety.Q'₀.q𝒪) (Sum.inr WeightedNetKAT.rSafety.Q'₀.qι) = 0
- WeightedNetKAT.rSafety.Δ 𝔄 β (Sum.inr WeightedNetKAT.rSafety.Q'₀.q𝒪) (Sum.inl val) = 0
- WeightedNetKAT.rSafety.Δ 𝔄 β (Sum.inr WeightedNetKAT.rSafety.Q'₀.qι) (Sum.inr WeightedNetKAT.rSafety.Q'₀.q𝒪) = 0
- WeightedNetKAT.rSafety.Δ 𝔄 β (Sum.inr WeightedNetKAT.rSafety.Q'₀.qι) (Sum.inr WeightedNetKAT.rSafety.Q'₀.qι) = 0
- WeightedNetKAT.rSafety.Δ 𝔄 β (Sum.inl val) (Sum.inr WeightedNetKAT.rSafety.Q'₀.qι) = 0
Instances For
def
WeightedNetKAT.rSafety.Λ
{F : Type}
[Listed F]
[DecidableEq F]
{N : Type}
[DecidableEq N]
{Q 𝒮 : Type}
[DecidableEq Q]
[Semiring 𝒮]
:
Instances For
def
WeightedNetKAT.rSafety.Δ_star
{F : Type}
[Listed F]
[DecidableEq F]
{N : Type}
[Listed N]
[DecidableEq N]
{Q 𝒮 : Type}
[Fintype Q]
[DecidableEq Q]
[Semiring 𝒮]
(𝔄 : WNKA[F,N,𝒮,Q])
:
Equations
- WeightedNetKAT.rSafety.Δ_star 𝔄 [] = 1
- WeightedNetKAT.rSafety.Δ_star 𝔄 (α :: x_1) = WeightedNetKAT.rSafety.Δ 𝔄 α * WeightedNetKAT.rSafety.Δ_star 𝔄 x_1
Instances For
def
WeightedNetKAT.rSafety.M
{F : Type}
[Listed F]
[DecidableEq F]
{N : Type}
[Listed N]
[DecidableEq N]
{Q 𝒮 : Type}
[Semiring 𝒮]
(𝔄 : WNKA[F,N,𝒮,Q])
:
Equations
- WeightedNetKAT.rSafety.M 𝔄 = ∑ α : Pk[F,N], WeightedNetKAT.rSafety.Δ 𝔄 α
Instances For
noncomputable def
WeightedNetKAT.rSafety.M_star
{F : Type}
[Listed F]
[DecidableEq F]
{N : Type}
[Listed N]
[DecidableEq N]
{Q 𝒮 : Type}
[Fintype Q]
[DecidableEq Q]
[Semiring 𝒮]
(𝔄 : WNKA[F,N,𝒮,Q])
[OmegaCompletePartialOrder 𝒮]
[OrderBot 𝒮]
[IsPositiveOrderedAddMonoid 𝒮]
:
Equations
Instances For
noncomputable def
WeightedNetKAT.rSafety.sem'
{F : Type}
[Listed F]
[DecidableEq F]
{N : Type}
[Listed N]
[DecidableEq N]
{Q 𝒮 : Type}
[Fintype Q]
[DecidableEq Q]
[Semiring 𝒮]
(𝔄 : WNKA[F,N,𝒮,Q])
[OmegaCompletePartialOrder 𝒮]
[OrderBot 𝒮]
[IsPositiveOrderedAddMonoid 𝒮]
[Listed Q]
[KStar 𝒮]
:
𝒮
Equations
Instances For
def
WeightedNetKAT.rSafety.EΔ_star'
{F : Type}
[Listed F]
{N : Type}
[Listed N]
{Q 𝒮 : Type}
[Listed Q]
[Semiring 𝒮]
(𝔈 : EWNKA[F,N,𝒮,Q])
(acc : EMatrix Unit (Q' F N Q) 𝒮)
:
Equations
- WeightedNetKAT.rSafety.EΔ_star' 𝔈 acc [] = acc
- WeightedNetKAT.rSafety.EΔ_star' 𝔈 acc (α :: xs) = WeightedNetKAT.rSafety.EΔ_star' 𝔈 (acc * WeightedNetKAT.rSafety.EΔ 𝔈 α) xs
Instances For
@[simp]
theorem
WeightedNetKAT.rSafety.EI_eq_I
{F : Type}
[Listed F]
[DecidableEq F]
{N : Type}
[Listed N]
[DecidableEq N]
{Q 𝒮 : Type}
[Listed Q]
[DecidableEq Q]
[Semiring 𝒮]
[OmegaCompletePartialOrder 𝒮]
[OrderBot 𝒮]
[IsPositiveOrderedAddMonoid 𝒮]
:
@[simp]
theorem
WeightedNetKAT.rSafety.EΔ_eq_Δ
{F : Type}
[Listed F]
[DecidableEq F]
{N : Type}
[Listed N]
[DecidableEq N]
{Q 𝒮 : Type}
[Listed Q]
[DecidableEq Q]
[Semiring 𝒮]
(𝔈 : EWNKA[F,N,𝒮,Q])
[OmegaCompletePartialOrder 𝒮]
[OrderBot 𝒮]
[IsPositiveOrderedAddMonoid 𝒮]
{β : Li[Pk[F,N]]}
:
@[simp]
theorem
WeightedNetKAT.rSafety.EΛ_eq_Λ
{F : Type}
[Listed F]
[DecidableEq F]
{N : Type}
[Listed N]
[DecidableEq N]
{Q 𝒮 : Type}
[Listed Q]
[DecidableEq Q]
[Semiring 𝒮]
[OmegaCompletePartialOrder 𝒮]
[OrderBot 𝒮]
[IsPositiveOrderedAddMonoid 𝒮]
:
@[simp]
theorem
WeightedNetKAT.rSafety.Esem'_eq_sem'
{F : Type}
[Listed F]
[DecidableEq F]
{N : Type}
[Listed N]
[DecidableEq N]
{Q 𝒮 : Type}
[Listed Q]
[Fintype Q]
[DecidableEq Q]
[Semiring 𝒮]
(𝔈 : EWNKA[F,N,𝒮,Q])
[KStar 𝒮]
[OmegaCompletePartialOrder 𝒮]
[OrderBot 𝒮]
[IsPositiveOrderedAddMonoid 𝒮]
[KStar 𝒮]
[LawfulKStar 𝒮]
[KStarIter 𝒮]
[MulLeftMono 𝒮]
[MulRightMono 𝒮]
[OmegaContinuousNonUnitalSemiring 𝒮]
:
def
WeightedNetKAT.rSafety.ErSafety
{F : Type}
[Listed F]
[DecidableEq F]
{N : Type}
[Listed N]
[DecidableEq N]
{𝒮 : Type}
[Semiring 𝒮]
[KStar 𝒮]
[OmegaCompletePartialOrder 𝒮]
[OrderBot 𝒮]
[IsPositiveOrderedAddMonoid 𝒮]
[LawfulKStar 𝒮]
(p : Pol[F,N,𝒮])
(r : 𝒮)
:
Equations
Instances For
def
WeightedNetKAT.rSafety.sem'_fast
{F : Type}
[Listed F]
[DecidableEq F]
{N : Type}
[Listed N]
[DecidableEq N]
{Q 𝒮 : Type}
[Fintype Q]
[DecidableEq Q]
[Semiring 𝒮]
(𝔄 : WNKA[F,N,𝒮,Q])
[OmegaCompletePartialOrder 𝒮]
[OrderBot 𝒮]
[IsPositiveOrderedAddMonoid 𝒮]
[Listed Q]
[KStar 𝒮]
:
𝒮
Instances For
def
WeightedNetKAT.RPol.wnkaFast
{F : Type}
[Listed F]
{N : Type}
[Listed N]
{𝒮 : Type}
[Semiring 𝒮]
[OmegaCompletePartialOrder 𝒮]
[OrderBot 𝒮]
[IsPositiveOrderedAddMonoid 𝒮]
[DecidableEq N]
[DecidableEq F]
[KStar 𝒮]
[LawfulKStar 𝒮]
(p : RPol 𝒮)
:
Instances For
theorem
WeightedNetKAT.rSafety.rSafety_iff
{F : Type}
[Fintype F]
[Listed F]
[DecidableEq F]
{N : Type}
[Listed N]
[DecidableEq N]
{𝒮 : Type}
[Semiring 𝒮]
[KStar 𝒮]
[OmegaCompletePartialOrder 𝒮]
[OrderBot 𝒮]
[IsPositiveOrderedAddMonoid 𝒮]
[KStar 𝒮]
[LawfulKStar 𝒮]
[KStarIter 𝒮]
[MulLeftMono 𝒮]
[MulRightMono 𝒮]
[OmegaContinuousNonUnitalSemiring 𝒮]
[Inhabited Pk[F,N]]
{p : Pol[F,N,𝒮]}
{r : 𝒮}
:
theorem
WeightedNetKAT.rSafety.rSafety_iff'
{F : Type}
[Fintype F]
[Listed F]
[DecidableEq F]
{N : Type}
[Listed N]
[DecidableEq N]
{𝒮 : Type}
[Semiring 𝒮]
[KStar 𝒮]
[OmegaCompletePartialOrder 𝒮]
[OrderBot 𝒮]
[IsPositiveOrderedAddMonoid 𝒮]
[KStar 𝒮]
[LawfulKStar 𝒮]
[KStarIter 𝒮]
[MulLeftMono 𝒮]
[MulRightMono 𝒮]
[OmegaContinuousNonUnitalSemiring 𝒮]
[Inhabited Pk[F,N]]
{p : Pol[F,N,𝒮]}
{r : 𝒮}
:
theorem
WeightedNetKAT.rSafety.ωSum_GS_eq_ωSum_nat
{F : Type}
[Fintype F]
[Listed F]
[DecidableEq F]
{N : Type}
[Listed N]
[DecidableEq N]
{𝒮 : Type}
[Semiring 𝒮]
[KStar 𝒮]
[OmegaCompletePartialOrder 𝒮]
[OrderBot 𝒮]
[IsPositiveOrderedAddMonoid 𝒮]
[KStar 𝒮]
[LawfulKStar 𝒮]
[KStarIter 𝒮]
[MulLeftMono 𝒮]
[MulRightMono 𝒮]
[OmegaContinuousNonUnitalSemiring 𝒮]
{f : GS F N → 𝒮}
:
theorem
WeightedNetKAT.rSafety.rSafety_iff''
{F : Type}
[Fintype F]
[Listed F]
[DecidableEq F]
{N : Type}
[Listed N]
[DecidableEq N]
{𝒮 : Type}
[Semiring 𝒮]
[KStar 𝒮]
[OmegaCompletePartialOrder 𝒮]
[OrderBot 𝒮]
[IsPositiveOrderedAddMonoid 𝒮]
[KStar 𝒮]
[LawfulKStar 𝒮]
[KStarIter 𝒮]
[MulLeftMono 𝒮]
[MulRightMono 𝒮]
[OmegaContinuousNonUnitalSemiring 𝒮]
[Inhabited Pk[F,N]]
{p : Pol[F,N,𝒮]}
{r : 𝒮}
:
theorem
WeightedNetKAT.rSafety.rSafety_iff_ErSafety
{F : Type}
[Fintype F]
[Listed F]
[DecidableEq F]
{N : Type}
[Listed N]
[DecidableEq N]
{𝒮 : Type}
[Semiring 𝒮]
[KStar 𝒮]
[OmegaCompletePartialOrder 𝒮]
[OrderBot 𝒮]
[IsPositiveOrderedAddMonoid 𝒮]
[KStar 𝒮]
[LawfulKStar 𝒮]
[KStarIter 𝒮]
[MulLeftMono 𝒮]
[MulRightMono 𝒮]
[OmegaContinuousNonUnitalSemiring 𝒮]
[Inhabited Pk[F,N]]
{p : Pol[F,N,𝒮]}
{r : 𝒮}
:
@[implicit_reducible]
instance
WeightedNetKAT.rSafety.instDecidableErSafetyOfDecidableRelLe
{F : Type}
[Listed F]
[DecidableEq F]
{N : Type}
[Listed N]
[DecidableEq N]
{𝒮 : Type}
[Semiring 𝒮]
[OmegaCompletePartialOrder 𝒮]
[OrderBot 𝒮]
[IsPositiveOrderedAddMonoid 𝒮]
[KStar 𝒮]
[LawfulKStar 𝒮]
[DecidableRel fun (x1 x2 : 𝒮) => x1 ≤ x2]
{p : Pol[F,N,𝒮]}
{r : 𝒮}
:
def
WeightedNetKAT.rSafety.extraction_len
{F : Type}
[Listed F]
{N : Type}
[Listed N]
[DecidableEq N]
{Q 𝒮 : Type}
[Listed Q]
[Semiring 𝒮]
(𝔈 : EWNKA[F,N,𝒮,Q])
[DecidableEq 𝒮]
(n : ℕ)
(r : 𝒮)
:
Enumerate all GS and check their weight
Example execution time: N/A
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
WeightedNetKAT.rSafety.extraction_len'
{F : Type}
[Listed F]
{N : Type}
[Listed N]
{Q 𝒮 : Type}
[Listed Q]
[Semiring 𝒮]
(𝔈 : EWNKA[F,N,𝒮,Q])
[DecidableEq 𝒮]
(n : ℕ)
(r : 𝒮)
:
Enumerate all GS and check their weight, reusing computation up to the exit weight
Example execution time: 113.988409s
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
WeightedNetKAT.rSafety.extraction_len''
{F : Type}
[Listed F]
{N : Type}
[Listed N]
{Q 𝒮 : Type}
[Listed Q]
[Semiring 𝒮]
(𝔈 : EWNKA[F,N,𝒮,Q])
[DecidableEq 𝒮]
(acc : EMatrix Unit Q 𝒮)
(n : ℕ)
(γ : Li[Pk[F,N]])
(r : 𝒮)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
WeightedNetKAT.rSafety.extraction_len₀
{F : Type}
[Listed F]
{N : Type}
[Listed N]
{Q 𝒮 : Type}
[Listed Q]
[Semiring 𝒮]
(𝔈 : EWNKA[F,N,𝒮,Q])
[DecidableEq 𝒮]
(n : ℕ)
(r : 𝒮)
:
Enumerate all GS and check their weight, reusing computation up for every prefix
Example execution time: 30.157497s
Equations
- WeightedNetKAT.rSafety.extraction_len₀ 𝔈 n r = Array.findSome? (fun (x : Li[Pk[F,N]]) => WeightedNetKAT.rSafety.extraction_len'' 𝔈 𝔈.ι n x r) (Listed.arrayOf Li[Pk[F,N]])