changeset 7:b82e226f56ff

Update slides to add-assoc + mult-sym
author Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
date Fri, 23 May 2014 16:42:38 +0900
parents 75610214a404
children f65aa05c8c52
files slide.md
diffstat 1 files changed, 5 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/slide.md	Fri May 23 14:13:40 2014 +0900
+++ b/slide.md	Fri May 23 16:42:38 2014 +0900
@@ -67,9 +67,9 @@
 
 # 自然数に対する演算の定義
 * x と y の加算 : x にかかっている S の分だけ S を b に適用する
-* x と y の加算 : x にかかっている S の分だけ y を 0 に加算する
+* x と y の乗算 : x にかかっている S の分だけ y を 0 に加算する
 
-* Agda tips : 不明な項を ? と書くこともできます
+* Agda tips : 不明な項を ? と書くこともできます。 goal と呼びます
 * その状態で C-c C-l するとその項の型が分かります
 
 
@@ -127,15 +127,12 @@
 * 加法の結合法則 : (x + y) + z = x + (y + z) <- 目標ライン
 
 * 乗法の交換法則 : (x * y) = (y * x)
-* 乗法の結合法則 : (x * y) * z = x * (y * z)
-
-* 分配法則       : x * (y + z) = (x * y) + (x * z)
 
 # '等しい' ということ
 * '等しい'という型 _ ≡ _ を定義する
   * refl  : x ≡ x
   * sym   : x ≡ y -> y ≡ x
-  * cong  : (f : A → B) -> x ≡ y → f x ≡ f y
+  * cong  : (f : A -> B) -> x ≡ y -> f x ≡ f y
   * trans : x ≡ y -> y ≡ z -> y ≡ z
 * defined : Relation.Binary.PropositionalEquality in Standard Library
 * Agda tips : 記号は \ の後に文字列を入れると出てきます。 '≡' は "\ =="
@@ -148,6 +145,7 @@
 * 関数なら normal form が同じなら同じ
   * lambda-term : (A : Set)  -> (\(x : A) -> x) ≡ (\(y : A) -> y)
   * lambda-term A = refl
+* 関数による変形は形が違う等しいものとして扱います
 
 
 # 交換法則を型として定義する
@@ -239,6 +237,7 @@
 ```
 
 * Agda tips : goal の上で C-c C-c で引数のパターン分け
+  * 例えば y にのみ適用してみる
 * Agda tips : goal の上で C-c C-a で証明を探してくれる
 
 
@@ -310,12 +309,4 @@
 が必要になる
 
 
-# 乗法の結合法則 : (a * b) * c = a * (b * c)
-TODO: まだ。書いとく(うしろで良いかな)
-
-
-# 分配法則  : x * (y + z) = (x * y) + (x * z)
-TODO: まだ。書いとく(うしろで良いかな)
-
-
 <!-- vim: set filetype=markdown.slide: -->