Documentation

Foundation.IntProp.Formula

inductive LO.IntProp.Formula (α : Type u) :
Instances For
    Equations
    Instances For
      instance LO.IntProp.Formula.instRepr {α : Type u_1} [ToString α] :
      Equations
      @[simp]
      theorem LO.IntProp.Formula.and_inj {α : Type u_1} (φ₁ ψ₁ φ₂ ψ₂ : Formula α) :
      φ₁ ⋏ φ₂ = ψ₁ ⋏ ψ₂ ↔ φ₁ = ψ₁ ∧ φ₂ = ψ₂
      @[simp]
      theorem LO.IntProp.Formula.or_inj {α : Type u_1} (φ₁ ψ₁ φ₂ ψ₂ : Formula α) :
      φ₁ ⋎ φ₂ = ψ₁ ⋎ ψ₂ ↔ φ₁ = ψ₁ ∧ φ₂ = ψ₂
      @[simp]
      theorem LO.IntProp.Formula.imp_inj {α : Type u_1} (φ₁ ψ₁ φ₂ ψ₂ : Formula α) :
      φ₁ ➝ φ₂ = ψ₁ ➝ ψ₂ ↔ φ₁ = ψ₁ ∧ φ₂ = ψ₂
      @[simp]
      theorem LO.IntProp.Formula.neg_inj {α : Type u_1} (φ ψ : Formula α) :
      ∼φ = ∼ψ ↔ φ = ψ
      theorem LO.IntProp.Formula.iff_def {α : Type u_1} (φ ψ : Formula α) :
      φ ⭤ ψ = (φ ➝ ψ) ⋏ (ψ ➝ φ)
      Equations
      Instances For
        @[simp]
        theorem LO.IntProp.Formula.complexity_bot {α : Type u_1} :
        ⊥.complexity = 0
        @[simp]
        theorem LO.IntProp.Formula.complexity_top {α : Type u_1} :
        ⊤.complexity = 0
        @[simp]
        theorem LO.IntProp.Formula.complexity_atom {α : Type u_1} (a : α) :
        (atom a).complexity = 0
        @[simp]
        theorem LO.IntProp.Formula.complexity_imp {α : Type u_1} (φ ψ : Formula α) :
        (φ ➝ ψ).complexity = φ.complexity ⊔ ψ.complexity + 1
        @[simp]
        theorem LO.IntProp.Formula.complexity_imp' {α : Type u_1} (φ ψ : Formula α) :
        (φ.imp ψ).complexity = φ.complexity ⊔ ψ.complexity + 1
        @[simp]
        theorem LO.IntProp.Formula.complexity_and {α : Type u_1} (φ ψ : Formula α) :
        (φ ⋏ ψ).complexity = φ.complexity ⊔ ψ.complexity + 1
        @[simp]
        theorem LO.IntProp.Formula.complexity_and' {α : Type u_1} (φ ψ : Formula α) :
        (φ.and ψ).complexity = φ.complexity ⊔ ψ.complexity + 1
        @[simp]
        theorem LO.IntProp.Formula.complexity_or {α : Type u_1} (φ ψ : Formula α) :
        (φ ⋎ ψ).complexity = φ.complexity ⊔ ψ.complexity + 1
        @[simp]
        theorem LO.IntProp.Formula.complexity_or' {α : Type u_1} (φ ψ : Formula α) :
        (φ.or ψ).complexity = φ.complexity ⊔ ψ.complexity + 1
        def LO.IntProp.Formula.cases' {α : Type u_1} {C : Formula α → Sort w} (hfalsum : C ⊥) (hverum : C ⊤) (hatom : (a : α) → C (atom a)) (hneg : (φ : Formula α) → C (∼φ)) (himp : (φ ψ : Formula α) → C (φ ➝ ψ)) (hand : (φ ψ : Formula α) → C (φ ⋏ ψ)) (hor : (φ ψ : Formula α) → C (φ ⋎ ψ)) (φ : Formula α) :
        C φ
        Equations
        Instances For
          def LO.IntProp.Formula.rec' {α : Type u_1} {C : Formula α → Sort w} (hfalsum : C ⊥) (hverum : C ⊤) (hatom : (a : α) → C (atom a)) (hneg : (φ : Formula α) → C φ → C (∼φ)) (himp : (φ ψ : Formula α) → C φ → C ψ → C (φ ➝ ψ)) (hand : (φ ψ : Formula α) → C φ → C ψ → C (φ ⋏ ψ)) (hor : (φ ψ : Formula α) → C φ → C ψ → C (φ ⋎ ψ)) (φ : Formula α) :
          C φ
          Equations
          Instances For
            def LO.IntProp.Formula.hasDecEq {α : Type u_1} [DecidableEq α] (φ ψ : Formula α) :
            Decidable (φ = ψ)
            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              def LO.IntProp.Formula.toNat {α : Type u_1} [Encodable α] :
              Formula α → ℕ
              Equations
              Instances For
                @[irreducible]
                Equations
                Instances For
                  theorem LO.IntProp.Formula.ofNat_toNat {α : Type u_1} [Encodable α] (φ : Formula α) :
                  ofNat φ.toNat = some φ
                  @[simp]
                  theorem LO.IntProp.Formula.subst_atom {α : Type u_1} {s : α → Formula α} {a : α} :
                  subst s (atom a) = s a
                  @[simp]
                  theorem LO.IntProp.Formula.subst_and {α : Type u_1} {s : α → Formula α} {φ ψ : Formula α} :
                  subst s (φ ⋏ ψ) = subst s φ ⋏ subst s ψ
                  @[simp]
                  theorem LO.IntProp.Formula.subst_or {α : Type u_1} {s : α → Formula α} {φ ψ : Formula α} :
                  subst s (φ ⋎ ψ) = subst s φ ⋎ subst s ψ
                  @[simp]
                  theorem LO.IntProp.Formula.subst_imp {α : Type u_1} {s : α → Formula α} {φ ψ : Formula α} :
                  subst s (φ ➝ ψ) = subst s φ ➝ subst s ψ
                  @[simp]
                  theorem LO.IntProp.Formula.subst_neg {α : Type u_1} {s : α → Formula α} {φ : Formula α} :
                  subst s (∼φ) = ∼subst s φ
                  @[simp]
                  theorem LO.IntProp.Formula.subst_top {α : Type u_1} {s : α → Formula α} :
                  @[simp]
                  theorem LO.IntProp.Formula.subst_bot {α : Type u_1} {s : α → Formula α} :
                  @[reducible, inline]
                  abbrev LO.IntProp.Theory (α : Type u) :
                  Equations
                  Instances For
                    @[reducible, inline]
                    abbrev LO.IntProp.Context (α : Type u) :
                    Equations
                    Instances For