帰納プログラミング
帰納プログラミング (Inductive Programming, IP) は人工知能とプログラミングの研究分野をまたぐ自動プログラミングの特殊分野である．通常，入出力例や制約などの不完全な仕様からの，宣言型（論理型または関数型）言語のプログラムの学習を扱う．学習されるプログラムはしばしば再帰的である．
使用するプログラミング言語によって，いくつかの種類の帰納プログラミングが存在する．LispやHaskellなどの関数型言語を用いる帰納関数プログラミング，そして特に，Prologのような論理型言語やのようなその他の論理的表現を用いるがこれまでよく知られていたが，制約プログラミングや確率プログラミングのようなその他のプログラミング言語も用いられている．