Adventure in Oxford
我懶得寫了耶,反正看到很多東西,Oxford 的環境很不錯 XD。scm 老師的朋友寫了一張參觀路線給我,還借我他的職員證,所以我可以憑證進入各個學院(不然要繳錢或根本進不去)。中間 scm 老師的學妹帶我進她的學院吃中餐(就是 Harry Potter 電影裡的餐廳!)以及參觀。總之看了幾個學院、參觀兩個博物館、和 Oxford 一些其他的地標。Postcards 我剛剛弄好了,明天丟進郵筒裡。
回來突然想到 Jeremy 昨天講的話,試著改用 universal property(的一個方向)證明 fold fusion,果然一句話就解決了,因為 induction 現在藏在 universal property 的證明裡面。
foldr-univr : {A B : Set} -> (h : [ A ] -> B) -> forall f e -> (h [] ≡ e) -> (forall x xs -> h (x ∷ xs) ≡ f x (h xs)) -> (forall x -> h x ≡ foldr f e x) foldr-univr h f e base-cond step-cond [] = base-cond foldr-univr h f e base-cond step-cond (x ∷ xs) = ≡-trans (step-cond x xs) (≡-cong (f x) (foldr-univr h f e base-cond step-cond xs)) foldr-fusion : {A B C : Set} -> (h : B -> C) -> {f : A -> B -> B} -> {g : A -> C -> C} -> {e : B} -> (forall x y -> h (f x y) ≡ g x (h y)) -> forall x -> (h ∘ foldr f e) x ≡ foldr g (h e) x foldr-fusion {_} {_} {_} h {f} {g} {e} fuse-cond = foldr-univr (h ∘ foldr f e) g (h e) ≡-refl (\x xs -> fuse-cond x (foldr f e xs))
--
快離開 Oxford 嘍。
喔喔喔,有明信片了~
<< 回到主頁