Skip to content

Commit b7b0033

Browse files
committed
HasMembership: fix dec instances
1 parent 489aeb8 commit b7b0033

File tree

2 files changed

+22
-35
lines changed

2 files changed

+22
-35
lines changed

Class/HasMembership/Instances.agda

Lines changed: 3 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -4,49 +4,18 @@ module Class.HasMembership.Instances where
44
open import Class.Prelude
55
open import Class.HasMembership.Core
66

7-
open import Class.DecEq.Core
8-
9-
open import Class.Decidable.Core
10-
-- open import Class.Decidable.Instances
11-
127
instance
13-
148
M-List : HasMembership {ℓ} List
159
M-List = record {LMem}
1610
where import Data.List.Membership.Propositional as LMem
1711

18-
Dec∈-List : ⦃ _ : DecEq A ⦄ _∈_ {F = List}{A} ⁇²
19-
Dec∈-List = ⁇² DL._∈?_
20-
where import Data.List.Membership.DecPropositional _≟_ as DL
12+
M-List⁺ : HasMembership {ℓ} List⁺
13+
M-List⁺ ._∈_ x xs = x ∈ L⁺.toList xs
2114

2215
M-Vec : HasMembership {ℓ} (flip Vec n)
2316
M-Vec ._∈_ = λ x VMem._∈_ x
2417
where import Data.Vec.Membership.Propositional as VMem
2518

26-
Dec∈-Vec : ⦃ _ : DecEq A ⦄ _∈_ {F = flip Vec n}{A} ⁇²
27-
Dec∈-Vec = ⁇² λ x DV._∈?_ x
28-
where import Data.Vec.Membership.DecPropositional _≟_ as DV
29-
30-
M-List⁺ : HasMembership {ℓ} List⁺
31-
M-List⁺ ._∈_ x xs = x ∈ L⁺.toList xs
32-
33-
Dec∈-List⁺ : ⦃ _ : DecEq A ⦄ _∈_ {F = List⁺}{A} ⁇²
34-
Dec∈-List⁺ .dec = _ ∈? L⁺.toList _
35-
36-
import Data.Maybe.Relation.Unary.Any as Mb
37-
3819
M-Maybe : HasMembership {ℓ} Maybe
3920
M-Maybe ._∈_ x mx = Mb.Any (_≡ x) mx
40-
41-
Dec∈-Maybe : ⦃ _ : DecEq A ⦄ _∈_ {F = Maybe}{A} ⁇²
42-
Dec∈-Maybe .dec = Mb.dec (_≟ _) _
43-
44-
module _ {A B : Type} (f : A B) where
45-
46-
import Data.List.Membership.Propositional.Properties as LMem
47-
48-
∈⁺-map⁺ : {x xs} x ∈ xs f x ∈ L⁺.map f xs
49-
∈⁺-map⁺ = LMem.∈-map⁺ f
50-
51-
∈⁺-map⁻ : {y xs} y ∈ L⁺.map f xs λ x x ∈ xs × y ≡ f x
52-
∈⁺-map⁻ = LMem.∈-map⁻ f
21+
where import Data.Maybe.Relation.Unary.Any as Mb

Test/HasMembership.agda

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{-# OPTIONS --cubical-compatible #-}
1+
{-# OPTIONS --without-K #-}
22
module Test.HasMembership where
33

44
open import Class.Prelude
@@ -8,6 +8,24 @@ open import Class.ToN
88
_ = mapWith∈ (List ℕ ∋ 102030 ∷ []) toℕ
99
≡ (012 ∷ [])
1010
∋ refl
11+
_ = mapWith∈ (List⁺ ℕ ∋ 102030 ∷ []) toℕ
12+
≡ (012 ∷ [])
13+
∋ refl
1114
_ = mapWith∈ (Vec ℕ 3102030 ∷ []) toℕ
1215
≡ (012 ∷ [])
1316
∋ refl
17+
_ = mapWith∈ (Maybe ℕ ∋ just 10) (const 1)
18+
≡ just 1
19+
∋ refl
20+
21+
open import Class.DecEq
22+
open import Class.Decidable
23+
24+
_ = 20 ∈ (List ℕ ∋ 102030 ∷ [])
25+
∋ auto
26+
_ = 20 ∈ (List⁺ ℕ ∋ 102030 ∷ [])
27+
∋ auto
28+
_ = 20 ∈ (Vec ℕ 3102030 ∷ [])
29+
∋ auto
30+
_ = 10 ∈ just 10
31+
∋ auto

0 commit comments

Comments
 (0)