Documentation

FMMidgard.DataStructures.List.Unordered.State

@[reducible, inline]

Key are nats.

Equations
Instances For

    Nodes contain some data and optionally a key and link. The link field states whats the next key in the list. Given two nodes, we can easily check if one follows from the other.

    structure MUList.State.Elemt (ε α : Type) :
    Instances For
      instance MUList.State.instReprElemt {ε✝ α✝ : Type} [Repr ε✝] [Repr α✝] :
      Repr (Elemt ε✝ α✝)
      Equations
      def MUList.State.instReprElemt.repr {ε✝ α✝ : Type} [Repr ε✝] [Repr α✝] :
      Elemt ε✝ α✝ → Nat → Std.Format
      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        @[reducible, inline]

        Elements in a linked list are tokens containing Elemt.

        Equations
        Instances For

          Key serialization operation.

          Equations
          Instances For
            @[reducible, inline]

            Linked lists are defined as a tokenized linked list structure.

            Equations
            Instances For
              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                Equations
                Instances For
                  theorem MUList.State.get_get_key {α : Type} {s : ListST α} {tid : Tokens.Elem.TId} :
                  theorem MUList.State.get_get_key_some {α : Type} {s : ListST α} {tid : Tokens.Elem.TId} {k : Key} (h : ListST.get_key tid s = some k) :
                  Tokens.State.Tokens.get_proj tid (fun (x : Elemt Key α) => x.key) s = some (some k)
                  theorem MUList.State.get_get_key_some' {α : Type} {s : ListST α} {tid : Tokens.Elem.TId} {k : Key} (h : Tokens.State.Tokens.get_proj tid (fun (x : Elemt Key α) => x.key) s = some (some k)) :
                  def MUList.State.ListST.get_data {α β : Type} (tid : Tokens.Elem.TId) (f : α → β) (s : ListST α) :
                  Equations
                  Instances For
                    theorem MUList.State.get_init {α : Type} {iv : α} {tid : Tokens.Elem.TId} {tkn : Tokens.Elem.TokenD (Elemt Key α)} (get : Tokens.State.Tokens.get tid (ListST.init iv).fst = some tkn) :
                    tid = (ListST.init iv).snd ∧ tkn.data = { key := none, link := none, data := iv }
                    theorem MUList.State.get_key_mem_key_all_keys {α : Type} {s : ListST α} {tid : Tokens.Elem.TId} {key : Key} (HM : Tokens.State.Tokens.get_proj tid (fun (x : Elemt Key α) => x.key) s = some (some key)) :
                    def MUList.State.midgard_is_member {α : Type} (key : Key) (nd : ListToken α) :
                    Equations
                    Instances For
                      def MUList.State.ListST.is_member {α : Type} (key : Key) (nd : Tokens.Elem.TId) (s : ListST α) :
                      Equations
                      Instances For
                        theorem MUList.State.is_member_and_key {α : Type} {s : ListST α} {k : Key} {t : Tokens.Elem.TId} {tkn : Tokens.Elem.TokenD (Elemt Key α)} (hm : ListST.is_member k t s = true) (htkn : Tokens.State.Tokens.get t s = some tkn) :
                        tkn.data.key = some k
                        def MUList.State.ListST.is_anchor {α : Type} (key : Key) (anchor : Tokens.Elem.TId) (s : ListST α) :
                        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
                            inductive MUList.State.Actions (α : Type) :
                            Instances For
                              def MUList.State.instReprActions.repr {α✝ : Type} [Repr α✝] :
                              Actions α✝ → Nat → Std.Format
                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For
                                Equations
                                Instances For
                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  Instances For