1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
Module M.
Inductive I : Set := C : nat -> I.
End M.
Module M1 := M.
Goal forall x, M.C x = M1.C 0 -> x = 0 .
intros x H.
(*
injection sur deux constructeurs egaux mais appeles
par des modules differents
*)
injection H.
tauto.
Qed.
Goal M.C 0 <> M1.C 1.
(*
Discriminate sur deux constructeurs egaux mais appeles
par des modules differents
*)
intro H;discriminate H.
Qed.
Goal forall x, M.C x = M1.C 0 -> x = 0.
intros x H.
(*
inversion sur deux constructeurs egaux mais appeles
par des modules differents
*)
inversion H. reflexivity.
Qed.
|