Documentation

EventStructures.CCS.Syntax

Finitary CCS: syntax and operational semantics #

inductive CCS.Label (Name : Type u_1) :
Type u_1

CCS labels: input or output on a name.

Instances For
    def CCS.Label.co {Name : Type u_1} :
    Label NameLabel Name

    Co-label: swap input/output.

    Equations
    Instances For
      @[simp]
      theorem CCS.Label.co_co {Name : Type u_1} (a : Label Name) :
      a.co.co = a
      def CCS.Label.map {Name : Type u_1} {Name' : Type u_2} (f : NameName') :
      Label NameLabel Name'

      Rename the underlying name.

      Equations
      Instances For
        def CCS.Label.strip {Name : Type u_1} :
        Label (Option Name)Option (Label Name)

        Strip a label down to Name, failing on the bound name none.

        Equations
        Instances For
          @[simp]
          theorem CCS.Label.strip_map {Name : Type u_1} (a : Label Name) :
          inductive CCS.Action (Name : Type u_1) :
          Type u_1

          CCS actions: a visible label, or the internal action τ.

          Instances For
            def CCS.Action.map {Name : Type u_1} {Name' : Type u_2} (f : NameName') :
            Action NameAction Name'

            Rename the underlying name.

            Equations
            Instances For
              def CCS.Action.strip {Name : Type u_1} :
              Action (Option Name)Option (Action Name)

              Strip an action down to Name, failing if it mentions the bound name.

              Equations
              Instances For
                @[simp]
                theorem CCS.Action.strip_map {Name : Type u_1} (α : Action Name) :
                (map some α).strip = some α
                theorem CCS.Action.map_some_of_strip {Name : Type u_1} {b : Action (Option Name)} {a : Action Name} :
                b.strip = some ab = map some a

                strip inverts map some.

                inductive CCS.Process :
                Type u → Type (u + 1)

                Finitary CCS, well-scoped: res binds a name via Option.

                Instances For
                  inductive CCS.Step {Name : Type u_1} :
                  Process NameAction NameProcess NameProp

                  Operational semantics of CCS.

                  Instances For