diff options
author | herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2003-11-29 17:28:49 +0000 |
---|---|---|
committer | herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2003-11-29 17:28:49 +0000 |
commit | 9a6e3fe764dc2543dfa94de20fe5eec42d6be705 (patch) | |
tree | 77c0021911e3696a8c98e35a51840800db4be2a9 /theories/Logic/Classical_Pred_Type.v | |
parent | 9058fb97426307536f56c3e7447be2f70798e081 (diff) |
Remplacement des fichiers .v ancienne syntaxe de theories, contrib et states par les fichiers nouvelle syntaxe
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@5027 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'theories/Logic/Classical_Pred_Type.v')
-rwxr-xr-x | theories/Logic/Classical_Pred_Type.v | 64 |
1 files changed, 35 insertions, 29 deletions
diff --git a/theories/Logic/Classical_Pred_Type.v b/theories/Logic/Classical_Pred_Type.v index 6745d05fd..6bfd08e43 100755 --- a/theories/Logic/Classical_Pred_Type.v +++ b/theories/Logic/Classical_Pred_Type.v @@ -10,55 +10,61 @@ (** Classical Predicate Logic on Type *) -Require Classical_Prop. +Require Import Classical_Prop. Section Generic. -Variable U: Type. +Variable U : Type. (** de Morgan laws for quantifiers *) -Lemma not_all_ex_not : (P:U->Prop)(~(n:U)(P n)) -> (EXT n:U | ~(P n)). +Lemma not_all_ex_not : + forall P:U -> Prop, ~ (forall n:U, P n) -> exists n : U | ~ P n. Proof. -Unfold not; Intros P notall. -Apply NNPP; Unfold not. -Intro abs. -Cut ((n:U)(P n)); Auto. -Intro n; Apply NNPP. -Unfold not; Intros. -Apply abs; Exists n; Trivial. +unfold not in |- *; intros P notall. +apply NNPP; unfold not in |- *. +intro abs. +cut (forall n:U, P n); auto. +intro n; apply NNPP. +unfold not in |- *; intros. +apply abs; exists n; trivial. Qed. -Lemma not_all_not_ex : (P:U->Prop)(~(n:U)~(P n)) -> (EXT n:U | (P n)). +Lemma not_all_not_ex : + forall P:U -> Prop, ~ (forall n:U, ~ P n) -> exists n : U | P n. Proof. -Intros P H. -Elim (not_all_ex_not [n:U]~(P n) H); Intros n Pn; Exists n. -Apply NNPP; Trivial. +intros P H. +elim (not_all_ex_not (fun n:U => ~ P n) H); intros n Pn; exists n. +apply NNPP; trivial. Qed. -Lemma not_ex_all_not : (P:U->Prop)(~(EXT n:U | (P n))) -> (n:U)~(P n). +Lemma not_ex_all_not : + forall P:U -> Prop, ~ ( exists n : U | P n) -> forall n:U, ~ P n. Proof. -Unfold not; Intros P notex n abs. -Apply notex. -Exists n; Trivial. +unfold not in |- *; intros P notex n abs. +apply notex. +exists n; trivial. Qed. -Lemma not_ex_not_all : (P:U->Prop)(~(EXT n:U | ~(P n))) -> (n:U)(P n). +Lemma not_ex_not_all : + forall P:U -> Prop, ~ ( exists n : U | ~ P n) -> forall n:U, P n. Proof. -Intros P H n. -Apply NNPP. -Red; Intro K; Apply H; Exists n; Trivial. +intros P H n. +apply NNPP. +red in |- *; intro K; apply H; exists n; trivial. Qed. -Lemma ex_not_not_all : (P:U->Prop) (EXT n:U | ~(P n)) -> ~(n:U)(P n). +Lemma ex_not_not_all : + forall P:U -> Prop, ( exists n : U | ~ P n) -> ~ (forall n:U, P n). Proof. -Unfold not; Intros P exnot allP. -Elim exnot; Auto. +unfold not in |- *; intros P exnot allP. +elim exnot; auto. Qed. -Lemma all_not_not_ex : (P:U->Prop) ((n:U)~(P n)) -> ~(EXT n:U | (P n)). +Lemma all_not_not_ex : + forall P:U -> Prop, (forall n:U, ~ P n) -> ~ ( exists n : U | P n). Proof. -Unfold not; Intros P allnot exP; Elim exP; Intros n p. -Apply allnot with n; Auto. +unfold not in |- *; intros P allnot exP; elim exP; intros n p. +apply allnot with n; auto. Qed. -End Generic. +End Generic.
\ No newline at end of file |