Documentation

VerifiedMBSE.Core.Interpretation

PartDef Semantics and ConnectorSemantic #

Defines interpretation-based extent of PartDef, PartInstance (dependent record), semanticSpecializes at the PartDef level, and categorical laws for ConnectorSemantic (associativity, identity).

PortInstance: instance type of a port under interpretation I.

Equations
Instances For

    PartInstance: instance of a PartDef under interpretation I. A dependent record with a carrier value and proof of the invariant.

    Instances For

      Extent of a PartDef: the type of PartInstances.

      Equations
      Instances For

        PartDef.semanticSpecializes is reflexive.

        PartDef.semanticSpecializes is transitive.

        Invariant inheritance relation.

        Equations
        Instances For

          Derive PartDef-level semanticSpecializes from baseType semanticSpecializes and InvariantInheritance.

          Soundness theorem at the PartDef level.

          ConnectorSemantic: connector semantics (type of value transfer functions).

          Equations
          Instances For

            Serial composability condition.

            Equations
            Instances For

              Serial composition of ConnectorSemantics.

              Equations
              Instances For

                Identity ConnectorSemantic (when source and target flowTypes are equal).

                Equations
                Instances For
                  theorem VerifiedMBSE.Core.ConnectorSemantic.compose_assoc (I : Interpretation) (c1 c2 c3 : Connector) (h12 : c1.Composable c2) (h23 : c2.Composable c3) (f1 : ConnectorSemantic I c1) (f2 : ConnectorSemantic I c2) (f3 : ConnectorSemantic I c3) (v : I c1.source.port.flowType) :
                  f3 (h23 compose I c1 c2 h12 f1 f2 v) = compose I c2 c3 h23 f2 f3 (h12 f1 v)

                  Associativity of ConnectorSemantic.

                  theorem VerifiedMBSE.Core.ConnectorSemantic.compose_id_right (I : Interpretation) (c1 c2 : Connector) (h12 : c1.Composable c2) (heq : c2.source.port.flowType = c2.target.port.flowType) (f : ConnectorSemantic I c1) (v : I c1.source.port.flowType) :
                  compose I c1 c2 h12 f (id_of_eq I c2 heq) v = f v

                  Right identity law of ConnectorSemantic.

                  theorem VerifiedMBSE.Core.ConnectorSemantic.compose_id_left (I : Interpretation) (c1 c2 : Connector) (h12 : c1.Composable c2) (heq : c1.source.port.flowType = c1.target.port.flowType) (f : ConnectorSemantic I c2) (v : I c1.source.port.flowType) :
                  compose I c1 c2 h12 (id_of_eq I c1 heq) f v = f ( v)

                  Left identity law of ConnectorSemantic.

                  theorem VerifiedMBSE.Core.ConnectorSemantic.compose_id_left_assoc (I : Interpretation) (c1 c2 c3 : Connector) (h12 : c1.Composable c2) (h23 : c2.Composable c3) (heq : c1.source.port.flowType = c1.target.port.flowType) (f : ConnectorSemantic I c2) (g : ConnectorSemantic I c3) (v : I c1.source.port.flowType) :
                  compose I c2 c3 h23 f g (h12 id_of_eq I c1 heq v) = compose I c2 c3 h23 f g ( v)

                  Corollary: when the leftmost connector in a triple composition is identity.