@[irreducible]
def
WeightedNetKAT.Pol.compute
{𝒮 : Type}
[Semiring 𝒮]
[PartialOrder 𝒮]
[OrderBot 𝒮]
[IsPositiveOrderedAddMonoid 𝒮]
[DecidableEq 𝒮]
{F : Type}
[Listed F]
[DecidableEq F]
{N : Type}
[DecidableEq N]
(p : Pol[F,N,𝒮])
(n : ℕ)
:
Equations
- (WeightedNetKAT.Pol.Filter t).compute n = t.compute
- wnk_pol {~f ← ~n_1}.compute n = fun (x : Pk[F,N] × List Pk[F,N]) => match x with | (π, h) => Finsupp.η' (π[f ↦ n_1], h)
- wnk_pol {dup}.compute n = fun (x : Pk[F,N] × List Pk[F,N]) => match x with | (π, h) => Finsupp.η' (π, π :: h)
- wnk_pol {~p_2; ~q}.compute n = fun (h : Pk[F,N] × List Pk[F,N]) => (p_2.compute n h).bind (q.compute n)
- wnk_pol {~w ⨀ ~p_2}.compute n = fun (h : Pk[F,N] × List Pk[F,N]) => w * p_2.compute n h
- wnk_pol {~p_2 ⨁ ~q}.compute n = fun (h : Pk[F,N] × List Pk[F,N]) => p_2.compute n h + q.compute n h
- wnk_pol {~p_2*}.compute n = fun (h : Pk[F,N] × List Pk[F,N]) => ∑ i ∈ Finset.range n, (p_2 ^ i).compute n h
Instances For
Equations
- s.toList' = Quotient.rep s.val
Instances For
Instances For
@[simp]
theorem
𝒲.bind_of_𝒞
{𝒮 : Type}
[OmegaCompletePartialOrder 𝒮]
[OrderBot 𝒮]
[Semiring 𝒮]
[IsPositiveOrderedAddMonoid 𝒮]
[DecidableEq 𝒮]
{F : Type}
[Listed F]
[DecidableEq F]
{N : Type}
[DecidableEq N]
[Listed N]
(m : Pk[F,N] × List Pk[F,N] →₀ 𝒮)
(f : Pk[F,N] × List Pk[F,N] → Pk[F,N] × List Pk[F,N] →₀ 𝒮)
:
theorem
WeightedNetKAT.Pol.compute_eq_sem_n
{𝒮 : Type}
[OmegaCompletePartialOrder 𝒮]
[OrderBot 𝒮]
[Semiring 𝒮]
[IsPositiveOrderedAddMonoid 𝒮]
[DecidableEq 𝒮]
{F : Type}
[Listed F]
[DecidableEq F]
{N : Type}
[DecidableEq N]
[Listed N]
(p : Pol[F,N,𝒮])
(n : ℕ)
: