Documentation

EventStructures.Stable.Prime

Primes of a stable family #

A complete prime is a configuration that is the history of one of its own events, so a set with a greatest element. Ordered by inclusion, with conflict given by incompatibility, the complete primes form a prime event structure with the same configurations.

Distinct events of a configuration are separated by a subconfiguration.

Equations
Instances For

    Every general event structure is coincidence-free: rank separates two distinct events of a configuration.

    theorem Stable.hist_finite {L : Type u_1} (G : GES L) (hF : Stable G.toFamily) {c : Set G.Event} (hc : G.isConf c) {x : G.Event} (hx : x c) :

    Histories in a general event structure are finite.

    def Stable.IsPrime {L : Type u_1} (F : ConfFamily L) (p : Set F.Event) :

    A complete prime: a configuration which is the history of one of its events.

    Equations
    Instances For
      def Stable.Prime {L : Type u_1} (F : ConfFamily L) :
      Type u_2

      The complete primes, ordered by inclusion.

      Equations
      Instances For
        @[instance_reducible]
        Equations
        theorem Stable.Prime.config {L : Type u_1} {F : ConfFamily L} (p : Prime F) :
        F.Config p
        @[simp]
        theorem Stable.Prime.le_iff {L : Type u_1} {F : ConfFamily L} {p q : Prime F} :
        p q pq
        noncomputable def Stable.Prime.top {L : Type u_1} {F : ConfFamily L} (p : Prime F) :

        The greatest element of a complete prime.

        Equations
        Instances For
          theorem Stable.Prime.top_mem {L : Type u_1} {F : ConfFamily L} (p : Prime F) :
          p.top p
          theorem Stable.Prime.eq_hist_top {L : Type u_1} {F : ConfFamily L} (p : Prime F) :
          p = hist F (↑p) p.top
          theorem Stable.Prime.eq_top {L : Type u_1} {F : ConfFamily L} (hcf : CoincidenceFree F) (p : Prime F) {y : F.Event} (hy : y p) (hh : p = hist F (↑p) y) :
          y = p.top

          Any event witnessing primeness is the greatest one.

          def Stable.Compat {L : Type u_1} {F : ConfFamily L} (p q : Prime F) :

          Two primes are compatible when a single configuration contains both.

          Equations
          Instances For
            theorem Stable.compat_self {L : Type u_1} {F : ConfFamily L} (p : Prime F) :
            Compat p p
            theorem Stable.Compat.symm {L : Type u_1} {F : ConfFamily L} {p q : Prime F} :
            Compat p qCompat q p
            @[reducible]
            noncomputable def Stable.toPES {L : Type u_1} (F : ConfFamily L) :
            PES L

            The prime event structure of complete primes.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              theorem Stable.hist_hist {L : Type u_1} {F : ConfFamily L} (hF : Stable F) {c : Set F.Event} (hc : F.Config c) {x : F.Event} (hx : x c) :
              hist F c x = hist F (hist F c x) x

              A history is its own history.

              theorem Stable.isPrime_hist {L : Type u_1} {F : ConfFamily L} (hF : Stable F) {c : Set F.Event} (hc : F.Config c) {x : F.Event} (hx : x c) :
              IsPrime F (hist F c x)

              Inside a configuration, every history is a complete prime.

              noncomputable def Stable.histPrime {L : Type u_1} {F : ConfFamily L} (hF : Stable F) {c : Set F.Event} (hc : F.Config c) {x : F.Event} (hx : x c) :

              The history of x in c, as a prime.

              Equations
              Instances For
                theorem Stable.prime_val_finite {L : Type u_1} (G : GES L) (hF : Stable G.toFamily) (p : Prime G.toFamily) :
                (↑p).Finite

                Complete primes have finite carriers.

                Agreement of configurations #

                def Stable.primesOf {L : Type u_1} (F : ConfFamily L) (c : Set F.Event) :

                The primes below a set of events.

                Equations
                Instances For
                  def Stable.flatten {L : Type u_1} (F : ConfFamily L) (S : Set (Prime F)) :

                  The events covered by a set of primes.

                  Equations
                  Instances For
                    theorem Stable.subset_flatten {L : Type u_1} {F : ConfFamily L} {S : Set (Prime F)} {p : Prime F} (hp : p S) :
                    pflatten F S
                    theorem Stable.primesOf_isConf {L : Type u_1} {F : ConfFamily L} {c : Set F.Event} (hc : F.Config c) :

                    Configurations map to configurations.

                    theorem Stable.mem_flatten_primesOf {L : Type u_1} {F : ConfFamily L} (hF : Stable F) {c : Set F.Event} (hc : F.Config c) {x : F.Event} (hx : x c) :
                    x flatten F (primesOf F c)

                    Every event of a configuration is the top of a prime inside it.

                    theorem Stable.flatten_primesOf {L : Type u_1} {F : ConfFamily L} (hF : Stable F) {c : Set F.Event} (hc : F.Config c) :
                    flatten F (primesOf F c) = c

                    Flattening recovers the configuration.

                    theorem Stable.eq_hist_of_subset {L : Type u_1} {F : ConfFamily L} (hF : Stable F) {c : Set F.Event} (hc : F.Config c) {p : Prime F} (hp : pc) :
                    p = hist F c p.top

                    Inside a configuration, a prime is the history of its top.

                    theorem Stable.toPES_finitary {L : Type u_1} (G : GES L) (hF : Stable G.toFamily) (p : (toPES G.toFamily).Event) :

                    The prime event structure of complete primes has finite causes.

                    theorem Stable.primesOf_flatten {L : Type u_1} {F : ConfFamily L} (hF : Stable F) {S : Set (Prime F)} (hS : isConf (toPES F) S) (hflat : F.Config (flatten F S)) :
                    primesOf F (flatten F S) = S

                    A set of primes whose union is a configuration is recovered from it.

                    theorem Stable.label_histPrime {L : Type u_1} {F : ConfFamily L} (hF : Stable F) (hcf : CoincidenceFree F) {c : Set F.Event} (hc : F.Config c) {x : F.Event} (hx : x c) :
                    (toPES F).label (histPrime hc hx) = F.label x

                    The label of a history-prime is the label of the event it is the history of.

                    Firing one prime #

                    Adding an enabled prime to a configuration adds exactly one event, its top.

                    theorem Stable.histPrime_lt {L : Type u_1} {F : ConfFamily L} (hF : Stable F) (hcf : CoincidenceFree F) (p : Prime F) {t : F.Event} (ht : t p) (hne : t p.top) :
                    histPrime ht < p

                    A non-top event of a prime is the top of a strictly smaller prime.

                    theorem Stable.val_subset_flatten {L : Type u_1} {F : ConfFamily L} (hF : Stable F) (hcf : CoincidenceFree F) {c : Set (Prime F)} {p : Prime F} (hpast : q < p, q c) :
                    pflatten F c {p.top}

                    Every event of an enabled prime other than its top is already present.

                    theorem Stable.flatten_insert {L : Type u_1} {F : ConfFamily L} (hF : Stable F) (hcf : CoincidenceFree F) {c : Set (Prime F)} {p : Prime F} (hpast : q < p, q c) :
                    flatten F (c {p}) = flatten F c {p.top}

                    Firing a prime adds exactly its top.