Documentation

Comparse.Formats.Basic

Equations
Instances For
    @[simp]
    theorem Comparse.NonExtensibleMessageFormat.unit.wf_eq {Bytes : Type} [BytesLike Bytes] (pred : BytesProp) [BytesCompatiblePred pred] (x : Unit) :
    unit.wf pred x
    Equations
    Instances For
      @[simp]
      theorem Comparse.ExtensibleMessageFormat.bytes.wf_eq {Bytes : Type} [BytesLike Bytes] (pred : BytesProp) [BytesCompatiblePred pred] (x : Bytes) :
      bytes.wf pred x = pred x
      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        @[simp]
        theorem Comparse.NonExtensibleMessageFormat.toExtensible.wf_eq {Bytes : Type} [BytesLike Bytes] {a : Type} (mf : NonExtensibleMessageFormat Bytes a) (pred : BytesProp) [BytesCompatiblePred pred] (x : a) :
        mf.toExtensible.wf pred x = mf.wf pred x
        def Comparse.ExtensibleMessageFormat.toNonExtensible {Bytes : Type} [BytesLike Bytes] {a : Type} (mf : ExtensibleMessageFormat Bytes a) (len : Nat) :
        (∀ (x : a), BytesLike.length (mf.serialize x) = len)NonExtensibleMessageFormat Bytes a
        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          @[simp]
          theorem Comparse.ExtensibleMessageFormat.toNonExtensible.wf_eq {Bytes : Type} [BytesLike Bytes] {a : Type} (mf : ExtensibleMessageFormat Bytes a) (len : Nat) (h : ∀ (x : a), BytesLike.length (mf.serialize x) = len) (pred : BytesProp) [BytesCompatiblePred pred] (x : a) :
          (mf.toNonExtensible len h).wf pred x = mf.wf pred x
          def Comparse.NonExtensibleMessageFormat.sigma {Bytes : Type} [BytesLike Bytes] {a : Type} {b : aType} (mfa : NonExtensibleMessageFormat Bytes a) (mfb : (x : a) → NonExtensibleMessageFormat Bytes (b x)) :
          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            instance Comparse.NonExtensibleMessageFormat.sigma.instIsNonAmbiguousSigma {Bytes : Type} [BytesLike Bytes] {a : Type} {b : aType} (mfa : NonExtensibleMessageFormat Bytes a) (mfb : (x : a) → NonExtensibleMessageFormat Bytes (b x)) [mfa.IsNonAmbiguous] [∀ (x : a), (mfb x).IsNonAmbiguous] :
            instance Comparse.NonExtensibleMessageFormat.sigma.instParseConsumesSigma {Bytes : Type} [BytesLike Bytes] {a : Type} {b : aType} (mfa : NonExtensibleMessageFormat Bytes a) (mfb : (x : a) → NonExtensibleMessageFormat Bytes (b x)) [mfa.ParseConsumes] :
            instance Comparse.NonExtensibleMessageFormat.sigma.instParseConsumesSigma_1 {Bytes : Type} [BytesLike Bytes] {a : Type} {b : aType} (mfa : NonExtensibleMessageFormat Bytes a) (mfb : (x : a) → NonExtensibleMessageFormat Bytes (b x)) [∀ (x : a), (mfb x).ParseConsumes] :
            @[simp]
            theorem Comparse.NonExtensibleMessageFormat.sigma.wf_eq {Bytes : Type} [BytesLike Bytes] {a : Type} {b : aType} (mfa : NonExtensibleMessageFormat Bytes a) (mfb : (x : a) → NonExtensibleMessageFormat Bytes (b x)) (pred : BytesProp) [BytesCompatiblePred pred] (x : Sigma b) :
            (mfa.sigma mfb).wf pred x = (mfa.wf pred x.fst (mfb x.fst).wf pred x.snd)
            def Comparse.ExtensibleMessageFormat.sigma {Bytes : Type} [BytesLike Bytes] {a : Type} {b : aType} (mfa : NonExtensibleMessageFormat Bytes a) (mfb : (x : a) → ExtensibleMessageFormat Bytes (b x)) :
            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              instance Comparse.ExtensibleMessageFormat.sigma.instIsNonAmbiguousSigmaOfIsNonAmbiguous {Bytes : Type} [BytesLike Bytes] {a : Type} {b : aType} (mfa : NonExtensibleMessageFormat Bytes a) (mfb : (x : a) → ExtensibleMessageFormat Bytes (b x)) [mfa.IsNonAmbiguous] [∀ (x : a), (mfb x).IsNonAmbiguous] :
              @[simp]
              theorem Comparse.ExtensibleMessageFormat.sigma.wf_eq {Bytes : Type} [BytesLike Bytes] {a : Type} {b : aType} (mfa : NonExtensibleMessageFormat Bytes a) (mfb : (x : a) → ExtensibleMessageFormat Bytes (b x)) (pred : BytesProp) [BytesCompatiblePred pred] (x : Sigma b) :
              (sigma mfa mfb).wf pred x = (mfa.wf pred x.fst (mfb x.fst).wf pred x.snd)
              class Comparse.SubsetRightInverse {b : Type u_1} {a : Sort u_2} (g : ba) (f : aOption b) :
              • right_inv (x : b) : f (g x) = some x
              Instances
                class Comparse.SubsetLeftInverse {b : Type u_1} {a : Sort u_2} (g : ba) (f : aOption b) :
                • left_inv (x : a) : match f x with | none => True | some y => g y = x
                Instances
                  def Comparse.NonExtensibleMessageFormat.subsetIsomorphic {Bytes : Type} [BytesLike Bytes] {a b : Type} (mf : NonExtensibleMessageFormat Bytes a) (f : aOption b) (g : ba) :
                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    @[simp]
                    theorem Comparse.NonExtensibleMessageFormat.subsetIsomorphic.wf_eq {Bytes : Type} [BytesLike Bytes] {a b : Type} (mf : NonExtensibleMessageFormat Bytes a) (f : aOption b) (g : ba) (pred : BytesProp) [BytesCompatiblePred pred] (x : b) :
                    (mf.subsetIsomorphic f g).wf pred x = mf.wf pred (g x)
                    def Comparse.ExtensibleMessageFormat.subsetIsomorphic {Bytes : Type} [BytesLike Bytes] {a b : Type} (mf : ExtensibleMessageFormat Bytes a) (f : aOption b) (g : ba) :
                    Equations
                    Instances For
                      @[simp]
                      theorem Comparse.ExtensibleMessageFormat.subsetIsomorphic.wf_eq {Bytes : Type} [BytesLike Bytes] {a b : Type} (mf : ExtensibleMessageFormat Bytes a) (f : aOption b) (g : ba) (pred : BytesProp) [BytesCompatiblePred pred] (x : b) :
                      (mf.subsetIsomorphic f g).wf pred x = mf.wf pred (g x)
                      @[irreducible]
                      def Comparse.ExtensibleMessageFormat.list.parse {Bytes : Type} [BytesLike Bytes] {a : Type} (mf : NonExtensibleMessageFormat Bytes a) [mf.ParseConsumes] (buf : Bytes) :
                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        @[simp]
                        theorem Comparse.ExtensibleMessageFormat.list.wf_eq {Bytes : Type} [BytesLike Bytes] {a : Type} (mf : NonExtensibleMessageFormat Bytes a) [mf.ParseConsumes] (pred : BytesProp) [BytesCompatiblePred pred] (l : List a) :
                        (list mf).wf pred l = ∀ (x : a), x lmf.wf pred x
                        structure Comparse.ListUntil {a : Type} (p : aProp) [DecidablePred p] :
                        Instances For
                          @[irreducible]
                          def Comparse.NonExtensibleMessageFormat.listUntil.parse {Bytes : Type} [BytesLike Bytes] {a : Type} (mf : NonExtensibleMessageFormat Bytes a) [mf.ParseConsumes] (p : aProp) [DecidablePred p] (buf : Bytes) :
                          Option (ListUntil p × Bytes)
                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For
                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For
                              @[simp]
                              theorem Comparse.NonExtensibleMessageFormat.listUntil.wf_eq {Bytes : Type} [BytesLike Bytes] {a : Type} (mf : NonExtensibleMessageFormat Bytes a) [mf.ParseConsumes] (p : aProp) [DecidablePred p] (pred : BytesProp) [BytesCompatiblePred pred] (l : ListUntil p) :
                              (mf.listUntil p).wf pred l = ((∀ (x : { x : a // ¬p x }), x l.initmf.wf pred x.val) mf.wf pred l.last.val)