Documentation

WeightedNetKAT.Countsupp

structure Countsupp (α M : Type) [Zero M] :

Countsupp α M, denoted α →c M, is the type of functions f : α → M such that f x = 0 for all but countably many x.

Instances For

    Countsupp α M, denoted α →c M, is the type of functions f : α → M such that f x = 0 for all but countably many x.

    Equations
    Instances For
      def Countsupp.support {α M : Type} [Zero M] (f : α →c M) :
      Set α
      Equations
      Instances For
        @[implicit_reducible]
        instance Countsupp.instFunLike {α M : Type} [Zero M] :
        FunLike (α →c M) α M
        Equations
        theorem Countsupp.ext {α M : Type} [Zero M] {f g : α →c M} (h : ∀ (a : α), f a = g a) :
        f = g
        theorem Countsupp.ext_iff {α M : Type} [Zero M] {f g : α →c M} :
        f = g ∀ (a : α), f a = g a
        theorem Countsupp.ne_iff {α M : Type} [Zero M] {f g : α →c M} :
        f g ∃ (a : α), f a g a
        theorem Countsupp.toFun_apply {α M : Type} [Zero M] (c : α →c M) (x : α) :
        c.toFun x = c x
        @[simp]
        theorem Countsupp.coe_mk {α M : Type} [Zero M] (f : αM) (h : (Function.support f).Countable) :
        { toFun := f, countable := h } = f
        @[implicit_reducible]
        instance Countsupp.instZero {α M : Type} [Zero M] :
        Zero (α →c M)
        Equations
        @[simp]
        theorem Countsupp.coe_zero {α M : Type} [Zero M] :
        0 = 0
        theorem Countsupp.zero_apply {α M : Type} [Zero M] {a : α} :
        0 a = 0
        @[simp]
        theorem Countsupp.support_zero {α M : Type} [Zero M] :
        theorem Countsupp.ite_apply {α M : Type} [Zero M] {p : Prop} [Decidable p] {f g : α →c M} {a : α} :
        (if p then f else g) a = if p then f a else g a
        @[implicit_reducible]
        instance Countsupp.instInhabited {α M : Type} [Zero M] :
        Equations
        @[simp]
        theorem Countsupp.mem_support_iff {α M : Type} [Zero M] {f : α →c M} {a : α} :
        a f.support f a 0
        @[simp]
        theorem Countsupp.fun_support_eq {α M : Type} [Zero M] (f : α →c M) :
        theorem Countsupp.notMem_support_iff {α M : Type} [Zero M] {f : α →c M} {a : α} :
        af.support f a = 0
        instance Countsupp.support_countable' {α M : Type} [Zero M] {f : α →c M} :
        @[simp]
        theorem Countsupp.coe_eq_zero {α M : Type} [Zero M] {f : α →c M} :
        f = 0 f = 0
        theorem Countsupp.ext_iff' {α M : Type} [Zero M] {f g : α →c M} :
        f = g f.support = g.support xf.support, f x = g x
        @[implicit_reducible]
        instance Countsupp.instAdd {X 𝒮 : Type} [Semiring 𝒮] [OmegaCompletePartialOrder 𝒮] [OrderBot 𝒮] [IsPositiveOrderedAddMonoid 𝒮] :
        Add (X →c 𝒮)
        Equations
        @[simp]
        theorem Countsupp.add_apply {X 𝒮 : Type} [Semiring 𝒮] [OmegaCompletePartialOrder 𝒮] [OrderBot 𝒮] [IsPositiveOrderedAddMonoid 𝒮] (a b : X →c 𝒮) (x : X) :
        (a + b) x = a x + b x
        @[implicit_reducible]
        instance Countsupp.instMul {X 𝒮 : Type} [Semiring 𝒮] :
        Mul (X →c 𝒮)
        Equations
        @[simp]
        theorem Countsupp.mul_apply {X 𝒮 : Type} [Semiring 𝒮] (a b : X →c 𝒮) (x : X) :
        (a * b) x = a x * b x
        @[implicit_reducible]
        instance Countsupp.instHMul {X 𝒮 : Type} [Semiring 𝒮] :
        HMul 𝒮 (X →c 𝒮) (X →c 𝒮)
        Equations
        @[simp]
        theorem Countsupp.hMul_apply_left {X 𝒮 : Type} [Semiring 𝒮] (a : 𝒮) (b : X →c 𝒮) (x : X) :
        (a * b) x = a * b x
        @[implicit_reducible]
        instance Countsupp.instHMul_1 {X 𝒮 : Type} [Semiring 𝒮] :
        HMul (X →c 𝒮) 𝒮 (X →c 𝒮)
        Equations
        @[simp]
        theorem Countsupp.hMul_apply_right {X 𝒮 : Type} [Semiring 𝒮] (a : X →c 𝒮) (b : 𝒮) (x : X) :
        (a * b) x = a x * b
        @[implicit_reducible]
        Equations
        • One or more equations did not get rendered due to their size.
        @[implicit_reducible]
        instance Countsupp.instLE {X 𝒮 : Type} [Semiring 𝒮] [OmegaCompletePartialOrder 𝒮] :
        LE (X →c 𝒮)
        Equations
        @[implicit_reducible]
        Equations
        @[implicit_reducible]
        Equations
        • One or more equations did not get rendered due to their size.
        @[simp]
        theorem Countsupp.ωSup_apply {𝒮 : Type} [Semiring 𝒮] [OmegaCompletePartialOrder 𝒮] [OrderBot 𝒮] [IsPositiveOrderedAddMonoid 𝒮] {X : Type} [Fintype X] [DecidableEq 𝒮] (C : OmegaCompletePartialOrder.Chain (X →c 𝒮)) (x : X) :
        (OmegaCompletePartialOrder.ωSup C) x = OmegaCompletePartialOrder.ωSup (C.map { toFun := fun (x_1 : X →c 𝒮) => x_1 x, monotone' := })
        @[implicit_reducible]
        Equations
        noncomputable def Countsupp.bind {X 𝒮 : Type} [Semiring 𝒮] [OmegaCompletePartialOrder 𝒮] [OrderBot 𝒮] [IsPositiveOrderedAddMonoid 𝒮] {Y : Type} (f : X →c 𝒮) (g : XY →c 𝒮) :
        Y →c 𝒮
        Equations
        Instances For
          @[simp]
          theorem Countsupp.bind_apply {X 𝒮 : Type} [Semiring 𝒮] [OmegaCompletePartialOrder 𝒮] [OrderBot 𝒮] [IsPositiveOrderedAddMonoid 𝒮] {Y : Type} (f : X →c 𝒮) (g : XY →c 𝒮) (y : Y) :
          (f.bind g) y = ω∑ (i : f.support), f i * (g i) y
          theorem Countsupp.bind_mono_right {X 𝒮 : Type} [Semiring 𝒮] [OmegaCompletePartialOrder 𝒮] [OrderBot 𝒮] [MulLeftMono 𝒮] [IsPositiveOrderedAddMonoid 𝒮] {Y : Type} (f : X →c 𝒮) (g₁ g₂ : XY →c 𝒮) (h : g₁ g₂) :
          f.bind g₁ f.bind g₂
          theorem Countsupp.bind_mono_left {X 𝒮 : Type} [Semiring 𝒮] [OmegaCompletePartialOrder 𝒮] [OrderBot 𝒮] [MulRightMono 𝒮] [IsPositiveOrderedAddMonoid 𝒮] {Y : Type} {f₁ f₂ : X →c 𝒮} (g : XY →c 𝒮) (h : f₁ f₂) :
          f₁.bind g f₂.bind g
          @[simp]
          theorem Countsupp.sum_apply {X 𝒮 : Type} [Semiring 𝒮] [OmegaCompletePartialOrder 𝒮] [OrderBot 𝒮] [IsPositiveOrderedAddMonoid 𝒮] [DecidableEq X] {Y : Type} {f : XY →c 𝒮} {y : Y} (S : Finset X) :
          (∑ xS, f x) y = xS, (f x) y
          @[simp]
          theorem Countsupp.ωSum_apply {X 𝒮 : Type} [Semiring 𝒮] [OmegaCompletePartialOrder 𝒮] [OrderBot 𝒮] [IsPositiveOrderedAddMonoid 𝒮] [Countable X] {Y : Type} {f : XY →c 𝒮} {y : Y} :
          (ω∑ (x : X), f x) y = ω∑ (x : X), (f x) y