PropLogic.Laws
(*
CoMoEx - Laws
Copyright (C) 2024 Max Ole Elliger
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*)
CoMoEx - Laws
Copyright (C) 2024 Max Ole Elliger
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*)
In diesem File soll es um übliche und (teilweise) bekannte klassische logische Gesetze gehen. Eine weitere Annotierung bleibt hier aktuell aus, da die Gesetze ja eh schon ausgeschrieben sind.
Section trivial_iff.
Variable p : Prop.
Theorem trivial_iff_true : (p <-> True) <-> p.
Proof.
Admitted.
Theorem trivial_iff_false : (p <-> False) <-> ~p.
Proof.
Admitted.
End trivial_iff.
Section de_morgan.
Variables p q : Prop.
Theorem de_morgan_1 : (p /\ q) <-> ~ (~p \/ ~q).
Proof.
Admitted.
Theorem de_morgan_2 : (p \/ q) <-> ~ (~p /\ ~q).
Proof.
Admitted.
End de_morgan.
Section distr.
Variables p q r : Prop.
Theorem distr_1 : (p /\ q) \/ r <-> (p \/ r) /\ (q \/ r).
Proof.
Admitted.
Theorem distr_2 : (p \/ q) /\ r <-> (p /\ r) \/ (q /\ r).
Proof.
Admitted.
End distr.
Section p_not_p.
Variables p : Prop.
Theorem p_and_not_p : ~ (p /\ ~p).
Proof.
Admitted.
Theorem excluded_middle : (p \/ ~p).
Proof.
Admitted.
End p_not_p.
Section contrapos.
Variables p q : Prop.
Theorem contrapos : (p -> q) <-> (~q -> ~p).
Proof.
Admitted.
Corollary mod_tollens : ((p -> q) /\ ~q) -> ~p.
Proof.
Admitted.
End contrapos.
Section impl_trans.
Variables p q r : Prop.
Hypothesis A1 : p -> q.
Hypothesis A2 : q -> r.
Theorem impl_trans : p -> r.
Proof.
Admitted.
End impl_trans.