@[reducible, inline]
abbrev
LO.Entailment.TwoSided
{F : Type u_1}
[LogicalConnective F]
{S : Type u_2}
[Entailment S F]
(đą : S)
(Î Î : List F)
:
Equations
- LO.Entailment.TwoSided đą Î Î = Î âą[đą] Î.disj
Instances For
theorem
LO.Entailment.TwoSided.weakening
{F : Type u_1}
[LogicalConnective F]
[DecidableEq F]
{S : Type u_2}
[Entailment S F]
{đą : S}
[Entailment.Int đą]
{Îâ Îâ Îâ Îâ : List F}
(h : TwoSided đą Îâ Îâ)
(HÎ : Îâ â Îâ := by simp)
(HÎ : Îâ â Îâ := by simp)
:
TwoSided đą Îâ Îâ
theorem
LO.Entailment.TwoSided.remove_left
{F : Type u_1}
[LogicalConnective F]
[DecidableEq F]
{S : Type u_2}
[Entailment S F]
{đą : S}
[Entailment.Int đą]
{Î Î : List F}
{Ï : F}
(hÏ : TwoSided đą Î Î)
:
theorem
LO.Entailment.TwoSided.remove_right
{F : Type u_1}
[LogicalConnective F]
[DecidableEq F]
{S : Type u_2}
[Entailment S F]
{đą : S}
[Entailment.Int đą]
{Î Î : List F}
{Ï : F}
(hÏ : TwoSided đą Î Î)
:
theorem
LO.Entailment.TwoSided.rotate_right
{F : Type u_1}
[LogicalConnective F]
[DecidableEq F]
{S : Type u_2}
[Entailment S F]
{đą : S}
[Entailment.Int đą]
{Î Î : List F}
{Ï : F}
(hÏ : TwoSided đą Î (Î ++ [Ï]))
:
theorem
LO.Entailment.TwoSided.rotate_left
{F : Type u_1}
[LogicalConnective F]
[DecidableEq F]
{S : Type u_2}
[Entailment S F]
{đą : S}
[Entailment.Int đą]
{Î Î : List F}
{Ï : F}
(hÏ : TwoSided đą (Î ++ [Ï]) Î)
:
theorem
LO.Entailment.TwoSided.rotate_right_inv
{F : Type u_1}
[LogicalConnective F]
[DecidableEq F]
{S : Type u_2}
[Entailment S F]
{đą : S}
[Entailment.Int đą]
{Î Î : List F}
{Ï : F}
(hÏ : TwoSided đą Î (Ï :: Î))
:
theorem
LO.Entailment.TwoSided.rotate_left_inv
{F : Type u_1}
[LogicalConnective F]
[DecidableEq F]
{S : Type u_2}
[Entailment S F]
{đą : S}
[Entailment.Int đą]
{Î Î : List F}
{Ï : F}
(hÏ : TwoSided đą (Ï :: Î) Î)
:
theorem
LO.Entailment.TwoSided.to_provable
{F : Type u_1}
[LogicalConnective F]
[DecidableEq F]
{S : Type u_2}
[Entailment S F]
{đą : S}
[Entailment.Int đą]
{Ï : F}
(h : TwoSided đą [] [Ï])
:
theorem
LO.Entailment.TwoSided.add_hyp
{F : Type u_1}
[LogicalConnective F]
[DecidableEq F]
{S : Type u_2}
[Entailment S F]
{đą : S}
[Entailment.Int đą]
{Î Î : List F}
{Ï : F}
{đŻ : S}
[đŻ âȘŻ đą]
(hÏ : đŻ âą Ï)
(h : TwoSided đą (Ï :: Î) Î)
:
TwoSided đą Î Î
theorem
LO.Entailment.TwoSided.right_closed
{F : Type u_1}
[LogicalConnective F]
[DecidableEq F]
{S : Type u_2}
[Entailment S F]
{đą : S}
[Entailment.Int đą]
{Î Î : List F}
{Ï : F}
(h : Ï â Î)
:
theorem
LO.Entailment.TwoSided.left_closed
{F : Type u_1}
[LogicalConnective F]
[DecidableEq F]
{S : Type u_2}
[Entailment S F]
{đą : S}
[Entailment.Int đą]
{Î Î : List F}
{Ï : F}
(h : Ï â Î)
:
theorem
LO.Entailment.TwoSided.verum_right
{F : Type u_1}
[LogicalConnective F]
[DecidableEq F]
{S : Type u_2}
[Entailment S F]
{đą : S}
[Entailment.Int đą]
{Î Î : List F}
:
theorem
LO.Entailment.TwoSided.falsum_left
{F : Type u_1}
[LogicalConnective F]
{S : Type u_2}
[Entailment S F]
{đą : S}
[Entailment.Int đą]
{Î Î : List F}
:
theorem
LO.Entailment.TwoSided.falsum_right
{F : Type u_1}
[LogicalConnective F]
[DecidableEq F]
{S : Type u_2}
[Entailment S F]
{đą : S}
[Entailment.Int đą]
{Î Î : List F}
(h : TwoSided đą Î Î)
:
theorem
LO.Entailment.TwoSided.verum_left
{F : Type u_1}
[LogicalConnective F]
[DecidableEq F]
{S : Type u_2}
[Entailment S F]
{đą : S}
[Entailment.Int đą]
{Î Î : List F}
(h : TwoSided đą Î Î)
:
theorem
LO.Entailment.TwoSided.and_right
{F : Type u_1}
[LogicalConnective F]
[DecidableEq F]
{S : Type u_2}
[Entailment S F]
{đą : S}
[Entailment.Int đą]
{Î Î : List F}
{Ï Ï : F}
(hÏ : TwoSided đą Î (Î ++ [Ï]))
(hÏ : TwoSided đą Î (Î ++ [Ï]))
:
theorem
LO.Entailment.TwoSided.or_left
{F : Type u_1}
[LogicalConnective F]
[DecidableEq F]
{S : Type u_2}
[Entailment S F]
{đą : S}
[Entailment.Int đą]
{Î Î : List F}
{Ï Ï : F}
(hÏ : TwoSided đą (Î ++ [Ï]) Î)
(hÏ : TwoSided đą (Î ++ [Ï]) Î)
:
theorem
LO.Entailment.TwoSided.or_right
{F : Type u_1}
[LogicalConnective F]
[DecidableEq F]
{S : Type u_2}
[Entailment S F]
{đą : S}
[Entailment.Int đą]
{Î Î : List F}
{Ï Ï : F}
(h : TwoSided đą Î (Î ++ [Ï, Ï]))
:
theorem
LO.Entailment.TwoSided.and_left
{F : Type u_1}
[LogicalConnective F]
[DecidableEq F]
{S : Type u_2}
[Entailment S F]
{đą : S}
[Entailment.Int đą]
{Î Î : List F}
{Ï Ï : F}
(h : TwoSided đą (Î ++ [Ï, Ï]) Î)
:
theorem
LO.Entailment.TwoSided.neg_right_int
{F : Type u_1}
[LogicalConnective F]
[DecidableEq F]
{S : Type u_2}
[Entailment S F]
{đą : S}
[Entailment.Int đą]
{Î Î : List F}
{Ï : F}
(h : TwoSided đą (Î ++ [Ï]) [])
:
theorem
LO.Entailment.TwoSided.neg_right_cl
{F : Type u_1}
[LogicalConnective F]
[DecidableEq F]
{S : Type u_2}
[Entailment S F]
{đą : S}
{Î Î : List F}
{Ï : F}
[Entailment.Cl đą]
(h : TwoSided đą (Î ++ [Ï]) Î)
:
theorem
LO.Entailment.TwoSided.neg_left_int
{F : Type u_1}
[LogicalConnective F]
[DecidableEq F]
{S : Type u_2}
[Entailment S F]
{đą : S}
[Entailment.Int đą]
{Î Î : List F}
{Ï : F}
(h : TwoSided đą (Î ++ [âŒÏ]) (Î ++ [Ï]))
:
theorem
LO.Entailment.TwoSided.neg_left
{F : Type u_1}
[LogicalConnective F]
[DecidableEq F]
{S : Type u_2}
[Entailment S F]
{đą : S}
[Entailment.Int đą]
{Î Î : List F}
{Ï : F}
(h : TwoSided đą Î (Î ++ [Ï]))
:
theorem
LO.Entailment.TwoSided.imply_left_int
{F : Type u_1}
[LogicalConnective F]
[DecidableEq F]
{S : Type u_2}
[Entailment S F]
{đą : S}
[Entailment.Int đą]
{Î Î : List F}
{Ï Ï : F}
(hÏ : TwoSided đą (Î ++ [Ï â Ï]) (Î ++ [Ï]))
(hÏ : TwoSided đą (Î ++ [Ï]) Î)
:
theorem
LO.Entailment.TwoSided.imply_left
{F : Type u_1}
[LogicalConnective F]
[DecidableEq F]
{S : Type u_2}
[Entailment S F]
{đą : S}
[Entailment.Int đą]
{Î Î : List F}
{Ï Ï : F}
(hÏ : TwoSided đą Î (Î ++ [Ï]))
(hÏ : TwoSided đą (Î ++ [Ï]) Î)
:
theorem
LO.Entailment.TwoSided.imply_right_int
{F : Type u_1}
[LogicalConnective F]
[DecidableEq F]
{S : Type u_2}
[Entailment S F]
{đą : S}
[Entailment.Int đą]
{Î Î : List F}
{Ï Ï : F}
(h : TwoSided đą (Î ++ [Ï]) [Ï])
:
theorem
LO.Entailment.TwoSided.imply_right_cl
{F : Type u_1}
[LogicalConnective F]
[DecidableEq F]
{S : Type u_2}
[Entailment S F]
{đą : S}
{Î Î : List F}
{Ï Ï : F}
[Entailment.Cl đą]
(h : TwoSided đą (Î ++ [Ï]) (Î ++ [Ï]))
:
theorem
LO.Entailment.TwoSided.iff_right_cl
{F : Type u_1}
[LogicalConnective F]
[DecidableEq F]
{S : Type u_2}
[Entailment S F]
{đą : S}
{Î Î : List F}
{Ï Ï : F}
[Entailment.Cl đą]
(hr : TwoSided đą (Î ++ [Ï]) (Î ++ [Ï]))
(hl : TwoSided đą (Î ++ [Ï]) (Î ++ [Ï]))
:
theorem
LO.Entailment.TwoSided.iff_left
{F : Type u_1}
[LogicalConnective F]
[DecidableEq F]
{S : Type u_2}
[Entailment S F]
{đą : S}
[Entailment.Int đą]
{Î Î : List F}
{Ï Ï : F}
(hr : TwoSided đą Î (Î ++ [Ï, Ï]))
(hl : TwoSided đą (Î ++ [Ï, Ï]) Î)
:
@[reducible, inline]
Equations
Instances For
inductive
LO.Entailment.Tableaux.Valid
{F : Type u_1}
[LogicalConnective F]
{S : Type u_2}
[Entailment S F]
(đą : S)
:
- head {F : Type u_1} [LogicalConnective F] {S : Type u_2} [Entailment S F] {đą : S} {Î Î : List F} {Ï : List (Sequent F)} : TwoSided đą Î Î â Valid đą ({ antecedent := Î, succedent := Î } :: Ï)
- tail {F : Type u_1} [LogicalConnective F] {S : Type u_2} [Entailment S F] {đą : S} {Sâ : Sequent F} {Ï : Tableaux F} : Valid đą Ï â Valid đą (Sâ :: Ï)
Instances For
@[simp]
theorem
LO.Entailment.Tableaux.Valid.not_nil
{F : Type u_1}
[LogicalConnective F]
{S : Type u_2}
[Entailment S F]
{đą : S}
:
theorem
LO.Entailment.Tableaux.Valid.of_mem
{F : Type u_1}
[LogicalConnective F]
{S : Type u_2}
[Entailment S F]
{đą : S}
{Î Î : List F}
{Ï : Tableaux F}
(H : TwoSided đą Î Î)
(h : { antecedent := Î, succedent := Î } â Ï)
:
Valid đą Ï
theorem
LO.Entailment.Tableaux.Valid.of_subset
{F : Type u_1}
[LogicalConnective F]
{S : Type u_2}
[Entailment S F]
{đą : S}
{Ï Ï : Tableaux F}
(h : Valid đą Ï)
(ss : Ï â Ï := by simp)
:
Valid đą Ï
theorem
LO.Entailment.Tableaux.Valid.of_single_uppercedent
{F : Type u_1}
[LogicalConnective F]
{S : Type u_2}
[Entailment S F]
{đą : S}
{T : Tableaux F}
{Î Î Î Î : List F}
(H : TwoSided đą Î Î â TwoSided đą Î Î)
(h : Valid đą ({ antecedent := Î, succedent := Î } :: T))
:
theorem
LO.Entailment.Tableaux.Valid.of_double_uppercedent
{F : Type u_1}
[LogicalConnective F]
{S : Type u_2}
[Entailment S F]
{đą : S}
{T : Tableaux F}
{Îâ Îâ Îâ Îâ Î Î : List F}
(H : TwoSided đą Îâ Îâ â TwoSided đą Îâ Îâ â TwoSided đą Î Î)
(hâ : Valid đą ({ antecedent := Îâ, succedent := Îâ } :: T))
(hâ : Valid đą ({ antecedent := Îâ, succedent := Îâ } :: T))
:
theorem
LO.Entailment.Tableaux.Valid.remove
{F : Type u_1}
[LogicalConnective F]
{S : Type u_2}
[Entailment S F]
{đą : S}
{T : Tableaux F}
{Î Î : List F}
:
theorem
LO.Entailment.Tableaux.Valid.to_provable
{F : Type u_1}
[LogicalConnective F]
{S : Type u_2}
[Entailment S F]
{đą : S}
{Ï : F}
[DecidableEq F]
[Entailment.Int đą]
(h : Valid đą [{ antecedent := [], succedent := [Ï] }])
:
theorem
LO.Entailment.Tableaux.Valid.right_closed
{F : Type u_1}
[LogicalConnective F]
{S : Type u_2}
[Entailment S F]
{đą : S}
{T : Tableaux F}
{Î Î : List F}
{Ï : F}
[DecidableEq F]
[Entailment.Int đą]
(h : Ï â Î)
:
theorem
LO.Entailment.Tableaux.Valid.left_closed
{F : Type u_1}
[LogicalConnective F]
{S : Type u_2}
[Entailment S F]
{đą : S}
{T : Tableaux F}
{Î Î : List F}
{Ï : F}
[DecidableEq F]
[Entailment.Int đą]
(h : Ï â Î)
:
theorem
LO.Entailment.Tableaux.Valid.remove_right
{F : Type u_1}
[LogicalConnective F]
{S : Type u_2}
[Entailment S F]
{đą : S}
{T : Tableaux F}
{Î Î : List F}
{Ï : F}
[DecidableEq F]
[Entailment.Int đą]
:
theorem
LO.Entailment.Tableaux.Valid.remove_left
{F : Type u_1}
[LogicalConnective F]
{S : Type u_2}
[Entailment S F]
{đą : S}
{T : Tableaux F}
{Î Î : List F}
{Ï : F}
[DecidableEq F]
[Entailment.Int đą]
:
theorem
LO.Entailment.Tableaux.Valid.rotate_right
{F : Type u_1}
[LogicalConnective F]
{S : Type u_2}
[Entailment S F]
{đą : S}
{T : Tableaux F}
{Î Î : List F}
{Ï : F}
[DecidableEq F]
[Entailment.Int đą]
:
theorem
LO.Entailment.Tableaux.Valid.rotate_left
{F : Type u_1}
[LogicalConnective F]
{S : Type u_2}
[Entailment S F]
{đą : S}
{T : Tableaux F}
{Î Î : List F}
{Ï : F}
[DecidableEq F]
[Entailment.Int đą]
:
theorem
LO.Entailment.Tableaux.Valid.verum_right
{F : Type u_1}
[LogicalConnective F]
{S : Type u_2}
[Entailment S F]
{đą : S}
{T : Tableaux F}
{Î Î : List F}
[DecidableEq F]
[Entailment.Int đą]
:
theorem
LO.Entailment.Tableaux.Valid.falsum_left
{F : Type u_1}
[LogicalConnective F]
{S : Type u_2}
[Entailment S F]
{đą : S}
{T : Tableaux F}
{Î Î : List F}
[Entailment.Int đą]
:
theorem
LO.Entailment.Tableaux.Valid.falsum_right
{F : Type u_1}
[LogicalConnective F]
{S : Type u_2}
[Entailment S F]
{đą : S}
{T : Tableaux F}
{Î Î : List F}
[DecidableEq F]
[Entailment.Int đą]
:
theorem
LO.Entailment.Tableaux.Valid.verum_left
{F : Type u_1}
[LogicalConnective F]
{S : Type u_2}
[Entailment S F]
{đą : S}
{T : Tableaux F}
{Î Î : List F}
[DecidableEq F]
[Entailment.Int đą]
:
theorem
LO.Entailment.Tableaux.Valid.and_right
{F : Type u_1}
[LogicalConnective F]
{S : Type u_2}
[Entailment S F]
{đą : S}
{T : Tableaux F}
{Î Î : List F}
{Ï Ï : F}
[DecidableEq F]
[Entailment.Int đą]
:
theorem
LO.Entailment.Tableaux.Valid.or_left
{F : Type u_1}
[LogicalConnective F]
{S : Type u_2}
[Entailment S F]
{đą : S}
{T : Tableaux F}
{Î Î : List F}
{Ï Ï : F}
[DecidableEq F]
[Entailment.Int đą]
:
theorem
LO.Entailment.Tableaux.Valid.or_right
{F : Type u_1}
[LogicalConnective F]
{S : Type u_2}
[Entailment S F]
{đą : S}
{T : Tableaux F}
{Î Î : List F}
{Ï Ï : F}
[DecidableEq F]
[Entailment.Int đą]
:
theorem
LO.Entailment.Tableaux.Valid.and_left
{F : Type u_1}
[LogicalConnective F]
{S : Type u_2}
[Entailment S F]
{đą : S}
{T : Tableaux F}
{Î Î : List F}
{Ï Ï : F}
[DecidableEq F]
[Entailment.Int đą]
:
theorem
LO.Entailment.Tableaux.Valid.neg_right
{F : Type u_1}
[LogicalConnective F]
{S : Type u_2}
[Entailment S F]
{đą : S}
{T : Tableaux F}
{Î Î : List F}
{Ï : F}
[DecidableEq F]
[Entailment.Int đą]
:
theorem
LO.Entailment.Tableaux.Valid.neg_right'
{F : Type u_1}
[LogicalConnective F]
{S : Type u_2}
[Entailment S F]
{đą : S}
{T : Tableaux F}
{Î Î : List F}
{Ï : F}
[DecidableEq F]
[Entailment.Int đą]
:
theorem
LO.Entailment.Tableaux.Valid.neg_left
{F : Type u_1}
[LogicalConnective F]
{S : Type u_2}
[Entailment S F]
{đą : S}
{T : Tableaux F}
{Î Î : List F}
{Ï : F}
[DecidableEq F]
[Entailment.Int đą]
:
theorem
LO.Entailment.Tableaux.Valid.imply_right
{F : Type u_1}
[LogicalConnective F]
{S : Type u_2}
[Entailment S F]
{đą : S}
{T : Tableaux F}
{Î Î : List F}
{Ï Ï : F}
[DecidableEq F]
[Entailment.Int đą]
:
theorem
LO.Entailment.Tableaux.Valid.imply_right'
{F : Type u_1}
[LogicalConnective F]
{S : Type u_2}
[Entailment S F]
{đą : S}
{T : Tableaux F}
{Î Î : List F}
{Ï Ï : F}
[DecidableEq F]
[Entailment.Int đą]
:
theorem
LO.Entailment.Tableaux.Valid.imply_left
{F : Type u_1}
[LogicalConnective F]
{S : Type u_2}
[Entailment S F]
{đą : S}
{T : Tableaux F}
{Î Î : List F}
{Ï Ï : F}
[DecidableEq F]
[Entailment.Int đą]
: