Abstraction Levels and Design Parameters #
Defines AbstractionLevel (MBSE analogue of n-truncation) and
DesignParameter (discrete analogue of cubical structure).
AbstractionLevel: design abstraction level. MBSE analogue of HoTT n-truncation.
- concept : AbstractionLevel
Concept level: requirements only
- logical : AbstractionLevel
Logical level: interface definitions
- physical : AbstractionLevel
Physical level: concrete implementation
Instances For
@[implicit_reducible]
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- VerifiedMBSE.Equivalence.instBEqAbstractionLevel.beq x✝ y✝ = (x✝.ctorIdx == y✝.ctorIdx)
Instances For
@[implicit_reducible]
@[implicit_reducible]
Refinement relation between abstraction levels: lower refines upper.
Equations
- VerifiedMBSE.Equivalence.AbstractionLevel.physical.refines VerifiedMBSE.Equivalence.AbstractionLevel.logical = True
- VerifiedMBSE.Equivalence.AbstractionLevel.physical.refines VerifiedMBSE.Equivalence.AbstractionLevel.concept = True
- VerifiedMBSE.Equivalence.AbstractionLevel.logical.refines VerifiedMBSE.Equivalence.AbstractionLevel.concept = True
- x✝¹.refines x✝ = False
Instances For
theorem
VerifiedMBSE.Equivalence.AbstractionLevel.refines_trans
{l₁ l₂ l₃ : AbstractionLevel}
(h₁₂ : l₁.refines l₂)
(h₂₃ : l₂.refines l₃)
:
l₁.refines l₃
Abstraction refinement is transitive.
def
VerifiedMBSE.Equivalence.ParametricInvariant
{α : Type}
(param : DesignParameter α)
(inv : α → Prop)
:
Parametric invariant: inv holds for all valid parameter values. Discrete analogue of cubical path Π(p : I). inv(p).
Equations
- VerifiedMBSE.Equivalence.ParametricInvariant param inv = ∀ (p : α), param.valid p → inv p
Instances For
Example: power budget parameter (400-600W).
Equations
- VerifiedMBSE.Equivalence.powerBudgetParam = { value := 500, valid := fun (n : Nat) => 400 ≤ n ∧ n ≤ 600, inRange := VerifiedMBSE.Equivalence.powerBudgetParam._proof_3 }