merge
This commit is contained in:
commit
38cd3659ca
1 changed files with 6 additions and 5 deletions
|
@ -1089,12 +1089,13 @@ into two lists that merge to give the original list, where all
|
||||||
elements of one list satisfy the predicate, and all elements of
|
elements of one list satisfy the predicate, and all elements of
|
||||||
the other do not satisfy the predicate.
|
the other do not satisfy the predicate.
|
||||||
|
|
||||||
Define the following variant of the traditional `filter` function on lists,
|
Define the following variant of the traditional `filter` function on
|
||||||
which given a decidable predicate and a list returns all elements of the
|
lists, which given a decidable predicate and a list returns a list of
|
||||||
list satisfying the predicate:
|
elements that satisfy the predicate and a list of elements that don't,
|
||||||
|
with their corresponding proofs.
|
||||||
|
|
||||||
split : ∀ {A : Set} {P : A → Set} (P? : Decidable P) (xs : List A)
|
split : ∀ {A : Set} {P : A → Set} (P? : Decidable P) (zs : List A)
|
||||||
→ ∃[ ys ] ∃[ zs ] ( merge xs ys zs × All P ys × All (¬_ ∘ P) zs )
|
→ ∃[ xs ] ∃[ ys ] ( merge xs ys zs × All P xs × All (¬_ ∘ P) ys )
|
||||||
|
|
||||||
```
|
```
|
||||||
-- Your code goes here
|
-- Your code goes here
|
||||||
|
|
Loading…
Reference in a new issue