|
6 | 6 |
|
7 | 7 | module Data.List.Relation.Suffix.Heterogeneous.Properties where
|
8 | 8 |
|
9 |
| -open import Function using (flip) |
| 9 | +open import Function using (_$_; flip) |
10 | 10 | open import Relation.Nullary using (Dec; yes; no)
|
11 | 11 | import Relation.Nullary.Decidable as Dec
|
12 | 12 | open import Relation.Unary as U using (Pred)
|
@@ -39,29 +39,23 @@ module _ {a b r} {A : Set a} {B : Set b} {R : REL A B r} where
|
39 | 39 |
|
40 | 40 | fromPrefix⁺ : ∀ {as bs} → Prefix R as bs → Suffix R (reverse as) (reverse bs)
|
41 | 41 | fromPrefix⁺ {as} {bs} p with Prefix.toView p
|
42 |
| - ... | Prefix._++_ {cs} rs ds = |
43 |
| - subst (Suffix R (reverse as)) |
44 |
| - (sym (Listₚ.reverse-++-commute cs ds)) |
45 |
| - (Suffix.fromView (reverse ds Suffix.++ pw-reverse rs)) |
| 42 | + ... | Prefix._++_ {cs} rs ds = subst (Suffix R (reverse as)) |
| 43 | + (sym (Listₚ.reverse-++-commute cs ds)) |
| 44 | + $ Suffix.fromView (reverse ds Suffix.++ pw-reverse rs) |
46 | 45 |
|
47 | 46 | fromPrefix⁻ : ∀ {as bs} → Prefix R (reverse as) (reverse bs) → Suffix R as bs
|
48 |
| - fromPrefix⁻ pre = P.subst₂ (Suffix R) |
49 |
| - (Listₚ.reverse-involutive _) |
50 |
| - (Listₚ.reverse-involutive _) |
51 |
| - (fromPrefix⁺ pre) |
| 47 | + fromPrefix⁻ pre = P.subst₂ (Suffix R) (Listₚ.reverse-involutive _) (Listₚ.reverse-involutive _) |
| 48 | + $ fromPrefix⁺ pre |
52 | 49 |
|
53 | 50 | toPrefix⁺ : ∀ {as bs} → Suffix R as bs → Prefix R (reverse as) (reverse bs)
|
54 | 51 | toPrefix⁺ {as} {bs} s with Suffix.toView s
|
55 |
| - ... | Suffix._++_ cs {ds} rs = |
56 |
| - subst (Prefix R (reverse as)) |
57 |
| - (sym (Listₚ.reverse-++-commute cs ds)) |
58 |
| - (Prefix.fromView (pw-reverse rs Prefix.++ reverse cs)) |
| 52 | + ... | Suffix._++_ cs {ds} rs = subst (Prefix R (reverse as)) |
| 53 | + (sym (Listₚ.reverse-++-commute cs ds)) |
| 54 | + $ Prefix.fromView (pw-reverse rs Prefix.++ reverse cs) |
59 | 55 |
|
60 | 56 | toPrefix⁻ : ∀ {as bs} → Suffix R (reverse as) (reverse bs) → Prefix R as bs
|
61 |
| - toPrefix⁻ suf = P.subst₂ (Prefix R) |
62 |
| - (Listₚ.reverse-involutive _) |
63 |
| - (Listₚ.reverse-involutive _) |
64 |
| - (toPrefix⁺ suf) |
| 57 | + toPrefix⁻ suf = P.subst₂ (Prefix R) (Listₚ.reverse-involutive _) (Listₚ.reverse-involutive _) |
| 58 | + $ toPrefix⁺ suf |
65 | 59 |
|
66 | 60 | ------------------------------------------------------------------------
|
67 | 61 | -- length
|
@@ -130,8 +124,8 @@ module _ {a b r} {A : Set a} {B : Set b} {R : REL A B r} where
|
130 | 124 | open ℕₚ.≤-Reasoning
|
131 | 125 | ds<cs : length ds < length cs
|
132 | 126 | ds<cs = begin suc (length ds) ≤⟨ N.s≤s (ℕₚ.n≤m+n (length bs) (length ds)) ⟩
|
133 |
| - suc (length bs + length ds) ≡⟨ sym (Listₚ.length-++ (b ∷ bs)) ⟩ |
134 |
| - length (b ∷ bs ++ ds) ≡⟨ sym (Pointwise-length rs) ⟩ |
| 127 | + suc (length bs + length ds) ≡⟨ sym $ Listₚ.length-++ (b ∷ bs) ⟩ |
| 128 | + length (b ∷ bs ++ ds) ≡⟨ sym $ Pointwise-length rs ⟩ |
135 | 129 | length cs ∎
|
136 | 130 |
|
137 | 131 | ------------------------------------------------------------------------
|
@@ -224,16 +218,16 @@ module _ {a b r} {A : Set a} {B : Set b} {R : REL A B r} where
|
224 | 218 | P.cong₂ _∷_ (R-irr r r₁) (pw-irrelevant R-irr rs rs₁)
|
225 | 219 |
|
226 | 220 | irrelevant : Irrelevant R → Irrelevant (Suffix R)
|
227 |
| - irrelevant R-irr (here rs) (here rs₁) = P.cong here (pw-irrelevant R-irr rs rs₁) |
| 221 | + irrelevant R-irr (here rs) (here rs₁) = P.cong here $ pw-irrelevant R-irr rs rs₁ |
228 | 222 | irrelevant R-irr (here rs) (there rsuf) = contradiction (length-mono-Suffix-≤ rsuf)
|
229 | 223 | (ℕₚ.<⇒≱ (ℕₚ.≤-reflexive (sym (Pointwise-length rs))))
|
230 | 224 | irrelevant R-irr (there rsuf) (here rs) = contradiction (length-mono-Suffix-≤ rsuf)
|
231 | 225 | (ℕₚ.<⇒≱ (ℕₚ.≤-reflexive (sym (Pointwise-length rs))))
|
232 |
| - irrelevant R-irr (there rsuf) (there rsuf₁) = P.cong there (irrelevant R-irr rsuf rsuf₁) |
| 226 | + irrelevant R-irr (there rsuf) (there rsuf₁) = P.cong there $ irrelevant R-irr rsuf rsuf₁ |
233 | 227 |
|
234 | 228 | ------------------------------------------------------------------------
|
235 | 229 | -- Decidability
|
236 | 230 |
|
237 | 231 | suffix? : B.Decidable R → B.Decidable (Suffix R)
|
238 | 232 | suffix? R? as bs = Dec.map′ fromPrefix⁻ toPrefix⁺
|
239 |
| - (Prefixₚ.prefix? R? (reverse as) (reverse bs)) |
| 233 | + $ Prefixₚ.prefix? R? (reverse as) (reverse bs) |
0 commit comments