Documentation

Foundation.Syntax.Predicate.Quantifier

inductive FFL.Polarity :
Instances For
    @[simp]
    theorem FFL.Polarity.alt_alt (Γ : Polarity) :
    Γ.alt.alt = Γ
    @[reducible, inline]

    Γ with its polarity flipped k times.

    Equations
    Instances For
      @[simp]
      theorem FFL.Polarity.altItr_zero (Γ : Polarity) :
      Γ.altItr 0 = Γ
      theorem FFL.Polarity.altItr_succ (Γ : Polarity) (k : ℕ) :
      Γ.altItr (k + 1) = (Γ.altItr k).alt
      theorem FFL.Polarity.altItr_succ' (Γ : Polarity) (k : ℕ) :
      Γ.altItr (k + 1) = Γ.alt.altItr k
      @[instance_reducible]
      instance FFL.Polarity.instCoe {α : Type u_1} [SigmaSymbol α] [PiSymbol α] :
      Equations
      @[simp]
      @[simp]
      theorem FFL.Polarity.coe_pi {α : Type u_1} [SigmaSymbol α] [PiSymbol α] :
      Instances For
        @[simp]
        @[simp]

        First-order quantifiers #

        class FFL.FirstOrder.UnivQuantifier (α : ℕ → Type u_1) :
        Type u_1
        • all {n : ℕ} : α (n + 1) → α n
        Instances
          class FFL.FirstOrder.ExsQuantifier (α : ℕ → Type u_1) :
          Type u_1
          • exs {n : ℕ} : α (n + 1) → α n
          Instances
            • all {n : ℕ} : α (n + 1) → α n
            • exs {n : ℕ} : α (n + 1) → α n
            Instances
              class FFL.FirstOrder.LCWQ (α : ℕ → Type u_1) extends FFL.FirstOrder.Quantifier α :
              Type u_1

              Logical Connectives with Quantifiers.

              Instances
                @[instance_reducible]
                Equations
                def FFL.FirstOrder.allClosure {α : ℕ → Type u_1} [UnivQuantifier α] {n : ℕ} :
                α n → α 0
                Equations
                Instances For

                  The universal closure of a formula.

                  Equations
                  Instances For
                    @[simp]
                    theorem FFL.FirstOrder.allClosure_zero {α : ℕ → Type u_1} [UnivQuantifier α] (a : α 0) :
                    ∀¹* a = a
                    theorem FFL.FirstOrder.allClosure_succ {α : ℕ → Type u_1} [UnivQuantifier α] {n : ℕ} (a : α (n + 1)) :
                    def FFL.FirstOrder.allItr {α : ℕ → Type u_1} [UnivQuantifier α] {n : ℕ} (k : ℕ) :
                    α (n + k) → α n
                    Equations
                    Instances For
                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        @[simp]
                        theorem FFL.FirstOrder.allItr_zero {α : ℕ → Type u_1} [UnivQuantifier α] {n : ℕ} (a : α n) :
                        ∀¹^[0] a = a
                        @[simp]
                        theorem FFL.FirstOrder.allItr_one {α : ℕ → Type u_1} [UnivQuantifier α] {n : ℕ} (a : α (n + 1)) :
                        theorem FFL.FirstOrder.allItr_succ {α : ℕ → Type u_1} [UnivQuantifier α] {n k : ℕ} (a : α (n + (k + 1))) :
                        def FFL.FirstOrder.exsClosure {α : ℕ → Type u_1} [ExsQuantifier α] {n : ℕ} :
                        α n → α 0
                        Equations
                        Instances For

                          The existential closure of a formula.

                          Equations
                          Instances For
                            @[simp]
                            theorem FFL.FirstOrder.exsClosure_zero {α : ℕ → Type u_1} [ExsQuantifier α] (a : α 0) :
                            ∃¹* a = a
                            theorem FFL.FirstOrder.exsClosure_succ {α : ℕ → Type u_1} [ExsQuantifier α] {n : ℕ} (a : α (n + 1)) :
                            def FFL.FirstOrder.exsItr {α : ℕ → Type u_1} [ExsQuantifier α] {n : ℕ} (k : ℕ) :
                            α (n + k) → α n
                            Equations
                            Instances For

                              Iterated application of k existential quantifiers.

                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For
                                @[simp]
                                theorem FFL.FirstOrder.exsItr_zero {α : ℕ → Type u_1} [ExsQuantifier α] {n : ℕ} (a : α n) :
                                ∃¹^[0] a = a
                                @[simp]
                                theorem FFL.FirstOrder.exsItr_one {α : ℕ → Type u_1} [ExsQuantifier α] {n : ℕ} (a : α (n + 1)) :
                                theorem FFL.FirstOrder.exsItr_succ {α : ℕ → Type u_1} [ExsQuantifier α] {n k : ℕ} (a : α (n + (k + 1))) :
                                def FFL.FirstOrder.ball {α : ℕ → Type u_1} {n : ℕ} [UnivQuantifier α] [Arrow (α (n + 1))] (φ ψ : α (n + 1)) :
                                α n
                                Equations
                                Instances For
                                  def FFL.FirstOrder.bexs {α : ℕ → Type u_1} {n : ℕ} [ExsQuantifier α] [Wedge (α (n + 1))] (φ ψ : α (n + 1)) :
                                  α n
                                  Equations
                                  Instances For

                                    A bounded universal quantifier. ∀¹[φ] ψ is defined as ∀¹ (φ 🡒 ψ).

                                    Equations
                                    • One or more equations did not get rendered due to their size.
                                    Instances For

                                      A bounded existential quantifier. ∃¹[φ] ψ is defined as ∃¹ (φ ⋏ ψ).

                                      Equations
                                      • One or more equations did not get rendered due to their size.
                                      Instances For
                                        @[simp]
                                        theorem FFL.Polarity.quant_sigma {α : ℕ → Type u_1} [FirstOrder.UnivQuantifier α] [FirstOrder.ExsQuantifier α] {n : ℕ} (φ : α (n + 1)) :
                                        @[simp]
                                        theorem FFL.Polarity.quant_pi {α : ℕ → Type u_1} [FirstOrder.UnivQuantifier α] [FirstOrder.ExsQuantifier α] {n : ℕ} (φ : α (n + 1)) :
                                        def FFL.Polarity.quantItr {α : ℕ → Type u_1} [FirstOrder.UnivQuantifier α] [FirstOrder.ExsQuantifier α] (Γ : Polarity) (k : ℕ) {n : ℕ} :
                                        α (n + k) → α n

                                        Prefixes k alternating quantifiers starting with Γ.

                                        Equations
                                        Instances For
                                          @[simp]
                                          theorem FFL.Polarity.quantItr_zero {α : ℕ → Type u_1} [FirstOrder.UnivQuantifier α] [FirstOrder.ExsQuantifier α] {n : ℕ} {Γ : Polarity} (φ : α n) :
                                          Γ.quantItr 0 φ = φ
                                          @[simp]
                                          theorem FFL.Polarity.quantItr_one {α : ℕ → Type u_1} [FirstOrder.UnivQuantifier α] [FirstOrder.ExsQuantifier α] {n : ℕ} {Γ : Polarity} (φ : α (n + 1)) :
                                          Γ.quantItr 1 φ = Γ.quant φ
                                          theorem FFL.Polarity.quantItr_succ {α : ℕ → Type u_1} [FirstOrder.UnivQuantifier α] [FirstOrder.ExsQuantifier α] {n : ℕ} {Γ : Polarity} {k : ℕ} (φ : α (n + (k + 1))) :
                                          Γ.quantItr (k + 1) φ = Γ.quant (Γ.alt.quantItr k (cast ⋯ φ))
                                          theorem FFL.Polarity.cast_quant {α : ℕ → Type u_1} [FirstOrder.UnivQuantifier α] [FirstOrder.ExsQuantifier α] {m₁ m₂ : ℕ} (h : m₁ = m₂) (Γ : Polarity) (φ : α (m₁ + 1)) :
                                          cast ⋯ (Γ.quant φ) = Γ.quant (cast ⋯ φ)
                                          theorem FFL.Polarity.quantItr_succ' {α : ℕ → Type u_1} [FirstOrder.UnivQuantifier α] [FirstOrder.ExsQuantifier α] {n : ℕ} {Γ : Polarity} {k : ℕ} (φ : α (n + (k + 1))) :
                                          Γ.quantItr (k + 1) φ = Γ.quantItr k ((Γ.altItr k).quant φ)

                                          Second-order quantifiers #

                                          class FFL.SecondOrder.UnivQuantifier (α : ℕ → ℕ → Type u_1) :
                                          Type u_1
                                          • all₁ {m n : ℕ} : α (m + 1) n → α m n
                                          Instances
                                            class FFL.SecondOrder.ExsQuantifier (α : ℕ → ℕ → Type u_1) :
                                            Type u_1
                                            • exs₁ {m n : ℕ} : α (m + 1) n → α m n
                                            Instances
                                              Instances
                                                class FFL.SecondOrder.LCWQ (α : ℕ → ℕ → Type u_1) extends FFL.SecondOrder.Quantifier α :
                                                Type u_1

                                                Logical Connectives with Quantifiers.

                                                Instances
                                                  @[instance_reducible]
                                                  instance FFL.SecondOrder.instLCWQOfLCWQ (α : ℕ → ℕ → Type u_1) [LCWQ α] (m : ℕ) :
                                                  Equations
                                                  @[instance_reducible]
                                                  instance FFL.SecondOrder.instLCWQOfQuantifierOfLCWQ (α : ℕ → ℕ → Type u_1) [Quantifier α] [(m : ℕ) → FirstOrder.LCWQ (α m)] :
                                                  LCWQ α
                                                  Equations
                                                  def FFL.SecondOrder.allClosure {α : ℕ → ℕ → Type u_1} [UnivQuantifier α] {n m : ℕ} :
                                                  α m n → α 0 n
                                                  Equations
                                                  Instances For
                                                    @[simp]
                                                    theorem FFL.SecondOrder.allClosure_zero {α : ℕ → ℕ → Type u_1} [UnivQuantifier α] {n : ℕ} (a : α 0 n) :
                                                    ∀²* a = a
                                                    theorem FFL.SecondOrder.allClosure_succ {α : ℕ → ℕ → Type u_1} [UnivQuantifier α] {n : ℕ} (a : α (n + 1) n) :
                                                    def FFL.SecondOrder.allItr {α : ℕ → ℕ → Type u_1} [UnivQuantifier α] {m n : ℕ} (k : ℕ) :
                                                    α (m + k) n → α m n
                                                    Equations
                                                    Instances For
                                                      Equations
                                                      • One or more equations did not get rendered due to their size.
                                                      Instances For
                                                        @[simp]
                                                        theorem FFL.SecondOrder.allItr_zero {α : ℕ → ℕ → Type u_1} [UnivQuantifier α] {m n : ℕ} (a : α m n) :
                                                        ∀²^[0] a = a
                                                        @[simp]
                                                        theorem FFL.SecondOrder.allItr_one {α : ℕ → ℕ → Type u_1} [UnivQuantifier α] {m n : ℕ} (a : α (m + 1) n) :
                                                        theorem FFL.SecondOrder.allItr_succ {α : ℕ → ℕ → Type u_1} [UnivQuantifier α] {m n k : ℕ} (a : α (m + (k + 1)) n) :
                                                        def FFL.SecondOrder.exsClosure {α : ℕ → ℕ → Type u_1} [ExsQuantifier α] {n m : ℕ} :
                                                        α m n → α 0 n
                                                        Equations
                                                        Instances For
                                                          @[simp]
                                                          theorem FFL.SecondOrder.exsClosure_zero {α : ℕ → ℕ → Type u_1} [ExsQuantifier α] {n : ℕ} (a : α 0 n) :
                                                          ∃²* a = a
                                                          theorem FFL.SecondOrder.exsClosure_succ {α : ℕ → ℕ → Type u_1} [ExsQuantifier α] {m n : ℕ} (a : α (m + 1) n) :
                                                          def FFL.SecondOrder.exsItr {α : ℕ → ℕ → Type u_1} [ExsQuantifier α] {m n : ℕ} (k : ℕ) :
                                                          α (m + k) n → α m n
                                                          Equations
                                                          Instances For
                                                            Equations
                                                            • One or more equations did not get rendered due to their size.
                                                            Instances For
                                                              @[simp]
                                                              theorem FFL.SecondOrder.exsItr_zero {α : ℕ → ℕ → Type u_1} [ExsQuantifier α] {m n : ℕ} (a : α m n) :
                                                              ∃²^[0] a = a
                                                              @[simp]
                                                              theorem FFL.SecondOrder.exsItr_one {α : ℕ → ℕ → Type u_1} [ExsQuantifier α] {m n : ℕ} (a : α (m + 1) n) :
                                                              theorem FFL.SecondOrder.exsItr_succ {α : ℕ → ℕ → Type u_1} [ExsQuantifier α] {m n k : ℕ} (a : α (m + (k + 1)) n) :
                                                              def FFL.SecondOrder.ball {α : ℕ → ℕ → Type u_1} {m n : ℕ} [UnivQuantifier α] [Arrow (α (m + 1) n)] (φ ψ : α (m + 1) n) :
                                                              α m n
                                                              Equations
                                                              Instances For
                                                                def FFL.SecondOrder.bexs {α : ℕ → ℕ → Type u_1} {m n : ℕ} [ExsQuantifier α] [Wedge (α (m + 1) n)] (φ ψ : α (m + 1) n) :
                                                                α m n
                                                                Equations
                                                                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