(* This file contains lemmas used by other pieces of the automation, * e.g. ChargeCore.Tactics.Tauto. It is a separate file so that * it does not pollute the global namespace when those modules are imported. *)
Require Export ChargeCore.Logics.ILogic.
Section logic.
Context {L : Type}.
Context {ILO : ILogicOps L}.
Context {IL : ILogic L}.

(* Specifications: *)
Theorem lcut : forall P Q R : L,
P |-- R ->
P |-- R -->> Q ->
P |-- Q.
Theorem limplAdj_true : forall P Q,
P |-- Q ->
ltrue |-- P -->> Q.
Theorem landAdj_true : forall P Q,
ltrue |-- P -->> Q ->
P |-- Q.
Lemma lapply : forall P Q R,
P |-- Q -->> R ->
P |-- Q ->
P |-- R.
Lemma land_lor_distr_R : forall P Q R,
(Q \\// R) //\\ P -|- (P //\\ Q) \\// (P //\\ R).