# 間違ってたら誰か指摘してください
C++0x の Concept では concept, concept_map, requires, late_check の他に axiom というキーワードが追加される
axiom とは、日本語では"公理"という意味で「命題Pが成り立つならQも成り立つ」という"概念を定義する条件"や"証明無しで認められる最も基本的な命題"のことらしい
axiom は concept 内で型の意味(セマンティクス)を定義するための機能のようだ
concept Number<typename N> { // ... axiom { Var<N> a, b; a+0 == a; 0+a == a; a+b == b+a; } }
ただし、 axiom による型チェックは動作チェックを行うため、コンパイル時に行うことは難しいだろう