Prove that predecessors imply edges
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
This commit is contained in:
parent
41ada43047
commit
e0248397b7
|
@ -6,7 +6,7 @@ open import Data.Fin as Fin using (Fin; suc; zero)
|
|||
open import Data.Fin.Properties as FinProp using (suc-injective)
|
||||
open import Data.List as List using (List; []; _∷_)
|
||||
open import Data.List.Membership.Propositional as ListMem using ()
|
||||
open import Data.List.Membership.Propositional.Properties as ListMemProp using (∈-filter⁺)
|
||||
open import Data.List.Membership.Propositional.Properties as ListMemProp using (∈-filter⁺; ∈-filter⁻)
|
||||
open import Data.List.Relation.Unary.All using (All; []; _∷_)
|
||||
open import Data.List.Relation.Unary.Any as RelAny using ()
|
||||
open import Data.Nat as Nat using (ℕ; suc)
|
||||
|
@ -167,3 +167,8 @@ module _ (g : Graph) where
|
|||
edge⇒predecessor {idx₁} {idx₂} idx₁,idx₂∈es =
|
||||
∈-filter⁺ (λ idx' → (idx' , idx₂) ∈? (Graph.edges g))
|
||||
(indices-complete idx₁) idx₁,idx₂∈es
|
||||
|
||||
predecessor⇒edge : ∀ {idx₁ idx₂ : Graph.Index g} → idx₁ ListMem.∈ (predecessors idx₂) →
|
||||
(idx₁ , idx₂) ListMem.∈ (Graph.edges g)
|
||||
predecessor⇒edge {idx₁} {idx₂} idx₁∈pred =
|
||||
proj₂ (∈-filter⁻ (λ idx' → (idx' , idx₂) ∈? (Graph.edges g)) {v = idx₁} {xs = indices} idx₁∈pred )
|
||||
|
|
Loading…
Reference in New Issue
Block a user