Documentation

LeanPool.PointwiseComposition.Foundation.FirstOrder.Syntax.Intuitionistic.Formula

Supporting results for pointwise provable equality.

Formulas of intuitionistic first-order logic #

This file defines the formulas of first-order logic.

φ : Semiformulaᵢ L ξ n is a (semi-)formula of language L with bounded variables of Fin n and free variables of ξ. The quantification is represented by de Bruijn index.

inductive PointwiseComposition.FFL.FirstOrder.Semiformulaᵢ (L : Language) (ξ : Type u_1) :
ℕ → Type (max u_1 u_2)

Intuitionistic first-order formulas with separate bound and free variables.

Instances For
    @[reducible, inline]
    abbrev PointwiseComposition.FFL.FirstOrder.Formulaᵢ (L : Language) (ξ : Type u_1) :
    Type (max u_1 u_2)

    The Formulaᵢ construction in FFL.FirstOrder.

    Equations
    Instances For
      @[reducible, inline]

      The Sentenceᵢ construction in FFL.FirstOrder.

      Equations
      Instances For
        @[reducible, inline]

        The Semisentenceᵢ construction in FFL.FirstOrder.

        Equations
        Instances For
          @[reducible, inline]

          The Semipropositionᵢ construction in FFL.FirstOrder.

          Equations
          Instances For
            @[reducible, inline]

            The Propositionᵢ construction in FFL.FirstOrder.

            Equations
            Instances For
              @[reducible, inline]

              The neg construction in FFL.FirstOrder.Semiformulaᵢ.

              Equations
              Instances For
                @[instance_reducible]
                Equations
                • One or more equations did not get rendered due to their size.
                @[instance_reducible]
                Equations
                • One or more equations did not get rendered due to their size.
                @[instance_reducible]
                Equations
                • One or more equations did not get rendered due to their size.
                def PointwiseComposition.FFL.FirstOrder.Semiformulaᵢ.toStr {ξ : Type u_1} {L : Language} [(k : ℕ) → ToString (L.Func k)] [(k : ℕ) → ToString (L.Rel k)] [ToString ξ] {n : ℕ} :

                The to Str construction in FFL.FirstOrder.Semiformulaᵢ.

                Equations
                Instances For
                  @[simp]
                  theorem PointwiseComposition.FFL.FirstOrder.Semiformulaᵢ.and_inj {L : Language} {ξ : Type u_1} {n : ℕ} (φ₁ ψ₁ φ₂ ψ₂ : Semiformulaᵢ L ξ n) :
                  φ₁ ⋏ φ₂ = ψ₁ ⋏ ψ₂ ↔ φ₁ = ψ₁ ∧ φ₂ = ψ₂
                  @[simp]
                  theorem PointwiseComposition.FFL.FirstOrder.Semiformulaᵢ.or_inj {L : Language} {ξ : Type u_1} {n : ℕ} (φ₁ ψ₁ φ₂ ψ₂ : Semiformulaᵢ L ξ n) :
                  φ₁ ⋎ φ₂ = ψ₁ ⋎ ψ₂ ↔ φ₁ = ψ₁ ∧ φ₂ = ψ₂
                  @[simp]
                  theorem PointwiseComposition.FFL.FirstOrder.Semiformulaᵢ.imp_inj {L : Language} {ξ : Type u_1} {n : ℕ} {φ₁ φ₂ ψ₁ ψ₂ : Semiformulaᵢ L ξ n} :
                  φ₁ ⇒ₗ φ₂ = ψ₁ ⇒ₗ ψ₂ ↔ φ₁ = ψ₁ ∧ φ₂ = ψ₂
                  @[simp]
                  theorem PointwiseComposition.FFL.FirstOrder.Semiformulaᵢ.all_inj {L : Language} {ξ : Type u_1} {n : ℕ} (φ ψ : Semiformulaᵢ L ξ (n + 1)) :
                  ∀¹ φ = ∀¹ ψ ↔ φ = ψ
                  @[simp]
                  theorem PointwiseComposition.FFL.FirstOrder.Semiformulaᵢ.exs_inj {L : Language} {ξ : Type u_1} {n : ℕ} (φ ψ : Semiformulaᵢ L ξ (n + 1)) :
                  ∃¹ φ = ∃¹ ψ ↔ φ = ψ
                  @[simp]
                  @[simp]
                  @[simp]
                  theorem PointwiseComposition.FFL.FirstOrder.Semiformulaᵢ.allItr_inj {L : Language} {ξ : Type u_1} {n k : ℕ} (φ ψ : Semiformulaᵢ L ξ (n + k)) :
                  ∀¹^[k] φ = ∀¹^[k] ψ ↔ φ = ψ
                  @[simp]
                  theorem PointwiseComposition.FFL.FirstOrder.Semiformulaᵢ.exsItr_inj {L : Language} {ξ : Type u_1} {n k : ℕ} (φ ψ : Semiformulaᵢ L ξ (n + k)) :
                  ∃¹^[k] φ = ∃¹^[k] ψ ↔ φ = ψ
                  @[simp]
                  theorem PointwiseComposition.FFL.FirstOrder.Semiformulaᵢ.complexity_rel {L : Language} {ξ : Type u_1} {n k : ℕ} (r : L.Rel k) (v : Fin k → Semiterm L ξ n) :
                  (rel r v).complexity = 0
                  def PointwiseComposition.FFL.FirstOrder.Semiformulaᵢ.cases' {L : Language} {ξ : Type u_2} {C : (n : ℕ) → Semiformulaᵢ L ξ n → Sort w} (hRel : {n k : ℕ} → (r : L.Rel k) → (v : Fin k → Semiterm L ξ n) → C n (rel r v)) (hFalsum : {n : ℕ} → C n ⊥) (hAnd : {n : ℕ} → (φ ψ : Semiformulaᵢ L ξ n) → C n (φ ⋏ ψ)) (hOr : {n : ℕ} → (φ ψ : Semiformulaᵢ L ξ n) → C n (φ ⋎ ψ)) (hImp : {n : ℕ} → (φ ψ : Semiformulaᵢ L ξ n) → C n (φ ⇒ₗ ψ)) (hAll : {n : ℕ} → (φ : Semiformulaᵢ L ξ (n + 1)) → C n (∀¹ φ)) (hExs : {n : ℕ} → (φ : Semiformulaᵢ L ξ (n + 1)) → C n (∃¹ φ)) {n : ℕ} (φ : Semiformulaᵢ L ξ n) :
                  C n φ

                  The cases' construction in FFL.FirstOrder.Semiformulaᵢ.

                  Equations
                  Instances For
                    def PointwiseComposition.FFL.FirstOrder.Semiformulaᵢ.rec' {L : Language} {ξ : Type u_2} {C : (n : ℕ) → Semiformulaᵢ L ξ n → Sort w} (hRel : {n k : ℕ} → (r : L.Rel k) → (v : Fin k → Semiterm L ξ n) → C n (rel r v)) (hFalsum : {n : ℕ} → C n ⊥) (hAnd : {n : ℕ} → (φ ψ : Semiformulaᵢ L ξ n) → C n φ → C n ψ → C n (φ ⋏ ψ)) (hOr : {n : ℕ} → (φ ψ : Semiformulaᵢ L ξ n) → C n φ → C n ψ → C n (φ ⋎ ψ)) (hImp : {n : ℕ} → (φ ψ : Semiformulaᵢ L ξ n) → C n φ → C n ψ → C n (φ ⇒ₗ ψ)) (hAll : {n : ℕ} → (φ : Semiformulaᵢ L ξ (n + 1)) → C (n + 1) φ → C n (∀¹ φ)) (hExs : {n : ℕ} → (φ : Semiformulaᵢ L ξ (n + 1)) → C (n + 1) φ → C n (∃¹ φ)) {n : ℕ} (φ : Semiformulaᵢ L ξ n) :
                    C n φ

                    The rec' construction in FFL.FirstOrder.Semiformulaᵢ.

                    Equations
                    Instances For

                      The has Dec Eq construction in FFL.FirstOrder.Semiformulaᵢ.

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

                        (Weak) Negative formula #

                        Data and laws for Is Negative in FFL.FirstOrder.Semiformulaᵢ.

                        Instances For
                          @[simp]
                          theorem PointwiseComposition.FFL.FirstOrder.Semiformulaᵢ.IsNegative.not_rel {L : Language} {ξ : Type u_1} {n k : ℕ} (r : L.Rel k) (v : Fin k → Semiterm L ξ n) :