Logic Symbols #
This file defines structure that has logical connectives $\top, \bot, \land, \lor, \to, \lnot$ and their homomorphisms.
Main Definitions #
LO.LogicalConnective
is defined so thatLO.LogicalConnective F
is a type that has logical connectives $\top, \bot, \land, \lor, \to, \lnot$.LO.LogicalConnective.Hom
is defined so thatf : F →ˡᶜ G
is a homomorphism fromF
toG
, i.e., a function that preserves logical connectives.
Equations
- LO.«term𝚺» = Lean.ParserDescr.node `LO.term𝚺 1024 (Lean.ParserDescr.symbol "𝚺")
Instances For
Equations
- LO.«term𝚷» = Lean.ParserDescr.node `LO.term𝚷 1024 (Lean.ParserDescr.symbol "𝚷")
Instances For
Equations
- LO.«term𝚫» = Lean.ParserDescr.node `LO.term𝚫 1024 (Lean.ParserDescr.symbol "𝚫")
Instances For
Equations
- LO.Polarity.instSigmaSymbol = { sigma := LO.Polarity.sigma }
Equations
- LO.Polarity.instPiSymbol = { pi := LO.Polarity.pi }
Equations
- x.alt = match x with | LO.Polarity.sigma => 𝚷 | LO.Polarity.pi => 𝚺
Instances For
- sigma: LO.SigmaPiDelta
- pi: LO.SigmaPiDelta
- delta: LO.SigmaPiDelta
Instances For
Equations
- LO.SigmaPiDelta.instSigmaSymbol = { sigma := LO.SigmaPiDelta.sigma }
Equations
- LO.SigmaPiDelta.instPiSymbol = { pi := LO.SigmaPiDelta.pi }
Equations
- LO.SigmaPiDelta.instDeltaSymbol = { delta := LO.SigmaPiDelta.delta }
Equations
- x.alt = match x with | LO.SigmaPiDelta.sigma => 𝚷 | LO.SigmaPiDelta.pi => 𝚺 | LO.SigmaPiDelta.delta => 𝚫
Instances For
Equations
- LO.«term∼_» = Lean.ParserDescr.node `LO.term∼_ 75 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "∼") (Lean.ParserDescr.cat `term 75))
Instances For
Equations
- LO.«term_➝_» = Lean.ParserDescr.trailingNode `LO.term_➝_ 60 61 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ➝ ") (Lean.ParserDescr.cat `term 60))
Instances For
Equations
- LO.«term_⋏_» = Lean.ParserDescr.trailingNode `LO.term_⋏_ 69 70 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ⋏ ") (Lean.ParserDescr.cat `term 69))
Instances For
Equations
- LO.«term_⋎_» = Lean.ParserDescr.trailingNode `LO.term_⋎_ 68 69 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ⋎ ") (Lean.ParserDescr.cat `term 68))
Instances For
Equations
- LO.«term∀'_» = Lean.ParserDescr.node `LO.term∀'_ 64 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "∀' ") (Lean.ParserDescr.cat `term 64))
Instances For
Equations
- LO.«term∃'_» = Lean.ParserDescr.node `LO.term∃'_ 64 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "∃' ") (Lean.ParserDescr.cat `term 64))
Instances For
Equations
- LO.«term∀¹_» = Lean.ParserDescr.node `LO.term∀¹_ 64 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "∀¹ ") (Lean.ParserDescr.cat `term 64))
Instances For
Equations
- LO.«term∀²_» = Lean.ParserDescr.node `LO.term∀²_ 64 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "∀² ") (Lean.ParserDescr.cat `term 64))
Instances For
Equations
- LO.«term∃¹_» = Lean.ParserDescr.node `LO.term∃¹_ 64 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "∃¹ ") (Lean.ParserDescr.cat `term 64))
Instances For
Equations
- LO.«term∃²_» = Lean.ParserDescr.node `LO.term∃²_ 64 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "∃² ") (Lean.ParserDescr.cat `term 64))
Instances For
Equations
- LO.«term∀*_» = Lean.ParserDescr.node `LO.term∀*_ 64 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "∀* ") (Lean.ParserDescr.cat `term 64))
Instances For
@[simp]
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
Equations
- LO.«term∃*_» = Lean.ParserDescr.node `LO.term∃*_ 64 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "∃* ") (Lean.ParserDescr.cat `term 64))
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
def
LO.quant
{α : ℕ → Type u_1}
[LO.UnivQuantifier α]
[LO.ExQuantifier α]
{n : ℕ}
:
LO.Polarity → α (n + 1) → α n
Equations
- LO.quant x✝ x = match x✝, x with | LO.Polarity.sigma, p => ∃' p | LO.Polarity.pi, p => ∀' p
Instances For
@[simp]
theorem
LO.quant_sigma
{α : ℕ → Type u_1}
[LO.UnivQuantifier α]
[LO.ExQuantifier α]
{n : ℕ}
(p : α (n + 1))
:
@[simp]
theorem
LO.quant_pi
{α : ℕ → Type u_1}
[LO.UnivQuantifier α]
[LO.ExQuantifier α]
{n : ℕ}
(p : α (n + 1))
:
Equations
- LO.univClosure₂₁ x = x
- LO.univClosure₂₁ x = LO.univClosure₂₁ (∀¹ x)
Instances For
Equations
- LO.univClosure₂₂ a = a
- LO.univClosure₂₂ a = LO.univClosure₂₂ (∀² a)
Instances For
@[simp]
theorem
LO.univClosure₂₁_zero
{α : ℕ → ℕ → Type u_1}
[LO.UnivQuantifier₂ α]
{n : ℕ}
(a : α 0 n)
:
LO.univClosure₂₁ a = a
theorem
LO.univClosure₂₁_succ
{α : ℕ → ℕ → Type u_1}
[LO.UnivQuantifier₂ α]
{m : ℕ}
{n : ℕ}
(a : α (m + 1) n)
:
LO.univClosure₂₁ a = LO.univClosure₂₁ (∀¹ a)
@[simp]
theorem
LO.univClosure₂₂_zero
{α : ℕ → ℕ → Type u_1}
[LO.UnivQuantifier₂ α]
{m : ℕ}
(a : α m 0)
:
LO.univClosure₂₂ a = a
theorem
LO.univClosure₂₂_succ
{α : ℕ → ℕ → Type u_1}
[LO.UnivQuantifier₂ α]
{m : ℕ}
{n : ℕ}
(a : α m (n + 1))
:
LO.univClosure₂₂ a = LO.univClosure₂₂ (∀² a)
Equations
- LO.exClosure₂₁ x = x
- LO.exClosure₂₁ x = LO.exClosure₂₁ (∃¹ x)
Instances For
Equations
- LO.exClosure₂₂ a = a
- LO.exClosure₂₂ a = LO.exClosure₂₂ (∃² a)
Instances For
@[simp]
theorem
LO.exClosure₂₁_zero
{α : ℕ → ℕ → Type u_1}
[LO.ExQuantifier₂ α]
{n : ℕ}
(a : α 0 n)
:
LO.exClosure₂₁ a = a
theorem
LO.exClosure₂₁_succ
{α : ℕ → ℕ → Type u_1}
[LO.ExQuantifier₂ α]
{m : ℕ}
{n : ℕ}
(a : α (m + 1) n)
:
LO.exClosure₂₁ a = LO.exClosure₂₁ (∃¹ a)
@[simp]
theorem
LO.exClosure₂₂_zero
{α : ℕ → ℕ → Type u_1}
[LO.ExQuantifier₂ α]
{m : ℕ}
(a : α m 0)
:
LO.exClosure₂₂ a = a
theorem
LO.exClosure₂₂_succ
{α : ℕ → ℕ → Type u_1}
[LO.ExQuantifier₂ α]
{m : ℕ}
{n : ℕ}
(a : α m (n + 1))
:
LO.exClosure₂₂ a = LO.exClosure₂₂ (∃² a)
@[simp]
@[simp]
theorem
LO.DeMorgan.imply
{F : Type u_1}
[LO.LogicalConnective F]
[self : LO.DeMorgan F]
(p : F)
(q : F)
:
@[simp]
theorem
LO.DeMorgan.and
{F : Type u_1}
[LO.LogicalConnective F]
[self : LO.DeMorgan F]
(p : F)
(q : F)
:
@[simp]
theorem
LO.DeMorgan.or
{F : Type u_1}
[LO.LogicalConnective F]
[self : LO.DeMorgan F]
(p : F)
(q : F)
:
@[simp]
@[match_pattern]
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[reducible]
Equations
- LO.LogicalConnective.PropLogicSymbols = LO.LogicalConnective.mk
Equations
- One or more equations did not get rendered due to their size.
class
LO.LogicalConnective.HomClass
(F : Type u_1)
(α : outParam (Type u_2))
(β : outParam (Type u_3))
[LO.LogicalConnective α]
[LO.LogicalConnective β]
[FunLike F α β]
:
Instances
@[simp]
theorem
LO.LogicalConnective.HomClass.map_top
{F : Type u_1}
{α : outParam (Type u_2)}
{β : outParam (Type u_3)}
[LO.LogicalConnective α]
[LO.LogicalConnective β]
[FunLike F α β]
[self : LO.LogicalConnective.HomClass F α β]
(f : F)
:
@[simp]
theorem
LO.LogicalConnective.HomClass.map_bot
{F : Type u_1}
{α : outParam (Type u_2)}
{β : outParam (Type u_3)}
[LO.LogicalConnective α]
[LO.LogicalConnective β]
[FunLike F α β]
[self : LO.LogicalConnective.HomClass F α β]
(f : F)
:
@[simp]
theorem
LO.LogicalConnective.HomClass.map_neg
{F : Type u_1}
{α : outParam (Type u_2)}
{β : outParam (Type u_3)}
[LO.LogicalConnective α]
[LO.LogicalConnective β]
[FunLike F α β]
[self : LO.LogicalConnective.HomClass F α β]
(f : F)
(p : α)
:
@[simp]
theorem
LO.LogicalConnective.HomClass.map_imply
{F : Type u_1}
{α : outParam (Type u_2)}
{β : outParam (Type u_3)}
[LO.LogicalConnective α]
[LO.LogicalConnective β]
[FunLike F α β]
[self : LO.LogicalConnective.HomClass F α β]
(f : F)
(p : α)
(q : α)
:
@[simp]
theorem
LO.LogicalConnective.HomClass.map_and
{F : Type u_1}
{α : outParam (Type u_2)}
{β : outParam (Type u_3)}
[LO.LogicalConnective α]
[LO.LogicalConnective β]
[FunLike F α β]
[self : LO.LogicalConnective.HomClass F α β]
(f : F)
(p : α)
(q : α)
:
@[simp]
theorem
LO.LogicalConnective.HomClass.map_or
{F : Type u_1}
{α : outParam (Type u_2)}
{β : outParam (Type u_3)}
[LO.LogicalConnective α]
[LO.LogicalConnective β]
[FunLike F α β]
[self : LO.LogicalConnective.HomClass F α β]
(f : F)
(p : α)
(q : α)
:
@[simp]
theorem
LO.LogicalConnective.HomClass.map_iff
(F : Type u_1)
(α : outParam (Type u_2))
(β : outParam (Type u_3))
[LO.LogicalConnective α]
[LO.LogicalConnective β]
[FunLike F α β]
[LO.LogicalConnective.HomClass F α β]
(f : F)
(a : α)
(b : α)
:
structure
LO.LogicalConnective.Hom
(α : Type u_1)
(β : Type u_2)
[LO.LogicalConnective α]
[LO.LogicalConnective β]
:
Type (max u_1 u_2)
- toTr : α → β
Instances For
theorem
LO.LogicalConnective.Hom.map_top'
{α : Type u_1}
{β : Type u_2}
[LO.LogicalConnective α]
[LO.LogicalConnective β]
(self : α →ˡᶜ β)
:
theorem
LO.LogicalConnective.Hom.map_bot'
{α : Type u_1}
{β : Type u_2}
[LO.LogicalConnective α]
[LO.LogicalConnective β]
(self : α →ˡᶜ β)
:
theorem
LO.LogicalConnective.Hom.map_neg'
{α : Type u_1}
{β : Type u_2}
[LO.LogicalConnective α]
[LO.LogicalConnective β]
(self : α →ˡᶜ β)
(p : α)
:
theorem
LO.LogicalConnective.Hom.map_imply'
{α : Type u_1}
{β : Type u_2}
[LO.LogicalConnective α]
[LO.LogicalConnective β]
(self : α →ˡᶜ β)
(p : α)
(q : α)
:
theorem
LO.LogicalConnective.Hom.map_and'
{α : Type u_1}
{β : Type u_2}
[LO.LogicalConnective α]
[LO.LogicalConnective β]
(self : α →ˡᶜ β)
(p : α)
(q : α)
:
theorem
LO.LogicalConnective.Hom.map_or'
{α : Type u_1}
{β : Type u_2}
[LO.LogicalConnective α]
[LO.LogicalConnective β]
(self : α →ˡᶜ β)
(p : α)
(q : α)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
instance
LO.LogicalConnective.Hom.instFunLike
{α : Type u_1}
{β : Type u_2}
[LO.LogicalConnective α]
[LO.LogicalConnective β]
:
Equations
- LO.LogicalConnective.Hom.instFunLike = { coe := LO.LogicalConnective.Hom.toTr, coe_injective' := ⋯ }
instance
LO.LogicalConnective.Hom.instCoeFunForall
{α : Type u_1}
{β : Type u_2}
[LO.LogicalConnective α]
[LO.LogicalConnective β]
:
Equations
- LO.LogicalConnective.Hom.instCoeFunForall = DFunLike.hasCoeToFun
theorem
LO.LogicalConnective.Hom.ext
{α : Type u_1}
{β : Type u_2}
[LO.LogicalConnective α]
[LO.LogicalConnective β]
(f : α →ˡᶜ β)
(g : α →ˡᶜ β)
(h : ∀ (x : α), f x = g x)
:
f = g
instance
LO.LogicalConnective.Hom.instHomClass
{α : Type u_1}
{β : Type u_2}
[LO.LogicalConnective α]
[LO.LogicalConnective β]
:
LO.LogicalConnective.HomClass (α →ˡᶜ β) α β
Equations
- LO.LogicalConnective.Hom.instHomClass = { map_top := ⋯, map_bot := ⋯, map_neg := ⋯, map_imply := ⋯, map_and := ⋯, map_or := ⋯ }
Equations
- LO.LogicalConnective.Hom.id = { toTr := id, map_top' := ⋯, map_bot' := ⋯, map_neg' := ⋯, map_imply' := ⋯, map_and' := ⋯, map_or' := ⋯ }
Instances For
@[simp]
theorem
LO.LogicalConnective.Hom.app_id
{α : Type u_1}
[LO.LogicalConnective α]
(a : α)
:
LO.LogicalConnective.Hom.id a = a
def
LO.LogicalConnective.Hom.comp
{α : Type u_1}
{β : Type u_2}
{γ : Type u_3}
[LO.LogicalConnective α]
[LO.LogicalConnective β]
[LO.LogicalConnective γ]
(g : β →ˡᶜ γ)
(f : α →ˡᶜ β)
:
α →ˡᶜ γ
Equations
Instances For
@[simp]
theorem
LO.LogicalConnective.Hom.app_comp
{α : Type u_1}
{β : Type u_2}
{γ : Type u_3}
[LO.LogicalConnective α]
[LO.LogicalConnective β]
[LO.LogicalConnective γ]
(g : β →ˡᶜ γ)
(f : α →ˡᶜ β)
(a : α)
:
(g.comp f) a = g (f a)
def
LO.LogicalConnective.ball
{α : ℕ → Type u_4}
[(i : ℕ) → LO.LogicalConnective (α i)]
[LO.UnivQuantifier α]
{n : ℕ}
(p : α (n + 1))
(q : α (n + 1))
:
α n
Instances For
def
LO.LogicalConnective.bex
{α : ℕ → Type u_4}
[(i : ℕ) → LO.LogicalConnective (α i)]
[LO.ExQuantifier α]
{n : ℕ}
(p : α (n + 1))
(q : α (n + 1))
:
α n
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem
LO.LogicalConnective.AndOrClosed.verum
{F : Type u_4}
[LO.LogicalConnective F]
{C : F → Prop}
[self : LO.LogicalConnective.AndOrClosed C]
:
C ⊤
@[simp]
theorem
LO.LogicalConnective.AndOrClosed.falsum
{F : Type u_4}
[LO.LogicalConnective F]
{C : F → Prop}
[self : LO.LogicalConnective.AndOrClosed C]
:
C ⊥
theorem
LO.LogicalConnective.AndOrClosed.and
{F : Type u_4}
[LO.LogicalConnective F]
{C : F → Prop}
[self : LO.LogicalConnective.AndOrClosed C]
{f : F}
{g : F}
:
C f → C g → C (f ⋏ g)
theorem
LO.LogicalConnective.AndOrClosed.or
{F : Type u_4}
[LO.LogicalConnective F]
{C : F → Prop}
[self : LO.LogicalConnective.AndOrClosed C]
{f : F}
{g : F}
:
C f → C g → C (f ⋎ g)
class
LO.LogicalConnective.Closed
{F : Type u_4}
[LO.LogicalConnective F]
(C : F → Prop)
extends
LO.LogicalConnective.AndOrClosed
:
- verum : C ⊤
- falsum : C ⊥
- and : ∀ {f g : F}, C f → C g → C (f ⋏ g)
- or : ∀ {f g : F}, C f → C g → C (f ⋎ g)
- not : ∀ {f : F}, C f → C (∼f)
- imply : ∀ {f g : F}, C f → C g → C (f ➝ g)
Instances
theorem
LO.LogicalConnective.Closed.not
{F : Type u_4}
[LO.LogicalConnective F]
{C : F → Prop}
[self : LO.LogicalConnective.Closed C]
{f : F}
:
C f → C (∼f)
theorem
LO.LogicalConnective.Closed.imply
{F : Type u_4}
[LO.LogicalConnective F]
{C : F → Prop}
[self : LO.LogicalConnective.Closed C]
{f : F}
{g : F}
:
C f → C g → C (f ➝ g)
theorem
LO.Tilde.Subclosed.tilde_closed
{F : Type u_1}
[LO.Tilde F]
{C : F → Prop}
[self : LO.Tilde.Subclosed C]
{p : F}
:
C (∼p) → C p
theorem
LO.Arrow.Subclosed.arrow_closed
{F : Type u_1}
[LO.Arrow F]
{C : F → Prop}
[self : LO.Arrow.Subclosed C]
{p : F}
{q : F}
:
theorem
LO.Wedge.Subclosed.wedge_closed
{F : Type u_1}
[LO.Wedge F]
{C : F → Prop}
[self : LO.Wedge.Subclosed C]
{p : F}
{q : F}
:
theorem
LO.Vee.Subclosed.vee_closed
{F : Type u_1}
[LO.Vee F]
{C : F → Prop}
[self : LO.Vee.Subclosed C]
{p : F}
{q : F}
:
class
LO.LogicalConnective.Subclosed
{F : Type u_1}
[LO.LogicalConnective F]
(C : F → Prop)
extends
LO.Tilde.Subclosed
,
LO.Arrow.Subclosed
,
LO.Wedge.Subclosed
,
LO.Vee.Subclosed
:
Instances
@[simp]
@[simp]
theorem
LO.hom_conj_prop
{α : Type u_1}
[LO.LogicalConnective α]
{F : Type u_3}
{k : ℕ}
[FunLike F α Prop]
[LO.LogicalConnective.HomClass F α Prop]
(f : F)
(p : ℕ → α)
:
@[simp]
@[simp]
theorem
LO.hom_disj_prop
{α : Type u_1}
[LO.LogicalConnective α]
{F : Type u_3}
{k : ℕ}
[FunLike F α Prop]
[LO.LogicalConnective.HomClass F α Prop]
(f : F)
(p : ℕ → α)
:
Equations
- Matrix.conj x_2 = ⊤
- Matrix.conj v = v 0 ⋏ Matrix.conj (Matrix.vecTail v)
Instances For
@[simp]
@[simp]
theorem
Matrix.conj_cons
{α : Type u_1}
[LO.LogicalConnective α]
{n : ℕ}
{a : α}
{v : Fin n → α}
:
Matrix.conj (a :> v) = a ⋏ Matrix.conj v
@[simp]
theorem
Matrix.conj_hom_prop
{α : Type u_1}
[LO.LogicalConnective α]
{F : Type u_2}
{n : ℕ}
[FunLike F α Prop]
[LO.LogicalConnective.HomClass F α Prop]
(f : F)
(v : Fin n → α)
:
f (Matrix.conj v) = ∀ (i : Fin n), f (v i)
theorem
Matrix.hom_conj
{β : Type u_3}
{α : Type u_1}
[LO.LogicalConnective α]
[LO.LogicalConnective β]
{F : Type u_2}
{n : ℕ}
[FunLike F α β]
[LO.LogicalConnective.HomClass F α β]
(f : F)
(v : Fin n → α)
:
f (Matrix.conj v) = Matrix.conj (⇑f ∘ v)
theorem
Matrix.hom_conj₂
{β : Type u_3}
{α : Type u_1}
[LO.LogicalConnective α]
[LO.LogicalConnective β]
{F : Type u_2}
{n : ℕ}
[FunLike F α β]
[LO.LogicalConnective.HomClass F α β]
(f : F)
(v : Fin n → α)
:
f (Matrix.conj v) = Matrix.conj fun (i : Fin n) => f (v i)
Equations
- Matrix.disj x_2 = ⊥
- Matrix.disj v = v 0 ⋎ Matrix.disj (Matrix.vecTail v)
Instances For
@[simp]
@[simp]
theorem
Matrix.disj_cons
{α : Type u_1}
[LO.LogicalConnective α]
{n : ℕ}
{a : α}
{v : Fin n → α}
:
Matrix.disj (a :> v) = a ⋎ Matrix.disj v
@[simp]
theorem
Matrix.disj_hom_prop
{α : Type u_1}
[LO.LogicalConnective α]
{F : Type u_2}
{n : ℕ}
[FunLike F α Prop]
[LO.LogicalConnective.HomClass F α Prop]
(f : F)
(v : Fin n → α)
:
f (Matrix.disj v) = ∃ (i : Fin n), f (v i)
theorem
Matrix.hom_disj
{β : Type u_3}
{α : Type u_1}
[LO.LogicalConnective α]
[LO.LogicalConnective β]
{F : Type u_2}
{n : ℕ}
[FunLike F α β]
[LO.LogicalConnective.HomClass F α β]
(f : F)
(v : Fin n → α)
:
f (Matrix.disj v) = Matrix.disj (⇑f ∘ v)
theorem
Matrix.hom_disj'
{β : Type u_3}
{α : Type u_1}
[LO.LogicalConnective α]
[LO.LogicalConnective β]
{F : Type u_2}
{n : ℕ}
[FunLike F α β]
[LO.LogicalConnective.HomClass F α β]
(f : F)
(v : Fin n → α)
:
f (Matrix.disj v) = Matrix.disj fun (i : Fin n) => f (v i)
@[simp]
theorem
List.map_conj
{α : Type u_1}
[LO.LogicalConnective α]
{F : Type u_2}
[FunLike F α Prop]
[LO.LogicalConnective.HomClass F α Prop]
(f : F)
(l : List α)
:
f l.conj ↔ ∀ a ∈ l, f a
theorem
List.map_conj_append
{α : Type u_1}
[LO.LogicalConnective α]
{F : Type u_2}
[FunLike F α Prop]
[LO.LogicalConnective.HomClass F α Prop]
(f : F)
(l₁ : List α)
(l₂ : List α)
:
@[simp]
theorem
List.map_disj
{α : Type u_1}
[LO.LogicalConnective α]
{F : Type u_2}
[FunLike F α Prop]
[LO.LogicalConnective.HomClass F α Prop]
(f : F)
(l : List α)
:
f l.disj ↔ ∃ a ∈ l, f a
theorem
List.map_disj_append
{α : Type u_1}
[LO.LogicalConnective α]
{F : Type u_2}
[FunLike F α Prop]
[LO.LogicalConnective.HomClass F α Prop]
(f : F)
(l₁ : List α)
(l₂ : List α)
:
Equations
- List.«term⋀_» = Lean.ParserDescr.node `List.term⋀_ 80 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "⋀") (Lean.ParserDescr.cat `term 80))
Instances For
@[simp]
Equations
- List.«term⋁_» = Lean.ParserDescr.node `List.term⋁_ 80 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "⋁") (Lean.ParserDescr.cat `term 80))
Instances For
@[simp]
Equations
- s.conj = s.toList.conj
Instances For
theorem
Finset.map_conj
{α : Type u_2}
[LO.LogicalConnective α]
{F : Type u_1}
[FunLike F α Prop]
[LO.LogicalConnective.HomClass F α Prop]
(f : F)
(s : Finset α)
:
f s.conj ↔ ∀ a ∈ s, f a
theorem
Finset.map_conj_union
{α : Type u_2}
[LO.LogicalConnective α]
[DecidableEq α]
{F : Type u_1}
[FunLike F α Prop]
[LO.LogicalConnective.HomClass F α Prop]
(f : F)
(s₁ : Finset α)
(s₂ : Finset α)
:
Equations
- s.disj = s.toList.disj
Instances For
theorem
Finset.map_disj
{α : Type u_2}
[LO.LogicalConnective α]
{F : Type u_1}
[FunLike F α Prop]
[LO.LogicalConnective.HomClass F α Prop]
(f : F)
(s : Finset α)
:
f s.disj ↔ ∃ a ∈ s, f a
theorem
Finset.map_disj_union
{α : Type u_2}
[LO.LogicalConnective α]
[DecidableEq α]
{F : Type u_1}
[FunLike F α Prop]
[LO.LogicalConnective.HomClass F α Prop]
(f : F)
(s₁ : Finset α)
(s₂ : Finset α)
: