Remove last remaining assumption for correctness

Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
This commit is contained in:
2024-05-10 21:30:56 -07:00
parent 04bafb2d55
commit 5f946de5e8
2 changed files with 4 additions and 2 deletions

View File

@@ -356,8 +356,6 @@ module WithProg (prog : Program) where
in in
walkTrace ⟦joinForKey-s⟧ρ tr walkTrace ⟦joinForKey-s⟧ρ tr
postulate initialState-pred-∅ : incoming initialState ≡ []
joinForKey-initialState-⊥ᵛ : joinForKey initialState result ≡ ⊥ᵛ joinForKey-initialState-⊥ᵛ : joinForKey initialState result ≡ ⊥ᵛ
joinForKey-initialState-⊥ᵛ = cong (λ ins → foldr _⊔ᵛ_ ⊥ᵛ (result [ ins ])) initialState-pred-∅ joinForKey-initialState-⊥ᵛ = cong (λ ins → foldr _⊔ᵛ_ ⊥ᵛ (result [ ins ])) initialState-pred-∅

View File

@@ -84,6 +84,10 @@ record Program : Set where
incoming : State → List State incoming : State → List State
incoming = predecessors graph incoming = predecessors graph
initialState-pred-∅ : incoming initialState ≡ []
initialState-pred-∅ =
wrap-preds-∅ (buildCfg rootStmt) initialState (RelAny.here refl)
edge⇒incoming : ∀ {s₁ s₂ : State} → (s₁ , s₂) ListMem.∈ (Graph.edges graph) → edge⇒incoming : ∀ {s₁ s₂ : State} → (s₁ , s₂) ListMem.∈ (Graph.edges graph) →
s₁ ListMem.∈ (incoming s₂) s₁ ListMem.∈ (incoming s₂)
edge⇒incoming = edge⇒predecessor graph edge⇒incoming = edge⇒predecessor graph