Documentation

VerifiedMBSE.VV.Propagation

Inter-Layer V&V Propagation (F5 generalized) #

Layer.supports (inclusion relation between layers) と LayerPropagation (transitive propagation from lower-layer V&V to upper-layer V&V) を定義する。

F5 での一般化 #

旧版は 3 階層 (.component / .subsystem / .system) の pattern match で supports を定義していたため、新しい階層(.assembly, .unit, .part 等)を 追加するたびにケースを増やす必要があった。

F5 で Layerdepth を持つようになったため、supports

Layer.supports l1 l2 ⟺ l1.depth > l2.depth

という depth 比較ベースに一般化した。これにより 8 階層すべてに対して supports / supports_trans / supports_irrefl同一の証明で成立 する。

後方互換: 旧コードが期待する supports .component .system などの判定結果は そのまま成立する(.component.depth = 6 > 1 = .system.depth)。

Layer inclusion: a lower layer 'supports' an upper layer.

depth ベースで判定: l1 の depth が l2 より大きければ l1 は下層 (分解が進んだ側)であり、上層 l2 の V&V を支える。

Equations
Instances For
    @[implicit_reducible]

    supportsNat.lt 経由で決定可能 (Bool 化できる)。

    Equations
    theorem VerifiedMBSE.VV.Layer.supports_trans {l1 l2 l3 : Layer} (h12 : l1.supports l2) (h23 : l2.supports l3) :
    l1.supports l3

    supports は推移的 (Nat.lt の推移性から直接導出)。

    supports は反反射的 (Nat.lt の反反射性から直接導出)。

    LayerPropagation: relation where lower-layer V&V implies upper-layer V&V.

    Instances For

      Composition of transitive propagation.

      Equations
      Instances For

        If all VVRecord validations are trusted, then currentLevel = 1.0.