Skip to content

Instantly share code, notes, and snippets.

@satos---jp
Created April 12, 2014 11:24
Show Gist options
  • Save satos---jp/10530971 to your computer and use it in GitHub Desktop.
Save satos---jp/10530971 to your computer and use it in GitHub Desktop.
Theorem tautology : forall P : Prop, P -> P.
Proof.
intros P H.
assumption.
Qed.
Theorem Modus_ponens : forall P Q : Prop, P -> (P -> Q) -> Q.
Proof.
intros.
apply H0.
apply H.
Qed.
Theorem Modus_tollens : forall P Q : Prop, ~Q /\ (P -> Q) -> ~P.
Proof.
intros.
destruct H.
intro.
apply H.
apply H0.
apply H1.
Qed.
Theorem Disjunctive_syllogism : forall P Q : Prop, (P \/ Q) -> ~P -> Q.
Proof.
intros.
destruct H.
destruct H0.
apply H.
apply H.
Qed.
Theorem DeMorgan1 : forall P Q : Prop, ~P \/ ~Q -> ~(P /\ Q).
Proof.
intros.
intro.
destruct H0.
destruct H.
apply H.
apply H0.
apply H.
apply H1.
Qed.
Theorem DeMorgan2 : forall P Q : Prop, ~P /\ ~Q -> ~(P \/ Q).
Proof.
intros.
intro.
destruct H.
destruct H0.
apply H.
apply H0.
apply H1.
apply H0.
Qed.
Theorem DeMorgan3 : forall P Q : Prop, ~(P \/ Q) -> ~P /\ ~Q.
Proof.
intros.
split.
intro.
apply H.
left.
apply H0.
intro.
apply H.
right.
apply H0.
Qed.
Theorem NotNot_LEM : forall P : Prop, ~ ~(P \/ ~P).
Proof.
intros.
intro.
apply H.
right.
intro.
apply H.
left.
apply H0.
Qed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment