2015-02-01ãã1ã¶æéã®è¨äºä¸è¦§
åä»ãã©ã ãè¨ç®ã®ã¢ãã«ããã«ã«ãéåã§ä½ããã®ã ãã©ãã¡ãã£ã¨ãã注æã¨å·¥å¤«ãå¿ è¦ã§ããCããã«ã«ãéåã ã¨ãã¦ãã©ã ãé Mã«å¯¾ãã¦ãMã®è¡¨ç¤ºï¼denotationï¼ãCå ã«ç´æ¥ä½ãããã ã¨æã£ã¦ãã人ãããããç¥ãã¾ããããããã¯ããã¾ãã¦ãããªãâ¦
åã®ãªãã§ææ°ï¼exponential, exponentiationï¼æ¼ç®ãç»å ´ãããã¨ãããã¾ããä¾ãã°ãCããã«ã«ãéå*1ã ã¨ãã¦ãã«ãªã¼åï¼åã«ãªã¼åã«ããååã¯æ¬¡ã®ããã«æ¸ãã¾ãã C(AÃB, C) C(A, CB) ããã§åºã¦ããCBãææ°ã§ããCãéååã®ã¨ãã¯ãCBã¯é¢æ°éâ¦
åãè±é¥åã®è©±ãããã¨ããå®ç¾©ãæå¾ã¾ã§æ¸ãåããªãã§ãä»ã«ããã¤ãã®æ³åãæºããå¿ è¦ãããã¾ããã¿ãããªè¨ãæ¹ã§ãè¶ãæ¿ãã¦ãã¾ãããã®çç±ã¯ãå®ç¾©ãæ¸ãã ãã§ãã¨ã¦ãããã©ãããããã§ããã¡ããã¨ï¼è¥å¹²ã®çç¥ãããã¾ããã©ãï¼è¨è¿°ãã¦â¦
ãã¼ãã話ã¯ãããªã«åç´ãããªãã¿ããããCoqå°ãã¿ï¼é¢æ°ã®å¤å»¶ççå¤æ§ã¨ããã«ããã¦ãf, g:AâB ã«å¯¾ãã¦ãf â¡ g â âx.(f(x) = g(x)) ã¨ãã¦ãé¢æ°ã®å¤å»¶ççå¤æ§ãâ¡ããå®ç¾©ããã®ã§ãããããã§ã¯ããã«ãããåºã¾ãããf â¡ g ãå®ç¾©ããããã« f(x)â¦
A, Bãéåã§ãf, g:AâB ã®ã¨ããCoqã®çµã¿è¾¼ã¿ã®ã¤ã³ã¼ã«ã«ãã f = g ã¯ããã¾ãå ·åããããªãããã§ããæ®éãé¢æ°ãçãããã¨ã¯ããAã®ãã¹ã¦ã®ç¹ã«ããã¦é¢æ°å¤ãçããããã¨ã§ããCoqã®ã¤ã³ã¼ã«ã¯ãããªã£ã¦ãªãã®ã§ããããã§ãã¦ã¼ã¶ã¼å®ç¾©ã®ã¤ã³â¦
Coqã¨ä¸ç·ã«OCamlããã£ãã»ããããã®ããªãã¨ãã¤ã³ã¹ãã¼ã«ããã ãã§çµãããããããªããã©ã http://protz.github.io/ocaml-installer/ ãã ocaml-4.01.0-i686-mingw64-installer3.exe ããã¦ã³ãã¼ããããã¯æ®éã®ã¤ã³ã¹ãã¼ã©ã¼ã§ãã ããã©ã«ãâ¦
Coqãããã£ã¦ããã¨ãã«ãªã¼ï¼ãã¯ã¼ã対å¿ã®å¨åãå®æãã¾ããä¸æ¹ã§ã証æã¨ããã©ãæè©®ã¯è¨ç®ãªãã ãªãã¨ãæãã¾ããä¸å¦æ ¡ãããã§ããä»£å ¥è¨ç®ã®ç´æ¥çãªå»¶é·ç·ä¸ã«è¨¼æã®åææä½ããããã§ããããä¸å¦ã¬ãã«ã®è¨ç®ã¨å½¢å¼ç証æã§ã¯ãç¨èªãè¨å·â¦