Prove that graphs build by buildCfg are sufficient
That is, if we have a (semantic) trace, we can find a corresponding path through the CFG. Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
This commit is contained in:
@@ -17,6 +17,7 @@ module _ {g : Graph} where
|
||||
ρ₁ , (g [ idx₁ ]) ⇒ᵇˢ ρ₂ → (idx₁ , idx₂) ∈ edges →
|
||||
Trace idx₂ idx₃ ρ₂ ρ₃ → Trace idx₁ idx₃ ρ₁ ρ₃
|
||||
|
||||
infixr 5 _++⟨_⟩_
|
||||
_++⟨_⟩_ : ∀ {idx₁ idx₂ idx₃ idx₄ : Index} {ρ₁ ρ₂ ρ₃ : Env} →
|
||||
Trace idx₁ idx₂ ρ₁ ρ₂ → (idx₂ , idx₃) ∈ edges →
|
||||
Trace idx₃ idx₄ ρ₂ ρ₃ → Trace idx₁ idx₄ ρ₁ ρ₃
|
||||
@@ -24,6 +25,7 @@ module _ {g : Graph} where
|
||||
_++⟨_⟩_ (Trace-edge ρ₁⇒ρ₂ idx₁→idx' tr') idx₂→idx₃ tr = Trace-edge ρ₁⇒ρ₂ idx₁→idx' (tr' ++⟨ idx₂→idx₃ ⟩ tr)
|
||||
|
||||
record EndToEndTrace (ρ₁ ρ₂ : Env) : Set where
|
||||
constructor MkEndToEndTrace
|
||||
field
|
||||
idx₁ : Index
|
||||
idx₁∈inputs : idx₁ ∈ inputs
|
||||
|
||||
Reference in New Issue
Block a user