TeXで複数言語のプログラミングコードを不具合なく記述する
はじめに TeXで複数のプログラミング言語のコードを記述するとき、そのまま記述するとLstlistingやLstinlineの各言語の書式設定が混ざってしまう不具合があります。 そこでどのように...
36 search resultsShowing 1~20 results
You need to log-in
はじめに TeXで複数のプログラミング言語のコードを記述するとき、そのまま記述するとLstlistingやLstinlineの各言語の書式設定が混ざってしまう不具合があります。 そこでどのように...
はじめに Coq/SSReflectで再帰関数を定義する際には停止性の証明が必要です。本記事では、リストを引数にとる再帰関数で、長さが引数より1短い任意の部分列に対して再帰呼び出しを行う関数を定...
はじめに 選択公理は数学における命題の1つで、特にZFC公理系の公理の1つです。 特に、他の公理から示せない独立な命題になっていますが、その直感的で感覚的に分かる説明をしているサイトや教科書があ...
はじめに Inductive型における帰納原理とは何か? その公理的な意味について、自然数の公理であるペアノの公理を例に見ながら解説していきます。 ペアノの公理 以下の公理を満たす集合$N$を自...
はじめに ペアノの公理は自然数の定義する公理ですが、自然数上の多くの関数は再帰関数または漸化式を用いて定義されていたりします。 そこで本記事ではペアノの公理から再帰呼び出し関数、特に多くの関数型...
はじめに 2024年TPPmarkの問題の問1,2におけるCoq/SSReflectによる解答の解説をします。 問題は以下の通りです。 今年のTPPmarkは互換による整列をテーマにしています....
はじめに 本記事はTPP2024で発表した内容になります。 Coq/SSReflectでコンストラクタ数や構成が引数に依存して変化するようなInductiveな型を定義します。 動機としては「I...
はじめに 本記事はTPP2024で発表した内容になります。 リストlistの型は通常nilとconsの2つのコンストラクタから定義されますが、 型変数Aに対し、cons A型をA -> l...
はじめに Coq/SSReflectのライブラリであるmathcomp内にはfinset.vに有限集合の分割に関するものがありますが、リストに関するものはありません。 そこでリストのある種の分割...
はじめに 数学の博士号所持者の私が学生時代から使っているTeXでよく使う関数定義があるマクロファイルを公開、解説していきます。 コンセプトとしては、手書きでノートを書くようにTeXが書けるような...
はじめに 証明支援系CoqでFunctorやMonad、Traverseなどの型クラスを作っていきます。 Coqでは各種演算はもちろん、Monad則等のそれらが満たす性質も記述できるので、公理を...
はじめに 日本のプロ野球において、2022年の今年から「現役ドラフト」と呼ばれる選手トレードが行われます。 しかしながら、このトレードで用いられるアルゴリズムにはいくつか問題があり、現役ドラフト...
はじめに 前回、Coq/SSReflectでperm_eqが不変条件となるような命題を証明するための帰納原理を掲載しましたが、perm_eq以外の仮定がある状態で帰納法を適用したいとき、この帰納...
はじめに CoqのSSReflectライブラリseq.vにおいて、リストの重複要素を削除するundup関数が定義されています。 しかしながら、一般にリストから重複要素を削除するアルゴリズムは複数...
はじめに Coq/SSReflectにおいて、perm_eqの2つ引数、すなわち置換の関係にある2つの列に対し、ある二項関係が成り立つような命題を帰納法で示したいときの証明方法を説明します。 p...
はじめに この記事の方法はあまり良くないとの指摘があったので、最新版の記事をご覧ください。 Coqにおける拡張ライブラリSSRelfectを導入した状態で完全帰納法を使いたいとき、完全帰納法自体...
はじめに 本記事では、Coq/SSReflectで型クラスに相当するレコードを定義する方法を紹介します。 また、型クラスの継承や合流するときの書き方についても記述していきます。 ソースコードはこ...
はじめに 証券システムにおける株式の売買成立を決定するアルゴリズムの1つに「板寄せアルゴリズム」があります。 本記事ではこのアルゴリズムが正しい仕様を満たしているかどうかを形式検証ツールの1つで...
はじめに ある証券会社のサイトの証券用語「板寄せ」の解説にあったアルゴリズムに対して、実装バグ、すなわち「仕様を満たさない入力」が存在しないことを数学的に検証する形式検証を行ないました。 すると...
はじめに ある婚活パーティでは、参加者はそれぞれカップルになりたい人の候補者の名前を書き、お互いに名前を書いた者同士の中からカップルが成立するという方式をとっています。 そこで本記事では、この婚...
36 search resultsShowing 1~20 results
Qiita is a knowledge sharing service for engineers.