Documentation

Strips.VarSet

Sets of Variables #

This file implements set of variables with the aim to be both easy to work with and effient at runtime.

Sets of variables #

structure STRIPS.VarSet (n : ) :

A set of variables of type Fin n, where n is the number of variables

  • toBitVec : BitVec n

    The bitvector internally representing the set of variables.

Instances For
    def STRIPS.instDecidableEqVarSet.decEq {n✝ : } (x✝ x✝¹ : VarSet n✝) :
    Decidable (x✝ = x✝¹)
    Equations
    Instances For
      @[implicit_reducible]
      Equations
      theorem STRIPS.VarSet.mem_iff {n : } {i : Fin n} {V : VarSet n} :
      @[implicit_reducible]
      instance STRIPS.VarSet.instDecidableMemFin {n : } {i : Fin n} {V : VarSet n} :
      Equations
      @[reducible]
      Equations
      theorem STRIPS.VarSet.subset_def {n : } {V V' : VarSet n} :
      V V' ∀ (i : Fin n), i Vi V'
      @[implicit_reducible]
      Equations
      @[simp]
      theorem STRIPS.VarSet.mem_empty {n : } {i : Fin n} :
      def STRIPS.VarSet.insert {n : } (i : Fin n) (V : VarSet n) :

      Return the VarSet containing all variables in V and the variable i.

      Equations
      Instances For
        @[simp]
        theorem STRIPS.VarSet.mem_insert {n : } {V : VarSet n} {i j : Fin n} :
        j insert i V j V j = i

        Return the VarSet containing all variables.

        Equations
        Instances For
          @[simp]
          theorem STRIPS.VarSet.mem_all {n : } {i : Fin n} :
          def STRIPS.VarSet.ofFn {n : } (f : Fin nBool) :

          Return the VarSet containing all variables i for which f i is true.

          Equations
          Instances For
            @[simp]
            theorem STRIPS.VarSet.mem_ofFn {n : } {f : Fin nBool} {i : Fin n} :
            i ofFn f f i = true
            def STRIPS.VarSet.ofList {n : } (l : List (Fin n)) :

            Return the VarSet containing all variables in the given list.

            Equations
            Instances For
              @[simp]
              theorem STRIPS.VarSet.mem_ofList {n : } {l : List (Fin n)} {i : Fin n} :
              i ofList l i l
              @[implicit_reducible]
              Equations
              @[simp]
              theorem STRIPS.VarSet.mem_union {n : } {V V' : VarSet n} {i : Fin n} :
              i V V' i V i V'
              @[simp]
              theorem STRIPS.VarSet.empty_union {n : } {V : VarSet n} :
              V = V
              @[simp]
              theorem STRIPS.VarSet.union_empty {n : } {V : VarSet n} :
              V = V
              @[implicit_reducible]
              Equations
              @[simp]
              theorem STRIPS.VarSet.mem_inter {n : } {V V' : VarSet n} {i : Fin n} :
              i V V' i V i V'
              @[simp]
              theorem STRIPS.VarSet.empty_inter {n : } {V : VarSet n} :
              @[simp]
              theorem STRIPS.VarSet.inter_eq_empty_iff {n : } {V V' : VarSet n} :
              V V' = ∀ (i : Fin n), i V¬i V'
              @[implicit_reducible]
              Equations
              @[simp]
              theorem STRIPS.VarSet.mem_compl {n : } {V : VarSet n} {i : Fin n} :
              i V ¬i V
              @[implicit_reducible]
              Equations
              @[simp]
              theorem STRIPS.VarSet.mem_diff {n : } {V V' : VarSet n} {i : Fin n} :
              i V \ V' i V ¬i V'
              def STRIPS.VarSet.foldl {α : Sort u_1} {n : } (f : αFin nα) (init : α) (V : VarSet n) :
              α

              Folds a function over all variables in V with starting value init. The variables are combined in increasing order.

              Equations
              Instances For
                theorem STRIPS.VarSet.foldl_cons {α : Type u_1} {n : } {V : VarSet n} {f : Fin nα} {a : α} {as : List α} :
                a foldl (fun (a : List α) (i : Fin n) => f i :: a) as V ( (i : Fin n), i V a = f i) a as
                def STRIPS.VarSet.map {n m : } (V : VarSet n) (f : Fin nFin m) :

                Return the VarSet containing the variables f i for every variable i in V.

                Equations
                Instances For
                  theorem STRIPS.VarSet.mem_map {n m : } {V : VarSet n} {f : Fin nFin m} {i : Fin m} :
                  i V.map f (j : Fin n), j V i = f j
                  @[implicit_reducible]
                  Equations
                  • One or more equations did not get rendered due to their size.
                  @[implicit_reducible]
                  Equations