You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
Mathematicians have been trying to figure out how to get computers to write proofs for a long time. One of the earliest (dating back to the 1960s) attempts to do so was a logical rule called resolution. I created Vulcan, an NPM package that implements a resolution-based automated proof system. Below is a in-browser demo I created with AngularJS and Browserify. You can use symbols A-Z as variables
これまで思考や推論を伴う「認知能力」がないとされてきた魚類について、大阪市立大理学研究科の幸田正典教授らのグループが、熱帯魚の一種は論理的な思考力を持つことを実験で明らかにし、スイスの生物学専門誌のオンライン版に3日、論文を掲載した。 幸田教授らは、カワスズメ科の熱帯魚「ジュリドクロミス」を使い、「AがBより強く、BがCより強ければ、AはCより強い」という論理的思考ができるか調べた。 ジュリドクロミスは個体識別能力があり、弱い個体は強い個体に対して「逃げる」「体を傾けて震わせる」などの劣位行動を示し、力関係の順位付けをしていることが知られている。 実験では、体長が同程度のオス同士を戦わせ、勝った方をB、負けた方をCにグループ分け。次にBと戦ってAが勝つ様子をCグループの個体に見せた後、CとAをガラス越しに対面させたところ、Cの12匹のうち11匹が劣位行動を見せた。 幸田教授は「魚に
The Open Logic Project is a collection of teaching materials on mathematical logic aimed at a non-mathematical audience, intended for use in advanced logic courses as taught in many philosophy departments. It is open-source: you can download the LaTeX code. It is open: you’re free to change it whichever way you like, and share your changes. It is collaborative: a team of people is working on it, u
論理学の考え方で、 関数型プログラミング言語の定義&実装の仕方の例に触発されて、 深夜アニメを見ながら OCamlでつくられた、 脱関数型プログラミング言語 obake (おばけ)を紹介します。 関数型言語とかは前世紀に置いていって、21世紀は論理学を基にした新しいプログラミングパラダイムで脱関数型言語しましょう! break world 「Hello, world!」を書こうと思ったのですが、あまりに難しいので最初はすぐ停止するプログラムです。プログラムは「命令」からできていて、命令は2つの要素、「値」と「計算」の組み合わせです。 「命令」 = 「値」 + 「計算」 breakは組み込み「計算」になります。これだけでは「命令」にはならないので、プログラム起動時に自動的に「現実世界」という「値」が設定されて、「命令」が作られます。値を組み合わせることによって
あいさつ こんにちは. 皆さん如何お過ごしでしょうか. 本日の日付を確認致しましたらもう2014年も残り一月半と改めて認識させられ驚いています. こうも時間の流れが早いと死ぬのもすぐですね. 懸命に生きようと思います. さて今回はHilbertという論理型プログラミング言語を作りました. (カジュアルに作ってるように見えますが、割と本気です.) まだまだやるべき事は本当に多くて、飴ちゃんあげるのでコミッター大募集です. (今ならカントリーマームもつけるのでお願いします.) HP: http://hilbert-lang.org/ja/ Github: https://github.com/gogotanaka/Hilbert 前座 世界で一番ピュアで豊かなプログラミング言語 この言語で仮定されているのは恒真(トートロジー)のみです. (厳密に言うと自然演繹も仮定されていますが.) 当初、自
Twitter: @miniKanren Github: @miniKanren Google Group: miniKanren IRC: irc://irc.libera.chat/minikanren Follow @miniKanren Workshop | Book | Online Course | Implementations | Projects | Upcoming Talks | Talks | Interviews | Tutorials | Theses | Papers | Screencasts | Weekly Hangouts | Podcasts | Blogs | Contact What is miniKanren? miniKanren is a family of Domain Specific Languages for lo
Coq.Logic にはCoqの集合論モデルにおいて正しい公理や、それらの間の関係が記述されている。 ここではその一部を取り上げて、意味を説明する。 前提知識 公理を仮定しない状態では、 Coqの論理は直観主義論理である。 ある2つが「等しい」という命題が証明できる場合は限定される。 証明の文脈(Prop)における「AまたはB」と、値の文脈(Set/Type)における「AまたはB」は区別される。前者から情報を取り出すことはできないようになっている(マッチングの型検査で弾かれる。) 以下、公理の説明 古典論理 (classical logic) 場所: Coq.Logic.Classical 古典論理で証明できることは、例えば以下の内容がある。 排中律 ( P or not P ) 二重否定除去および背理法 ( if not not P, then P ) 決定性の値の取り出し (descr
文系の学問における、基本の基本の“モノの考え方”を教えてください。 自然科学だったら、仮説を立て、実験群と統制群に分けて実験することで、問題の所在を切り分けていったりできます。 その過程では、他の人が追試しても同じ結果が出ることが大事であったりしますよね? それはなんとなく理解できます! でも社会科学や人文科学だとどうでしょうか? 歴史的な事情は実験群と統制群に分けたりできませんし、追試もできません。歴史学の人は、そういう状況で、自分の学説にどうやって説得力を持たせているのですか? あるいは、ただの童話に見えて実は当時の政府を批判している文学作品があったとします。それが政府批判であるという読みが思い込みでないことを、どうやって他人に説明したらいいのでしょうか? 関連する本とかあったら教えてください。 高校生か学部生向けぐらいの本ならがんばって読めます!
Functional programming provides a fundamental basis for reasoning about our programs and building out principled abstractions. However, it is not enough on its own and we also rely on other programming tools to aid in constructing programs correctly and efficiently. An advanced example of such a tool is dependent types; that is, types that depend on values. Dependent types can be used to provide s
思考法-演繹法と帰納法 序 数千年以上前から、私たち人間は「より正しい答え」を導くために「より正しい考え方」を模索してきました。 そして、哲学者、科学者、技術者といった多くの人に培われた思考法は身の回りの出来事を論理的に解明することを可能とし、現代文明の礎となっています。 ここでは数多の先人が考え、発展させてきた思考法を、その欠点を含めて稚拙ながら私なりに整理して紹介します。 欠点を紹介するのは、それを知ることにより間違った証明や詭弁を見抜くことができるようになるからです。 1.演繹法と帰納法 思考法の代表的な手法に演繹法と帰納法があります。 1.1.演繹法 演繹法は一般的原理から論理的推論により結論として個々の事象を導く方法です。 代表的な手法に、大前提・小前提・結論による三段論法があります。 (例) 大前提(一般的原理)「人間は死ぬ」 小前提(事実など)「Aは人間である」 結論(個々の
logict Provides support for logic-based evaluation. Logic-based programming uses a technique known as backtracking to consider alternative values as solutions to logic statements, and is exemplified by languages such as Prolog and Datalog. Logic-based programming replaces explicit iteration and sequencing code with implicit functionality that internally "iterates" (via backtracking) over a set of
For a number of years now, I’ve been a sporadic visitor to the very useful question-and-answer site, math.stackexchange.com — this is a student-orientated forum, not to be confused with the truly wonderful mathoverflow.net which is its research-level counterpart. OK, you can think of these visits as (hopefully) constructive procrastination on my part … Of course, many of the questions on the site
形式手法勉強会で使った資料です。 alloyというツールを使っています。 alloy自体の紹介は別の資料で説明しており、 この資料では以下の語を説明無しに使っています ・ドット(結合) ・矢印(積) ・その他各種シグネチャ ・alloyの特徴(全ては関係、全ては論理式、非手続き型言語であることなど) このあたりの理解は原典にあたるのが一番手っ取り早いです http://alloy.mit.edu/alloy/Read less
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く