Documentation

QuasiBorelSpaces.List.Encoding

@[reducible, inline]
abbrev List.Encoding (A : Type u_4) :
Type u_4

We derive the QuasiBorelSpace instance for List As from their encoding as (n : ℕ) × (Fin n → A).

Equations
Instances For

    The encoded version of [].

    Equations
    Instances For
      def List.Encoding.cons {A : Type u_1} (x : A) (xs : Encoding A) :

      The encoded version of · ∷ ·.

      Equations
      Instances For
        @[irreducible]
        def List.Encoding.foldr {A : Type u_1} {B : Type u_2} (cons : ABB) (nil : B) :
        Encoding AB

        The encoded version of List.foldr.

        Equations
        Instances For
          @[simp]
          theorem List.Encoding.foldr_nil {A : Type u_4} {B : Type u_5} (f : ABB) (z : B) :
          foldr f z nil = z
          @[simp]
          theorem List.Encoding.foldr_cons {A : Type u_4} {B : Type u_5} (f : ABB) (z : B) (x : A) (xs : Encoding A) :
          foldr f z (cons x xs) = f x (foldr f z xs)
          @[simp]
          theorem List.Encoding.nil_ne_cons {A : Type u_1} (x : A) (xs : Encoding A) :
          nil cons x xs
          @[simp]
          theorem List.Encoding.cons_ne_nil {A : Type u_1} (x : A) (xs : Encoding A) :
          cons x xs nil
          @[simp]
          theorem List.Encoding.cons_inj_iff {A : Type u_1} (x y : A) (xs ys : Encoding A) :
          cons x xs = cons y ys x = y xs = ys
          @[simp]
          @[simp]
          theorem List.Encoding.encode_cons {A : Type u_4} (x : A) (xs : List A) :
          encode (x :: xs) = cons x (encode xs)