Documentation

CatCryptCore.Package.Locations

Enhanced Location Tracking #

This file defines a structured collection of memory locations for package validity tracking. Locations are tracked as a finite set with type information.

Main definitions #

References #

Locations: a finite set of location ids with their type information. We track locations by their ids since type information is bundled in Location.

Instances For

    Empty location set

    Equations
    Instances For
      @[implicit_reducible]

      A location is in the set if its id is in the id set

      Equations

      Singleton location set

      Equations
      Instances For

        Two location sets are separate (disjoint ids)

        Equations
        Instances For
          theorem CatCrypt.Package.Locations.separate_symm {L₁ L₂ : Locations} (h : L₁.Separate L₂) :
          L₂.Separate L₁
          noncomputable def CatCrypt.Package.Locations.union (L₁ L₂ : Locations) (h : L₁.Separate L₂) :

          Union of location sets (partial - should only be used with disjoint locations for well-definedness of the location mapping)

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            theorem CatCrypt.Package.Locations.union_ids {L₁ L₂ : Locations} (h : L₁.Separate L₂) :
            (L₁.union L₂ h).ids = L₁.ids L₂.ids
            theorem CatCrypt.Package.Locations.mem_union_left {L₁ L₂ : Locations} (h : L₁.Separate L₂) (l : Core.Location) :
            l L₁l L₁.union L₂ h
            theorem CatCrypt.Package.Locations.mem_union_right {L₁ L₂ : Locations} (h : L₁.Separate L₂) (l : Core.Location) :
            l L₂l L₁.union L₂ h

            Subset relation on locations

            Equations
            Instances For

              Difference of location sets

              Equations
              Instances For
                theorem CatCrypt.Package.Locations.diff_ids (L₁ L₂ : Locations) :
                (L₁.diff L₂).ids = L₁.ids \ L₂.ids

                Card of a location set

                Equations
                Instances For