, inversion , , .
(co), , Coq, , , , , (, Coq ). , 1 <> 0 Coq , :
Definition one_neq_zero (p : 1 = 0) : False :=
match p in _ = n return match n with
| 0 => False
| _ => True
end
with
| eq_refl => I (* "I" is the only constructor of the True proposition *)
end.
return match . :
p, .- , .
- , 0.
n, , 0. - , Coq. - "" Coq: ,
False , (.. n = 0), , - . match, - , return, , in.- ,
eq_refl. , n = 1. 1 n , True, - True, . - ,
p 0, Coq , False, .
, 0 , Coq , , . S n = n: n , .
n = S n , Coq . , , . , in _ = m return match m with 0 => True | _ => False end, eq_refl - match n with 0 => True | _ => False end, .
, , Coq "", , , , , . , , S n <> n, , , , . , , n = m - , - , n m . , nat , S n = n , , n.