<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://w.atwiki.jp/elmofprog/">
    <title>プログラミング原論／Elements of Programming Wiki</title>
    <link>http://w.atwiki.jp/elmofprog/</link>
    <atom:link href="https://w.atwiki.jp/elmofprog/rss10.xml" rel="self" type="application/rss+xml" />
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com" />
    <description>プログラミング原論／Elements of Programming Wiki</description>

    <dc:language>ja</dc:language>
    <dc:date>2013-08-11T22:55:10+09:00</dc:date>
    <utime>1376229310</utime>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://w.atwiki.jp/elmofprog/pages/19.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/elmofprog/pages/18.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/elmofprog/pages/17.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/elmofprog/pages/16.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/elmofprog/pages/15.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/elmofprog/pages/14.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/elmofprog/pages/13.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/elmofprog/pages/12.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/elmofprog/pages/11.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/elmofprog/pages/10.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="https://w.atwiki.jp/elmofprog/pages/19.html">
    <title>第７章　座標構造</title>
    <link>https://w.atwiki.jp/elmofprog/pages/19.html</link>
    <description>
      ** 概要

   　前章は、一連のイテレータコンセプトを紹介しました。
   この章では、さらに複雑な形状を持つ座標構造を扱います。
   分岐座標を紹介し、木走査に繰り返しを扱うマシンを用い、二分木に対するアルゴリズムを実装します。
   最後に、同型、同値性、順序に対するアルゴリズムで締めくくります。
   
*** 7.1 分岐座標

    　前章では、iteratorを使用して全ての位置で1つだけのsuccessorをもつ線形構造の走査を行いました
    本章では、全ての位置で左右の2つのsuccessorをもつ重要なデータ構造を学習します。

    　述語emptyが真の場合、たの述語未定義です。
    無閉路有向グラフ(DAG)の中でも、xの子孫の全てのy,z二体してzがyから左到達可能でも右到達可能でもない、木(tree)を形成します。
    

*** 7.2 双方向分岐座標

    　再帰走査は木の高さに比例したスタックを必要とし、高さは最悪の場合、重さと同じになります。

    　木に、ある座標とその前の座標のスタックを組み合わせることで、
    プレディセサー(predecessor)を得るための追加の変換操作をもつ新たな座標型を得ることができます。

        x0       #=&gt; (x0, $$\empty$$ )
       /  \
      y1   y2    #=&gt; (y2, (x0, $$\empty$$ ) )
     /  \    \
    z3   z4   z5 #=&gt; (z5, (y2, (x0, $$\empty$$ ) ) )

    
*** 7.3 座標構造

    　個別のコンセプトを定義して、各コンセプトは手続きの集まりとそれらの意味論である。
    コンセプトの集まりに共通な特性を記述する方法であるコンセプトスキーマを定義することも有用である。

    　線形走査を記述している、イテレータコンセプトと
    二分木の走査を記述している、分岐座標コンセプトを定義しました。
    これら任意のデータ構造内での走査を可能とするために、座標構造コンセプトスキーマを導入します。
    
    </description>
    <dc:date>2013-08-11T22:55:10+09:00</dc:date>
    <utime>1376229310</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/elmofprog/pages/18.html">
    <title>第６章　イテレータ</title>
    <link>https://w.atwiki.jp/elmofprog/pages/18.html</link>
    <description>
      **概要
イテレータのコンセプトを紹介しています。
走査の種類としてシングルパス単一方向、マルチパス単一方向、双方向、ランダムアクセスを扱っています。
イテレータのコンセプトとして、有界区間と算入区間の2つの面から逐次アルゴリズムに対する
インターフェイスを柔軟に定義しています。


**各節概要
6-1 読み込み可能性
　ポインタはオブジェクトにアクセスするときの重要な概念だが、これを抽象化してコンセプトとしたものが
読み込み可能性です。読み込み可能型でデータにアクセスするための関数sourceはポインタにおける
間接参照演算子「*」に当たります。


6-2 イテレータ
　DistanceTypeと擬似変換$$\rm successor$$から最も弱いイテレータを定義しています。


6-3 区間
　イテレータの集合となる区間を定義しています。また、$$\rm successor$$の機能的定義から
イテレータと整数間の足し算、イテレータ間の引き算が定義されます。

