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_Prop.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_Prop.v')
-rwxr-xr-x | theories/Logic/Classical_Prop.v | 68 |
1 files changed, 34 insertions, 34 deletions
diff --git a/theories/Logic/Classical_Prop.v b/theories/Logic/Classical_Prop.v index 0a5987d01..908ad40a2 100755 --- a/theories/Logic/Classical_Prop.v +++ b/theories/Logic/Classical_Prop.v @@ -10,76 +10,76 @@ (** Classical Propositional Logic *) -Require ProofIrrelevance. +Require Import ProofIrrelevance. -Hints Unfold not : core. +Hint Unfold not: core. -Axiom classic: (P:Prop)(P \/ ~(P)). +Axiom classic : forall P:Prop, P \/ ~ P. -Lemma NNPP : (p:Prop)~(~(p))->p. +Lemma NNPP : forall p:Prop, ~ ~ p -> p. Proof. -Unfold not; Intros; Elim (classic p); Auto. -Intro NP; Elim (H NP). +unfold not in |- *; intros; elim (classic p); auto. +intro NP; elim (H NP). Qed. -Lemma not_imply_elim : (P,Q:Prop)~(P->Q)->P. +Lemma not_imply_elim : forall P Q:Prop, ~ (P -> Q) -> P. Proof. -Intros; Apply NNPP; Red. -Intro; Apply H; Intro; Absurd P; Trivial. +intros; apply NNPP; red in |- *. +intro; apply H; intro; absurd P; trivial. Qed. -Lemma not_imply_elim2 : (P,Q:Prop)~(P->Q) -> ~Q. +Lemma not_imply_elim2 : forall P Q:Prop, ~ (P -> Q) -> ~ Q. Proof. -Intros; Elim (classic Q); Auto. +intros; elim (classic Q); auto. Qed. -Lemma imply_to_or : (P,Q:Prop)(P->Q) -> ~P \/ Q. +Lemma imply_to_or : forall P Q:Prop, (P -> Q) -> ~ P \/ Q. Proof. -Intros; Elim (classic P); Auto. +intros; elim (classic P); auto. Qed. -Lemma imply_to_and : (P,Q:Prop)~(P->Q) -> P /\ ~Q. +Lemma imply_to_and : forall P Q:Prop, ~ (P -> Q) -> P /\ ~ Q. Proof. -Intros; Split. -Apply not_imply_elim with Q; Trivial. -Apply not_imply_elim2 with P; Trivial. +intros; split. +apply not_imply_elim with Q; trivial. +apply not_imply_elim2 with P; trivial. Qed. -Lemma or_to_imply : (P,Q:Prop)(~P \/ Q) -> P->Q. +Lemma or_to_imply : forall P Q:Prop, ~ P \/ Q -> P -> Q. Proof. -Induction 1; Auto. -Intros H1 H2; Elim (H1 H2). +simple induction 1; auto. +intros H1 H2; elim (H1 H2). Qed. -Lemma not_and_or : (P,Q:Prop)~(P/\Q)-> ~P \/ ~Q. +Lemma not_and_or : forall P Q:Prop, ~ (P /\ Q) -> ~ P \/ ~ Q. Proof. -Intros; Elim (classic P); Auto. +intros; elim (classic P); auto. Qed. -Lemma or_not_and : (P,Q:Prop)(~P \/ ~Q) -> ~(P/\Q). +Lemma or_not_and : forall P Q:Prop, ~ P \/ ~ Q -> ~ (P /\ Q). Proof. -Induction 1; Red; Induction 2; Auto. +simple induction 1; red in |- *; simple induction 2; auto. Qed. -Lemma not_or_and : (P,Q:Prop)~(P\/Q)-> ~P /\ ~Q. +Lemma not_or_and : forall P Q:Prop, ~ (P \/ Q) -> ~ P /\ ~ Q. Proof. -Intros; Elim (classic P); Auto. +intros; elim (classic P); auto. Qed. -Lemma and_not_or : (P,Q:Prop)(~P /\ ~Q) -> ~(P\/Q). +Lemma and_not_or : forall P Q:Prop, ~ P /\ ~ Q -> ~ (P \/ Q). Proof. -Induction 1; Red; Induction 3; Trivial. +simple induction 1; red in |- *; simple induction 3; trivial. Qed. -Lemma imply_and_or: (P,Q:Prop)(P->Q) -> P \/ Q -> Q. +Lemma imply_and_or : forall P Q:Prop, (P -> Q) -> P \/ Q -> Q. Proof. -Induction 2; Trivial. +simple induction 2; trivial. Qed. -Lemma imply_and_or2: (P,Q,R:Prop)(P->Q) -> P \/ R -> Q \/ R. +Lemma imply_and_or2 : forall P Q R:Prop, (P -> Q) -> P \/ R -> Q \/ R. Proof. -Induction 2; Auto. +simple induction 2; auto. Qed. -Lemma proof_irrelevance: (P:Prop)(p1,p2:P)p1==p2. -Proof (proof_irrelevance_cci classic). +Lemma proof_irrelevance : forall (P:Prop) (p1 p2:P), p1 = p2. +Proof proof_irrelevance_cci classic.
\ No newline at end of file |