Documentation

LeanPool.Incompleteness.Arithmetization.ISigmaOne.Metamath.Proof.Derivation

Derivation #

Imported declaration from the Incompleteness formalization.

Equations
Instances For

    Imported declaration from the Incompleteness formalization.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      @[simp]
      theorem LO.Arith.Language.IsFormulaSet.union {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {s₁ s₂ : V} :
      L.IsFormulaSet (s₁ s₂) L.IsFormulaSet s₁ L.IsFormulaSet s₂
      theorem LO.Arith.setShift_existsUnique {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (L : Arith.Language V) {pL : FirstOrder.Arith.LDef} [L.Defined pL] (s : V) :
      ∃! t : V, ∀ (y : V), y t xs, y = L.shift x
      noncomputable def LO.Arith.Language.setShift {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (L : Arith.Language V) {pL : FirstOrder.Arith.LDef} [L.Defined pL] (s : V) :
      V

      Imported declaration from the Incompleteness formalization.

      Equations
      Instances For
        theorem LO.Arith.mem_setShift_iff {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {s y : V} :
        y L.setShift s xs, y = L.shift x
        theorem LO.Arith.shift_mem_setShift {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {p s : V} (h : p s) :
        @[simp]
        theorem LO.Arith.mem_setShift_union {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {s t : V} :
        L.setShift (s t) = L.setShift s L.setShift t
        @[simp]
        theorem LO.Arith.mem_setShift_insert {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {x s : V} :
        L.setShift (insert x s) = insert (L.shift x) (L.setShift s)

        Imported declaration from the Incompleteness formalization.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          noncomputable def LO.Arith.axL {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s p : V) :
          V

          Imported declaration from the Incompleteness formalization.

          Equations
          Instances For
            noncomputable def LO.Arith.verumIntro {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s : V) :
            V

            Imported declaration from the Incompleteness formalization.

            Equations
            Instances For
              noncomputable def LO.Arith.andIntro {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s p q dp dq : V) :
              V

              Imported declaration from the Incompleteness formalization.

              Equations
              Instances For
                noncomputable def LO.Arith.orIntro {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s p q d : V) :
                V

                Imported declaration from the Incompleteness formalization.

                Equations
                Instances For
                  noncomputable def LO.Arith.allIntro {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s p d : V) :
                  V

                  Imported declaration from the Incompleteness formalization.

                  Equations
                  Instances For
                    noncomputable def LO.Arith.exIntro {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s p t d : V) :
                    V

                    Imported declaration from the Incompleteness formalization.

                    Equations
                    Instances For
                      noncomputable def LO.Arith.wkRule {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s d : V) :
                      V

                      Imported declaration from the Incompleteness formalization.

                      Equations
                      Instances For
                        noncomputable def LO.Arith.shiftRule {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s d : V) :
                        V

                        Imported declaration from the Incompleteness formalization.

                        Equations
                        Instances For
                          noncomputable def LO.Arith.cutRule {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s p d₁ d₂ : V) :
                          V

                          Imported declaration from the Incompleteness formalization.

                          Equations
                          Instances For
                            noncomputable def LO.Arith.root {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s p : V) :
                            V

                            Imported declaration from the Incompleteness formalization.

                            Equations
                            Instances For

                              Imported declaration from the Incompleteness formalization.

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

                                Imported declaration from the Incompleteness formalization.

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

                                  Imported declaration from the Incompleteness formalization.

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

                                    Imported declaration from the Incompleteness formalization.

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

                                      Imported declaration from the Incompleteness formalization.

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

                                        Imported declaration from the Incompleteness formalization.

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

                                          Imported declaration from the Incompleteness formalization.

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

                                            Imported declaration from the Incompleteness formalization.

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

                                              Imported declaration from the Incompleteness formalization.

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

                                                Imported declaration from the Incompleteness formalization.

                                                Equations
                                                • One or more equations did not get rendered due to their size.
                                                Instances For
                                                  @[simp]
                                                  theorem LO.Arith.seq_lt_axL {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s p : V) :
                                                  s < axL s p
                                                  @[simp]
                                                  theorem LO.Arith.arity_lt_axL {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s p : V) :
                                                  p < axL s p
                                                  @[simp]
                                                  theorem LO.Arith.seq_lt_verumIntro {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s : V) :
                                                  @[simp]
                                                  theorem LO.Arith.seq_lt_andIntro {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s p q dp dq : V) :
                                                  s < andIntro s p q dp dq
                                                  @[simp]
                                                  theorem LO.Arith.p_lt_andIntro {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s p q dp dq : V) :
                                                  p < andIntro s p q dp dq
                                                  @[simp]
                                                  theorem LO.Arith.q_lt_andIntro {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s p q dp dq : V) :
                                                  q < andIntro s p q dp dq
                                                  @[simp]
                                                  theorem LO.Arith.dp_lt_andIntro {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s p q dp dq : V) :
                                                  dp < andIntro s p q dp dq
                                                  @[simp]
                                                  theorem LO.Arith.dq_lt_andIntro {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s p q dp dq : V) :
                                                  dq < andIntro s p q dp dq
                                                  @[simp]
                                                  theorem LO.Arith.seq_lt_orIntro {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s p q d : V) :
                                                  s < orIntro s p q d
                                                  @[simp]
                                                  theorem LO.Arith.p_lt_orIntro {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s p q d : V) :
                                                  p < orIntro s p q d
                                                  @[simp]
                                                  theorem LO.Arith.q_lt_orIntro {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s p q d : V) :
                                                  q < orIntro s p q d
                                                  @[simp]
                                                  theorem LO.Arith.d_lt_orIntro {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s p q d : V) :
                                                  d < orIntro s p q d
                                                  @[simp]
                                                  theorem LO.Arith.seq_lt_allIntro {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s p d : V) :
                                                  s < allIntro s p d
                                                  @[simp]
                                                  theorem LO.Arith.p_lt_allIntro {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s p d : V) :
                                                  p < allIntro s p d
                                                  @[simp]
                                                  theorem LO.Arith.s_lt_allIntro {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s p d : V) :
                                                  d < allIntro s p d
                                                  @[simp]
                                                  theorem LO.Arith.seq_lt_exIntro {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s p t d : V) :
                                                  s < exIntro s p t d
                                                  @[simp]
                                                  theorem LO.Arith.p_lt_exIntro {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s p t d : V) :
                                                  p < exIntro s p t d
                                                  @[simp]
                                                  theorem LO.Arith.t_lt_exIntro {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s p t d : V) :
                                                  t < exIntro s p t d
                                                  @[simp]
                                                  theorem LO.Arith.d_lt_exIntro {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s p t d : V) :
                                                  d < exIntro s p t d
                                                  @[simp]
                                                  theorem LO.Arith.seq_lt_wkRule {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s d : V) :
                                                  s < wkRule s d
                                                  @[simp]
                                                  theorem LO.Arith.d_lt_wkRule {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s d : V) :
                                                  d < wkRule s d
                                                  @[simp]
                                                  theorem LO.Arith.seq_lt_shiftRule {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s d : V) :
                                                  s < shiftRule s d
                                                  @[simp]
                                                  theorem LO.Arith.d_lt_shiftRule {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s d : V) :
                                                  d < shiftRule s d
                                                  @[simp]
                                                  theorem LO.Arith.seq_lt_cutRule {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s p d₁ d₂ : V) :
                                                  s < cutRule s p d₁ d₂
                                                  @[simp]
                                                  theorem LO.Arith.p_lt_cutRule {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s p d₁ d₂ : V) :
                                                  p < cutRule s p d₁ d₂
                                                  @[simp]
                                                  theorem LO.Arith.d₁_lt_cutRule {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s p d₁ d₂ : V) :
                                                  d₁ < cutRule s p d₁ d₂
                                                  @[simp]
                                                  theorem LO.Arith.d₂_lt_cutRule {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s p d₁ d₂ : V) :
                                                  d₂ < cutRule s p d₁ d₂
                                                  @[simp]
                                                  theorem LO.Arith.seq_lt_root {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s p : V) :
                                                  s < root s p
                                                  @[simp]
                                                  theorem LO.Arith.p_lt_root {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s p : V) :
                                                  p < root s p
                                                  @[simp]
                                                  theorem LO.Arith.fstIdx_axL {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s p : V) :
                                                  fstIdx (axL s p) = s
                                                  @[simp]
                                                  theorem LO.Arith.fstIdx_verumIntro {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s : V) :
                                                  @[simp]
                                                  theorem LO.Arith.fstIdx_andIntro {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s p q dp dq : V) :
                                                  fstIdx (andIntro s p q dp dq) = s
                                                  @[simp]
                                                  theorem LO.Arith.fstIdx_orIntro {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s p q dpq : V) :
                                                  fstIdx (orIntro s p q dpq) = s
                                                  @[simp]
                                                  theorem LO.Arith.fstIdx_allIntro {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s p d : V) :
                                                  fstIdx (allIntro s p d) = s
                                                  @[simp]
                                                  theorem LO.Arith.fstIdx_exIntro {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s p t d : V) :
                                                  fstIdx (exIntro s p t d) = s
                                                  @[simp]
                                                  theorem LO.Arith.fstIdx_wkRule {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s d : V) :
                                                  fstIdx (wkRule s d) = s
                                                  @[simp]
                                                  theorem LO.Arith.fstIdx_shiftRule {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s d : V) :
                                                  @[simp]
                                                  theorem LO.Arith.fstIdx_cutRule {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s p d₁ d₂ : V) :
                                                  fstIdx (cutRule s p d₁ d₂) = s
                                                  @[simp]
                                                  theorem LO.Arith.fstIdx_root {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (s p : V) :
                                                  fstIdx (root s p) = s
                                                  @[reducible, inline]
                                                  noncomputable abbrev LO.Arith.Derivation.conseq {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] (x : V) :
                                                  V

                                                  Imported declaration from the Incompleteness formalization.

                                                  Equations
                                                  Instances For
                                                    def LO.Arith.Derivation.Phi {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] (T : L.Theory) (C : Set V) (d : V) :

                                                    Imported declaration from the Incompleteness formalization.

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

                                                      Imported declaration from the Incompleteness formalization.

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

                                                        Imported declaration from the Incompleteness formalization.

                                                        Equations
                                                        Instances For
                                                          def LO.Arith.Language.Theory.Derivation {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] (T : L.Theory) {pT : pL.TDef} [T.Defined pT] :
                                                          VProp

                                                          Imported declaration from the Incompleteness formalization.

                                                          Equations
                                                          Instances For
                                                            def LO.Arith.Language.Theory.DerivationOf {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] (T : L.Theory) {pT : pL.TDef} [T.Defined pT] (d s : V) :

                                                            Imported declaration from the Incompleteness formalization.

                                                            Equations
                                                            Instances For
                                                              def LO.Arith.Language.Theory.Derivable {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] (T : L.Theory) {pT : pL.TDef} [T.Defined pT] (s : V) :

                                                              Imported declaration from the Incompleteness formalization.

                                                              Equations
                                                              Instances For
                                                                def LO.Arith.Language.Theory.Provable {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] (T : L.Theory) {pT : pL.TDef} [T.Defined pT] (p : V) :

                                                                Imported declaration from the Incompleteness formalization.

                                                                Equations
                                                                Instances For

                                                                  Imported declaration from the Incompleteness formalization.

                                                                  Equations
                                                                  Instances For
                                                                    instance LO.Arith.Language.Theory.derivation_definable' {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] (T : L.Theory) {pT : pL.TDef} [T.Defined pT] {Γ : SigmaPiDelta} {m : } :
                                                                    { Γ := Γ, rank := m + 1 }-Predicate T.Derivation

                                                                    Imported declaration from the Incompleteness formalization.

                                                                    Equations
                                                                    • One or more equations did not get rendered due to their size.
                                                                    Instances For
                                                                      instance LO.Arith.Language.Theory.derivationOf_definable' {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] (T : L.Theory) {pT : pL.TDef} [T.Defined pT] {Γ : SigmaPiDelta} {m : } :
                                                                      { Γ := Γ, rank := m + 1 }-Relation T.DerivationOf

                                                                      Imported declaration from the Incompleteness formalization.

                                                                      Equations
                                                                      • One or more equations did not get rendered due to their size.
                                                                      Instances For
                                                                        instance LO.Arith.Language.Theory.derivable_definable' {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] (T : L.Theory) {pT : pL.TDef} [T.Defined pT] :
                                                                        { Γ := Sg, rank := 0 + 1 }-Predicate T.Derivable

                                                                        instance for definability tactic

                                                                        Imported declaration from the Incompleteness formalization.

                                                                        Equations
                                                                        • One or more equations did not get rendered due to their size.
                                                                        Instances For
                                                                          instance LO.Arith.Language.Theory.provable_definable' {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] (T : L.Theory) {pT : pL.TDef} [T.Defined pT] :
                                                                          { Γ := Sg, rank := 0 + 1 }-Predicate T.Provable

                                                                          instance for definability tactic

                                                                          theorem LO.Arith.Language.Theory.Derivation.case_iff {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.Theory} {pT : pL.TDef} [T.Defined pT] {d : V} :
                                                                          T.Derivation d L.IsFormulaSet (fstIdx d) ((∃ (s : V) (p : V), d = Arith.axL s p p s L.neg p s) (∃ (s : V), d = Arith.verumIntro s qqVerum s) (∃ (s : V) (p : V) (q : V) (dp : V) (dq : V), d = Arith.andIntro s p q dp dq qqAnd p q s T.DerivationOf dp (insert p s) T.DerivationOf dq (insert q s)) (∃ (s : V) (p : V) (q : V) (dpq : V), d = Arith.orIntro s p q dpq qqOr p q s T.DerivationOf dpq (insert p (insert q s))) (∃ (s : V) (p : V) (dp : V), d = Arith.allIntro s p dp qqAll p s T.DerivationOf dp (insert (L.free p) (L.setShift s))) (∃ (s : V) (p : V) (t : V) (dp : V), d = Arith.exIntro s p t dp qqEx p s L.IsTerm t T.DerivationOf dp (insert (L.substs₁ t p) s)) (∃ (s : V) (d' : V), d = Arith.wkRule s d' fstIdx d' s T.Derivation d') (∃ (s : V) (d' : V), d = Arith.shiftRule s d' s = L.setShift (fstIdx d') T.Derivation d') (∃ (s : V) (p : V) (d₁ : V) (d₂ : V), d = Arith.cutRule s p d₁ d₂ T.DerivationOf d₁ (insert p s) T.DerivationOf d₂ (insert (L.neg p) s)) ∃ (s : V) (p : V), d = Arith.root s p p s p T)
                                                                          theorem LO.Arith.Language.Theory.Derivation.case {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.Theory} {pT : pL.TDef} [T.Defined pT] {d : V} :
                                                                          T.Derivation dL.IsFormulaSet (fstIdx d) ((∃ (s : V) (p : V), d = Arith.axL s p p s L.neg p s) (∃ (s : V), d = Arith.verumIntro s qqVerum s) (∃ (s : V) (p : V) (q : V) (dp : V) (dq : V), d = Arith.andIntro s p q dp dq qqAnd p q s T.DerivationOf dp (insert p s) T.DerivationOf dq (insert q s)) (∃ (s : V) (p : V) (q : V) (dpq : V), d = Arith.orIntro s p q dpq qqOr p q s T.DerivationOf dpq (insert p (insert q s))) (∃ (s : V) (p : V) (dp : V), d = Arith.allIntro s p dp qqAll p s T.DerivationOf dp (insert (L.free p) (L.setShift s))) (∃ (s : V) (p : V) (t : V) (dp : V), d = Arith.exIntro s p t dp qqEx p s L.IsTerm t T.DerivationOf dp (insert (L.substs₁ t p) s)) (∃ (s : V) (d' : V), d = Arith.wkRule s d' fstIdx d' s T.Derivation d') (∃ (s : V) (d' : V), d = Arith.shiftRule s d' s = L.setShift (fstIdx d') T.Derivation d') (∃ (s : V) (p : V) (d₁ : V) (d₂ : V), d = Arith.cutRule s p d₁ d₂ T.DerivationOf d₁ (insert p s) T.DerivationOf d₂ (insert (L.neg p) s)) ∃ (s : V) (p : V), d = Arith.root s p p s p T)

                                                                          Alias of the forward direction of LO.Arith.Language.Theory.Derivation.case_iff.

                                                                          theorem LO.Arith.Language.Theory.Derivation.mk {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.Theory} {pT : pL.TDef} [T.Defined pT] {d : V} :
                                                                          L.IsFormulaSet (fstIdx d) ((∃ (s : V) (p : V), d = Arith.axL s p p s L.neg p s) (∃ (s : V), d = Arith.verumIntro s qqVerum s) (∃ (s : V) (p : V) (q : V) (dp : V) (dq : V), d = Arith.andIntro s p q dp dq qqAnd p q s T.DerivationOf dp (insert p s) T.DerivationOf dq (insert q s)) (∃ (s : V) (p : V) (q : V) (dpq : V), d = Arith.orIntro s p q dpq qqOr p q s T.DerivationOf dpq (insert p (insert q s))) (∃ (s : V) (p : V) (dp : V), d = Arith.allIntro s p dp qqAll p s T.DerivationOf dp (insert (L.free p) (L.setShift s))) (∃ (s : V) (p : V) (t : V) (dp : V), d = Arith.exIntro s p t dp qqEx p s L.IsTerm t T.DerivationOf dp (insert (L.substs₁ t p) s)) (∃ (s : V) (d' : V), d = Arith.wkRule s d' fstIdx d' s T.Derivation d') (∃ (s : V) (d' : V), d = Arith.shiftRule s d' s = L.setShift (fstIdx d') T.Derivation d') (∃ (s : V) (p : V) (d₁ : V) (d₂ : V), d = Arith.cutRule s p d₁ d₂ T.DerivationOf d₁ (insert p s) T.DerivationOf d₂ (insert (L.neg p) s)) ∃ (s : V) (p : V), d = Arith.root s p p s p T) → T.Derivation d

                                                                          Alias of the reverse direction of LO.Arith.Language.Theory.Derivation.case_iff.

                                                                          theorem LO.Arith.Language.Theory.Derivation.induction1 {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.Theory} {pT : pL.TDef} [T.Defined pT] (Γ : SigmaPiDelta) {P : VProp} (hP : { Γ := Γ, rank := 1 }-Predicate P) {d : V} (hd : T.Derivation d) (hAxL : ∀ (s : V), L.IsFormulaSet sps, L.neg p sP (Arith.axL s p)) (hVerumIntro : ∀ (s : V), L.IsFormulaSet sqqVerum sP (Arith.verumIntro s)) (hAnd : ∀ (s : V), L.IsFormulaSet s∀ (p q dp dq : V), qqAnd p q sT.DerivationOf dp (insert p s)T.DerivationOf dq (insert q s)P dpP dqP (Arith.andIntro s p q dp dq)) (hOr : ∀ (s : V), L.IsFormulaSet s∀ (p q d : V), qqOr p q sT.DerivationOf d (insert p (insert q s))P dP (Arith.orIntro s p q d)) (hAll : ∀ (s : V), L.IsFormulaSet s∀ (p d : V), qqAll p sT.DerivationOf d (insert (L.free p) (L.setShift s))P dP (Arith.allIntro s p d)) (hEx : ∀ (s : V), L.IsFormulaSet s∀ (p t d : V), qqEx p sL.IsTerm tT.DerivationOf d (insert (L.substs₁ t p) s)P dP (Arith.exIntro s p t d)) (hWk : ∀ (s : V), L.IsFormulaSet s∀ (d : V), fstIdx d sT.Derivation dP dP (Arith.wkRule s d)) (hShift : ∀ (s : V), L.IsFormulaSet s∀ (d : V), s = L.setShift (fstIdx d)T.Derivation dP dP (Arith.shiftRule s d)) (hCut : ∀ (s : V), L.IsFormulaSet s∀ (p d₁ d₂ : V), T.DerivationOf d₁ (insert p s)T.DerivationOf d₂ (insert (L.neg p) s)P d₁P d₂P (Arith.cutRule s p d₁ d₂)) (hRoot : ∀ (s : V), L.IsFormulaSet sps, p TP (Arith.root s p)) :
                                                                          P d
                                                                          theorem LO.Arith.Language.Theory.DerivationOf.isFormulaSet {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.Theory} {pT : pL.TDef} [T.Defined pT] {d s : V} (h : T.DerivationOf d s) :
                                                                          theorem LO.Arith.Language.Theory.Derivation.axL {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.Theory} {pT : pL.TDef} [T.Defined pT] {s p : V} (hs : L.IsFormulaSet s) (h : p s) (hn : L.neg p s) :
                                                                          theorem LO.Arith.Language.Theory.Derivation.andIntro {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.Theory} {pT : pL.TDef} [T.Defined pT] {s p q dp dq : V} (h : qqAnd p q s) (hdp : T.DerivationOf dp (insert p s)) (hdq : T.DerivationOf dq (insert q s)) :
                                                                          T.Derivation (Arith.andIntro s p q dp dq)
                                                                          theorem LO.Arith.Language.Theory.Derivation.orIntro {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.Theory} {pT : pL.TDef} [T.Defined pT] {s p q dpq : V} (h : qqOr p q s) (hdpq : T.DerivationOf dpq (insert p (insert q s))) :
                                                                          theorem LO.Arith.Language.Theory.Derivation.allIntro {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.Theory} {pT : pL.TDef} [T.Defined pT] {s p dp : V} (h : qqAll p s) (hdp : T.DerivationOf dp (insert (L.free p) (L.setShift s))) :
                                                                          theorem LO.Arith.Language.Theory.Derivation.exIntro {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.Theory} {pT : pL.TDef} [T.Defined pT] {s p t dp : V} (h : qqEx p s) (ht : L.IsTerm t) (hdp : T.DerivationOf dp (insert (L.substs₁ t p) s)) :
                                                                          theorem LO.Arith.Language.Theory.Derivation.wkRule {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.Theory} {pT : pL.TDef} [T.Defined pT] {s s' d : V} (hs : L.IsFormulaSet s) (h : s' s) (hd : T.DerivationOf d s') :
                                                                          theorem LO.Arith.Language.Theory.Derivation.shiftRule {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.Theory} {pT : pL.TDef} [T.Defined pT] {s d : V} (hd : T.DerivationOf d s) :
                                                                          theorem LO.Arith.Language.Theory.Derivation.cutRule {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.Theory} {pT : pL.TDef} [T.Defined pT] {s p d₁ d₂ : V} (hd₁ : T.DerivationOf d₁ (insert p s)) (hd₂ : T.DerivationOf d₂ (insert (L.neg p) s)) :
                                                                          T.Derivation (Arith.cutRule s p d₁ d₂)
                                                                          theorem LO.Arith.Language.Theory.Derivation.root {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.Theory} {pT : pL.TDef} [T.Defined pT] {s p : V} (hs : L.IsFormulaSet s) (hp : p s) (hT : p T) :
                                                                          theorem LO.Arith.Language.Theory.Derivation.of_ss {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.Theory} {pT : pL.TDef} [T.Defined pT] {U : L.Theory} {pU : pL.TDef} [U.Defined pU] (h : T U) {d : V} :
                                                                          theorem LO.Arith.Language.Theory.Derivable.isFormulaSet {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.Theory} {pT : pL.TDef} [T.Defined pT] {s : V} (h : T.Derivable s) :
                                                                          theorem LO.Arith.Language.Theory.Derivable.em {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.Theory} {pT : pL.TDef} [T.Defined pT] {s : V} (hs : L.IsFormulaSet s) (p : V) (h : p s) (hn : L.neg p s) :
                                                                          theorem LO.Arith.Language.Theory.Derivable.verum {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.Theory} {pT : pL.TDef} [T.Defined pT] {s : V} (hs : L.IsFormulaSet s) (h : qqVerum s) :
                                                                          theorem LO.Arith.Language.Theory.Derivable.and_m {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.Theory} {pT : pL.TDef} [T.Defined pT] {s p q : V} (h : qqAnd p q s) (hp : T.Derivable (insert p s)) (hq : T.Derivable (insert q s)) :
                                                                          theorem LO.Arith.Language.Theory.Derivable.or_m {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.Theory} {pT : pL.TDef} [T.Defined pT] {s p q : V} (h : qqOr p q s) (hpq : T.Derivable (insert p (insert q s))) :
                                                                          theorem LO.Arith.Language.Theory.Derivable.all_m {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.Theory} {pT : pL.TDef} [T.Defined pT] {s p : V} (h : qqAll p s) (hp : T.Derivable (insert (L.free p) (L.setShift s))) :
                                                                          theorem LO.Arith.Language.Theory.Derivable.ex_m {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.Theory} {pT : pL.TDef} [T.Defined pT] {s p t : V} (h : qqEx p s) (ht : L.IsTerm t) (hp : T.Derivable (insert (L.substs₁ t p) s)) :
                                                                          theorem LO.Arith.Language.Theory.Derivable.wk {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.Theory} {pT : pL.TDef} [T.Defined pT] {s s' : V} (hs : L.IsFormulaSet s) (h : s' s) (hd : T.Derivable s') :
                                                                          theorem LO.Arith.Language.Theory.Derivable.shift {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.Theory} {pT : pL.TDef} [T.Defined pT] {s : V} (hd : T.Derivable s) :
                                                                          theorem LO.Arith.Language.Theory.Derivable.ofSetEq {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.Theory} {pT : pL.TDef} [T.Defined pT] {s s' : V} (h : ∀ (x : V), x s' x s) (hd : T.Derivable s') :
                                                                          theorem LO.Arith.Language.Theory.Derivable.cut {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.Theory} {pT : pL.TDef} [T.Defined pT] {s : V} (p : V) (hd₁ : T.Derivable (insert p s)) (hd₂ : T.Derivable (insert (L.neg p) s)) :
                                                                          theorem LO.Arith.Language.Theory.Derivable.by_axm {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.Theory} {pT : pL.TDef} [T.Defined pT] {s : V} (hs : L.IsFormulaSet s) (p : V) (hp : p s) (hT : p T) :
                                                                          theorem LO.Arith.Language.Theory.Derivable.of_ss {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.Theory} {pT : pL.TDef} [T.Defined pT] {U : L.Theory} {pU : pL.TDef} [U.Defined pU] (h : T U) {s : V} :
                                                                          T.Derivable sU.Derivable s
                                                                          theorem LO.Arith.Language.Theory.Derivable.and {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.Theory} {pT : pL.TDef} [T.Defined pT] {s p q : V} (hp : T.Derivable (insert p s)) (hq : T.Derivable (insert q s)) :
                                                                          T.Derivable (insert (qqAnd p q) s)
                                                                          theorem LO.Arith.Language.Theory.Derivable.or {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.Theory} {pT : pL.TDef} [T.Defined pT] {s p q : V} (hpq : T.Derivable (insert p (insert q s))) :
                                                                          T.Derivable (insert (qqOr p q) s)
                                                                          theorem LO.Arith.Language.Theory.Derivable.conj {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.Theory} {pT : pL.TDef} [T.Defined pT] (ps : V) {s : V} (hs : L.IsFormulaSet s) (ds : i < len ps, T.Derivable (insert (nth ps i) s)) :

                                                                          Crucial inducion for formalized $\Sigma_1$-completeness.

                                                                          theorem LO.Arith.Language.Theory.Derivable.disjDistr {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.Theory} {pT : pL.TDef} [T.Defined pT] (ps s : V) (d : T.Derivable (vecToSet ps s)) :
                                                                          theorem LO.Arith.Language.Theory.Derivable.disj {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.Theory} {pT : pL.TDef} [T.Defined pT] (ps s : V) {i : V} (hps : i < len ps, L.IsFormula (nth ps i)) (hi : i < len ps) (d : T.Derivable (insert (nth ps i) s)) :
                                                                          theorem LO.Arith.Language.Theory.Derivable.all {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.Theory} {pT : pL.TDef} [T.Defined pT] {s p : V} (hp : L.IsSemiformula 1 p) (dp : T.Derivable (insert (L.free p) (L.setShift s))) :
                                                                          theorem LO.Arith.Language.Theory.Derivable.ex {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈Sg1] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.Theory} {pT : pL.TDef} [T.Defined pT] {s p t : V} (hp : L.IsSemiformula 1 p) (ht : L.IsTerm t) (dp : T.Derivable (insert (L.substs₁ t p) s)) :