minamiyama1994/Dependent-Type — pull request #1 by yryozo (2014-06-28 16:01:33+00:00)
Title: fix int_'s typing rules (operator +, -, *, inc, dec) to handle overflow

細かな点で申し訳ないんですが、算術演算がオーバーフローするケースで unsound にならないでしょうか？
とりあえず、次のようなコードが型エラーになるようにしました。

```
// Add-rule Test
constexpr dependent_type::int_::max ( )> i1 = dependent_type::create_int<1>();
constexpr dependent_type::int_<1> i2 = dependent_type::create_int<1>();
constexpr dependent_type::int_<0> i3 = i1+i2;
// Sub-rule Test
constexpr dependent_type::int_<2> i1 = dependent_type::create_int<0>();
constexpr dependent_type::int_<1> i2 = dependent_type::create_int<1>();
constexpr dependent_type::int_<2> i3 = i1-i2;
// Mul-rule Test
constexpr dependent_type::int_::max ( ) / 2 + 1> i1 = dependent_type::create_int<1>();
constexpr dependent_type::int_<2> i2 = dependent_type::create_int<2>();
constexpr dependent_type::int_<0> i3 = i1*i2;
// Inc-rule Test
constexpr dependent_type::int_::max ( )> i1 = dependent_type::create_int<1>();
constexpr dependent_type::int_<0> i3 = i1.inc < 1 > ( );
// Dec-rule Test
constexpr dependent_type::int_<2> i1 = dependent_type::create_int<0>();
constexpr dependent_type::int_<1> i3 = i1.dec < 1 > ( );
```