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 で Layer が depth を持つようになったため、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)。
supports は反反射的 (Nat.lt の反反射性から直接導出)。
LayerPropagation: relation where lower-layer V&V implies upper-layer V&V.
- lower_layer : Layer
- upper_layer : Layer
- supports : self.lower_layer.supports self.upper_layer
- lower_prop : Prop
- upper_prop : Prop
- propagates : self.lower_prop → self.upper_prop
Instances For
def
VerifiedMBSE.VV.LayerPropagation.compose
(lp1 lp2 : LayerPropagation)
(hchain : lp1.upper_prop → lp2.lower_prop)
(hsup : lp1.lower_layer.supports lp2.upper_layer)
:
Composition of transitive propagation.
Equations
- lp1.compose lp2 hchain hsup = { lower_layer := lp1.lower_layer, upper_layer := lp2.upper_layer, supports := hsup, lower_prop := lp1.lower_prop, upper_prop := lp2.upper_prop, propagates := ⋯ }
Instances For
theorem
VerifiedMBSE.VV.trusted_gives_full_confidence
(r : VVRecord)
(h : r.validation.current = ValidationEvidence.trusted ⋯)
:
If all VVRecord validations are trusted, then currentLevel = 1.0.