@@ -842,6 +842,10 @@ applyUpTo-∷ʳ : ∀ (f : ℕ → A) n → applyUpTo f n ∷ʳ f n ≡ applyUpT
842
842
applyUpTo-∷ʳ f zero = refl
843
843
applyUpTo-∷ʳ f (suc n) = cong (f 0 ∷_) (applyUpTo-∷ʳ (f ∘ suc) n)
844
844
845
+ map-applyUpTo : ∀ (f : ℕ → A) (g : A → B) n → map g (applyUpTo f n) ≡ applyUpTo (g ∘ f) n
846
+ map-applyUpTo f g zero = refl
847
+ map-applyUpTo f g (suc n) = cong (g (f 0 ) ∷_) (map-applyUpTo (f ∘ suc) g n)
848
+
845
849
------------------------------------------------------------------------
846
850
-- applyDownFrom
847
851
@@ -859,6 +863,10 @@ module _ (f : ℕ → A) where
859
863
applyDownFrom-∷ʳ zero = refl
860
864
applyDownFrom-∷ʳ (suc n) = cong (f (suc n) ∷_) (applyDownFrom-∷ʳ n)
861
865
866
+ map-applyDownFrom : ∀ (g : A → B) n → map g (applyDownFrom f n) ≡ applyDownFrom (g ∘ f) n
867
+ map-applyDownFrom g zero = refl
868
+ map-applyDownFrom g (suc n) = cong (g (f n) ∷_) (map-applyDownFrom g n)
869
+
862
870
------------------------------------------------------------------------
863
871
-- upTo
864
872
@@ -871,6 +879,9 @@ lookup-upTo = lookup-applyUpTo id
871
879
upTo-∷ʳ : ∀ n → upTo n ∷ʳ n ≡ upTo (suc n)
872
880
upTo-∷ʳ = applyUpTo-∷ʳ id
873
881
882
+ map-upTo : ∀ (f : ℕ → A) n → map f (upTo n) ≡ applyUpTo f n
883
+ map-upTo = map-applyUpTo id
884
+
874
885
------------------------------------------------------------------------
875
886
-- downFrom
876
887
@@ -883,6 +894,9 @@ lookup-downFrom = lookup-applyDownFrom id
883
894
downFrom-∷ʳ : ∀ n → applyDownFrom suc n ∷ʳ 0 ≡ downFrom (suc n)
884
895
downFrom-∷ʳ = applyDownFrom-∷ʳ id
885
896
897
+ map-downFrom : ∀ (f : ℕ → A) n → map f (downFrom n) ≡ applyDownFrom f n
898
+ map-downFrom = map-applyDownFrom id
899
+
886
900
------------------------------------------------------------------------
887
901
-- tabulate
888
902
0 commit comments