@@ -685,18 +685,14 @@ concat-[-] (x ∷ xs) = cong (x ∷_) (concat-[-] xs)
685
685
-- concatMap
686
686
687
687
concatMap-cong : ∀ {f g : A → List B} → f ≗ g → concatMap f ≗ concatMap g
688
- concatMap-cong eq xs = cong concat ( map-cong eq xs)
688
+ concatMap-cong eq = cong concat ∘ map-cong eq
689
689
690
690
concatMap-pure : concatMap {A = A} [_] ≗ id
691
691
concatMap-pure = concat-[-]
692
692
693
- concatMap-map : (g : B → List C) → (f : A → B) → (xs : List A) →
694
- concatMap g (map f xs) ≡ concatMap (g ∘′ f) xs
695
- concatMap-map g f xs
696
- = cong concat
697
- {x = map g (map f xs)}
698
- {y = map (g ∘′ f) xs}
699
- (sym $ map-∘ xs)
693
+ concatMap-map : (g : B → List C) → (f : A → B) →
694
+ concatMap g ∘′ (map f) ≗ concatMap (g ∘′ f)
695
+ concatMap-map g f = cong concat ∘ sym ∘ map-∘
700
696
701
697
map-concatMap : (f : B → C) (g : A → List B) →
702
698
map f ∘′ concatMap g ≗ concatMap (map f ∘′ g)
@@ -706,10 +702,7 @@ map-concatMap f g xs = begin
706
702
map f (concat (map g xs))
707
703
≡⟨ concat-map (map g xs) ⟨
708
704
concat (map (map f) (map g xs))
709
- ≡⟨ cong concat
710
- {x = map (map f) (map g xs)}
711
- {y = map (map f ∘′ g) xs}
712
- (sym $ map-∘ xs) ⟩
705
+ ≡⟨ concatMap-map (map f) g xs ⟩
713
706
concat (map (map f ∘′ g) xs)
714
707
≡⟨⟩
715
708
concatMap (map f ∘′ g) xs
@@ -720,7 +713,7 @@ concatMap-++ : ∀ (f : A → List B) xs ys →
720
713
concatMap-++ f xs ys = begin
721
714
concatMap f (xs ++ ys) ≡⟨⟩
722
715
concat (map f (xs ++ ys)) ≡⟨ cong concat $ map-++ f xs ys ⟩
723
- concat (map f xs ++ map f ys) ≡˘ ⟨ concat-++ (map f xs) (map f ys) ⟩
716
+ concat (map f xs ++ map f ys) ≡⟨ concat-++ (map f xs) (map f ys) ⟨
724
717
concatMap f xs ++ concatMap f ys ∎ where open ≡-Reasoning
725
718
726
719
------------------------------------------------------------------------
0 commit comments