injection - 単射性

全てのコンストラクタ(構築子)は単射である. 例えば nat に対する S や, リスト [] は単射なので, \[ n + 1 = m + 1 \implies n = m, \] \[ [n] = [m] \implies n = m, \] が言える. 実際にこのことを証明で使うのに injection を使う.

1 subgoal

  n, m : nat
  H : n.+1 = m.+1
  ============================
  n = m

ex <   injection H.
1 subgoal

  n, m : nat
  H : n.+1 = m.+1
  ============================
  n = m -> n = m

ex <   done.
No more subgoals.