半開算入区間 $$[[f, n|) \equiv {\rm counted}$$-$${\rm range}(f, n) \wedge ([[f, n|) = \{{\rm successor}^k(f) \mid 0 \leq k &lt; n\})$$

6-4 読み込み可能区間
　イテレータからなる区間について、区間のすべてのイテレータが読み込み可能ならば
区間は読み込み可能と呼びます。
読み込み可能区間に対して、述語を条件とする検索や、部分結合的演算に対する簡約アルゴリズム、
区間の比較などについて考察しています。

6-5 増加区間
　順序が与えられた時に増加していく区間に関するアルゴリズムについて記述しています。

6-6 順方向イテレータ
　successorに正則性を仮定することで、一つの区間に２つ以上のイテレータを保持することができます。
このイテレータを順方向イテレータと呼びます。successorの正則性により、２分探索が有効に働きます。

6-7 インデックス付きイテレータ
　イテレータへの整数の加算、およびイテレータ～イテレータの減算が高速なイテレータです。

6-8 双方向イテレータ
　逆方向に進    </description>
    <dc:date>2013-07-18T22:13:42+09:00</dc:date>
    <utime>1374153222</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/elmofprog/pages/17.html">
    <title>第２章　変換と軌道</title>
    <link>https://w.atwiki.jp/elmofprog/pages/17.html</link>
    <description>
      **概要
ある型から同じ型への単項正則関数を変換を呼びます。
初期値を与えて帰納的に変換を適用することで軌道が決定されます。
この章では変換の正則性と軌道の有限性から機動構造を決定するアルゴリズムを実装します。

**各節概要
2-1 変換
　    </description>
    <dc:date>2013-03-23T22:55:57+09:00</dc:date>
    <utime>1364046957</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/elmofprog/pages/16.html">
    <title>第１章　基礎</title>
    <link>https://w.atwiki.jp/elmofprog/pages/16.html</link>
    <description>
      **概要
コンピュータ上の様々な概念（値，オブジェクト，型，手続き，コンセプト）を説明しています。
この章だけで何か理解できるわけではないので用語だけ拾ってさっさと先に進みましょう。
後で出てきたとき戻って来れれば十分です。

**各節概要
1-1 分類学の概念：実体，種，属
　プログラミングにおける概念を分類するため，生物学の分類学の考え方を
導入しています。2章以降で目にすることはほとんどありません。

1-2 値
　値型とは種とdatum（０と１の有限数列）間の対応のことです。値型に関して
表現，等価性を導入して，正則関数を定義しています。

1-3　オブジェクト
　オブジェクト型を定義しています。オブジェクトはメモリに値をもち，シリアライズして
通信で送ることも可能です。

1-4　手続き
　手続きは，何らかのオブジェクトの状態を修正する一連の命令の並びです。
オブジェクトを構築，または破壊することもあります。
　計算基底とはその型に対する任意の手続きを構築できる手続きの有限集合です。

1-5　正則型
　型が正則であるとは，型の計算基底が下記の手続きを含んでいる場合をいいます。
-等価性
-代入
-デストラクタ
-デフォルトコンストラクタ
-コピーコンストラクタ
-全順序
-実際の型

1-6　正則手続き
　手続きが正則であるとは，手続きの入力を等しいオブジェクトに置き換えても
出力オブジェクトが等しい場合をいいます。
　非正則な手続きの例としては，オブジェクトのアドレスを返す手続きや
擬似乱数生成器などがあります。
　関数的手続きとは，正則型に対して定義された正則手続きで，かつ1つ以上の入力と
1つ以上の出力を返すものをいいます。2章以降，「関数」と呼んでいます。
　関数の入力の型を定義域，出力の型を余定義域といいます。

1-7　コンセプト
　手続きやデータ構造が有効となるたに必要な特性の集まりをコンセプトと呼びます。
コンセプトを記述するための関数として下記のものがあります。
-Arity(F)        ・・・ 関数型手続きで引数の数を返します。
-Codomain(F)     ・・・ 関数型手続きで結果の型を返します。
-InputType(F,     </description>
    <dc:date>2013-03-25T02:11:03+09:00</dc:date>
    <utime>1364145063</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/elmofprog/pages/15.html">
    <title>第５章　順序代数構造</title>
    <link>https://w.atwiki.jp/elmofprog/pages/15.html</link>
    <description>
      **概要
基本的な代数構造である群・環の構造を導入しました。最大公約数(G.C.D)を求めるアルゴリズム（ユークリッドの互除法）が有効となる
代数的性質をコンセプトとして記述しています。さらに、ユークリッド互除法より高速なSteinのGCDアルゴリズムを導入しています。
この章では、特定のアルゴリズムに対してそれを成立させるためにどのようなコンセプトが必要になるか、を考えるのに慣れることを
目標にしています。

**命題の証明の概要
補題5.1 単位元が$$e,e&#039;$$の２つあると仮定して$$e=e&#039;$$を示す。

補題5.2  任意の正整数は$$5k+l(l=0,1,2,3,4)$$とかけるので0,1,2,3,4で$$n^4 \equiv 1 \pmod 5$$を示す。（ref.[[フェルマーの小定理&gt;http://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A7%E3%83%AB%E3%83%9E%E3%83%BC%E3%81%AE%E5%B0%8F%E5%AE%9A%E7%90%86]]）

補題5.3  $$-0=-0+0=0$$

補題5.4  定理5.1と同様。

補題5.5  $$a&lt;b \Rightarrow a+c&lt;b+c$$ と $$c&lt;d \Rightarrow a+b&lt;d+b$$ と加算が可換であることより。

補題5.6  帰納法により。

補題5.7  両辺に$$(-a)+(-b)$$を加える。

補題5.8  補題5.7と同様。

補題5.15 $$\gcd(ca,cb)=c \gcd(a,b)$$ に $$c=\frac 1 {\gcd(a,b)}$$ を代入する。

補題5.16　対偶である「奇数の平方は奇数である。」ことを示す。

補題5.17 与えられたモノイドが整数環、または自然数（0を含む）に同型となることを示す。


**本文の修正
p.82 6行目以降、この章全体
定義域 → 整域

p.83 5行目
ユークリッド環ではquotientは半環の要素を返します。通分出来る分数に対し、ユークリッド互除法をオリジナルの枠組みで使用することはできません。例えば、gcd(1/2, 3/4) = 1/4などです。分数に対してgcdア    </description>
    <dc:date>2013-05-21T21:57:55+09:00</dc:date>
    <utime>1369141075</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/elmofprog/pages/14.html">
    <title>プラグイン/インスタグラム</title>
    <link>https://w.atwiki.jp/elmofprog/pages/14.html</link>
    <description>
      *インスタグラムプラグイン

人気の画像共有サービス、Instagram(インスタグラム）の画像をアットウィキに貼れるプラグインです。


 #ig_user(ユーザー名)
 と記載することで、特定ユーザーのInstagramのフィードを表示することができます。

例）@dogoftheday
#ig_user(dogoftheday)

----

 #ig_tags(タグ名)
 と記載することで、特定タグのInstagramのフィードを表示することができます。

#dogofthedayjp タグ
#ig_tag(dogofthedayjp)

----

 #ig_popular
 と記載することで、Instagramのpopularフィードを表示することができます。



詳しい使い方は以下のページを参考にしてください！
＝＞http://www1.atwiki.jp/guide/pages/935.html

--------    </description>
    <dc:date>2013-02-23T21:59:18+09:00</dc:date>
    <utime>1361624358</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/elmofprog/pages/13.html">
    <title>プラグイン/人気商品一覧</title>
    <link>https://w.atwiki.jp/elmofprog/pages/13.html</link>
    <description>
      * 人気商品一覧
@wikiのwikiモードでは
 #price_list(カテゴリ名)
と入力することで、あるカテゴリの売れ筋商品のリストを表示することができます。

カテゴリには以下のキーワードがご利用できます。
|キーワード|表示される内容|
|ps3|PlayStation3|
|ps2|PlayStation3|
|psp|PSP|
|wii|Wii|
|xbox|XBOX|
|nds|Nintendo DS|
|desctop-pc|デスクトップパソコン|
|note-pc|ノートパソコン|
|mp3player|デジタルオーディオプレイヤー|
|kaden|家電|
|aircon|エアコン|
|camera|カメラ|
|game-toy|ゲーム・おもちゃ全般|
|all|指定無し|

空白の場合はランダムな商品が表示されます。

※このプラグインは[[価格比較サイト@PRICE&gt;&gt;http://atprice.jp]]のデータを利用しています。

-----

たとえば、
 #price_list(game-toy)
と入力すると以下のように表示されます。

ゲーム・おもちゃ全般の売れ筋商品
#price_list(game-toy)

ノートパソコンの売れ筋商品
#price_list(game-toy)

人気商品リスト
#price_list()
    </description>
    <dc:date>2013-02-23T21:59:18+09:00</dc:date>
    <utime>1361624358</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/elmofprog/pages/12.html">
    <title>プラグイン/コメント</title>
    <link>https://w.atwiki.jp/elmofprog/pages/12.html</link>
    <description>
      * コメントプラグイン
@wikiのwikiモードでは
 #comment()
と入力することでコメントフォームを簡単に作成することができます。
詳しくはこちらをご覧ください。
＝＞http://atwiki.jp/guide/17_60_ja.html


-----
たとえば、#comment() と入力すると以下のように表示されます。

#comment    </description>
    <dc:date>2013-02-23T21:59:18+09:00</dc:date>
    <utime>1361624358</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/elmofprog/pages/11.html">
    <title>プラグイン/関連ブログ</title>
    <link>https://w.atwiki.jp/elmofprog/pages/11.html</link>
    <description>
      * 関連ブログ
@wikiのwikiモードでは
 #bf(興味のある単語)
と入力することで、あるキーワードに関連するブログ一覧を表示することができます

詳しくはこちらをご覧ください。
＝＞http://atwiki.jp/guide/17_161_ja.html

-----


たとえば、#bf(ゲーム)と入力すると以下のように表示されます。


#bf(ゲーム)
    </description>
    <dc:date>2013-02-23T21:59:18+09:00</dc:date>
    <utime>1361624358</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/elmofprog/pages/10.html">
    <title>プラグイン</title>
    <link>https://w.atwiki.jp/elmofprog/pages/10.html</link>
    <description>
      @wikiにはいくつかの便利なプラグインがあります。

-----


#ls

-----

これ以外のプラグインについては@wikiガイドをご覧ください
=&gt;http://atwiki.jp/guide/
    </description>
    <dc:date>2013-02-23T21:59:18+09:00</dc:date>
    <utime>1361624358</utime>
  </item>
  </rdf:RDF>
