@@ -22,8 +22,9 @@ open import Data.Nat.Base using (suc; z≤n; s≤s; _≤_; _<_)
22
22
open import Data.Nat.Properties using (≤-trans; n≤1+n)
23
23
open import Data.Product as Prod using (∃; _×_; _,_ ; ∃₂; proj₁; proj₂)
24
24
open import Data.Product.Relation.Binary.Pointwise.NonDependent using (_×ₛ_)
25
- open import Data.Sum.Base using (_⊎_; inj₁; inj₂)
25
+ open import Data.Sum.Base using (_⊎_; inj₁; inj₂; [_,_]′ )
26
26
open import Function.Base using (_$_; flip; _∘_; id)
27
+ open import Function.Inverse using (_↔_)
27
28
open import Level using (Level)
28
29
open import Relation.Binary as B hiding (Decidable)
29
30
open import Relation.Binary.PropositionalEquality as P using (_≡_)
@@ -163,6 +164,27 @@ module _ (S : Setoid c ℓ) where
163
164
∈-++⁻ : ∀ {v} xs {ys} → v ∈ xs ++ ys → (v ∈ xs) ⊎ (v ∈ ys)
164
165
∈-++⁻ = Any.++⁻
165
166
167
+ ∈-++⁺∘++⁻ : ∀ {v} xs {ys} (p : v ∈ xs ++ ys) →
168
+ [ ∈-++⁺ˡ , ∈-++⁺ʳ xs ]′ (∈-++⁻ xs p) ≡ p
169
+ ∈-++⁺∘++⁻ = Any.++⁺∘++⁻
170
+
171
+ ∈-++⁻∘++⁺ : ∀ {v} xs {ys} (p : v ∈ xs ⊎ v ∈ ys) →
172
+ ∈-++⁻ xs ([ ∈-++⁺ˡ , ∈-++⁺ʳ xs ]′ p) ≡ p
173
+ ∈-++⁻∘++⁺ = Any.++⁻∘++⁺
174
+
175
+ ∈-++↔ : ∀ {v xs ys} → (v ∈ xs ⊎ v ∈ ys) ↔ v ∈ xs ++ ys
176
+ ∈-++↔ = Any.++↔
177
+
178
+ ∈-++-comm : ∀ {v} xs ys → v ∈ xs ++ ys → v ∈ ys ++ xs
179
+ ∈-++-comm = Any.++-comm
180
+
181
+ ∈-++-comm∘++-comm : ∀ {v} xs {ys} (p : v ∈ xs ++ ys) →
182
+ ∈-++-comm ys xs (∈-++-comm xs ys p) ≡ p
183
+ ∈-++-comm∘++-comm = Any.++-comm∘++-comm
184
+
185
+ ∈-++↔++ : ∀ {v} xs ys → v ∈ xs ++ ys ↔ v ∈ ys ++ xs
186
+ ∈-++↔++ = Any.++↔++
187
+
166
188
∈-insert : ∀ xs {ys v w} → v ≈ w → v ∈ xs ++ [ w ] ++ ys
167
189
∈-insert xs = Any.++-insert xs
168
190
0 commit comments