Documentation

Foundation.FirstOrder.Bootstrapping.Syntax.Proof.Basic

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    theorem LO.FirstOrder.Arithmetic.Bootstrapping.setShift_existsUnique {V : Type u_1} [ORingStructure V] [V ⊧ₘ* 𝗜𝚺₁] (L : Language) [L.Encodable] [L.LORDefinable] (s : V) :
    ∃! t : V, ∀ (y : V), y t xs, y = shift L x
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      noncomputable def LO.FirstOrder.Arithmetic.Bootstrapping.cutRule {V : Type u_1} [ORingStructure V] [V ⊧ₘ* 𝗜𝚺₁] (s p d₁ d₂ : V) :
      V
      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
            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
                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
                    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
                        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]
                            @[simp]
                            theorem LO.FirstOrder.Arithmetic.Bootstrapping.p_lt_andIntro {V : Type u_1} [ORingStructure V] [V ⊧ₘ* 𝗜𝚺₁] (s p q dp dq : V) :
                            p < andIntro s p q dp dq
                            @[simp]
                            theorem LO.FirstOrder.Arithmetic.Bootstrapping.q_lt_andIntro {V : Type u_1} [ORingStructure V] [V ⊧ₘ* 𝗜𝚺₁] (s p q dp dq : V) :
                            q < andIntro s p q dp dq
                            @[simp]
                            theorem LO.FirstOrder.Arithmetic.Bootstrapping.dp_lt_andIntro {V : Type u_1} [ORingStructure V] [V ⊧ₘ* 𝗜𝚺₁] (s p q dp dq : V) :
                            dp < andIntro s p q dp dq
                            @[simp]
                            theorem LO.FirstOrder.Arithmetic.Bootstrapping.dq_lt_andIntro {V : Type u_1} [ORingStructure V] [V ⊧ₘ* 𝗜𝚺₁] (s p q dp dq : V) :
                            dq < andIntro s p q dp dq
                            @[simp]
                            theorem LO.FirstOrder.Arithmetic.Bootstrapping.seq_lt_cutRule {V : Type u_1} [ORingStructure V] [V ⊧ₘ* 𝗜𝚺₁] (s p d₁ d₂ : V) :
                            s < cutRule s p d₁ d₂
                            @[simp]
                            theorem LO.FirstOrder.Arithmetic.Bootstrapping.p_lt_cutRule {V : Type u_1} [ORingStructure V] [V ⊧ₘ* 𝗜𝚺₁] (s p d₁ d₂ : V) :
                            p < cutRule s p d₁ d₂
                            @[simp]
                            theorem LO.FirstOrder.Arithmetic.Bootstrapping.d₁_lt_cutRule {V : Type u_1} [ORingStructure V] [V ⊧ₘ* 𝗜𝚺₁] (s p d₁ d₂ : V) :
                            d₁ < cutRule s p d₁ d₂
                            @[simp]
                            theorem LO.FirstOrder.Arithmetic.Bootstrapping.d₂_lt_cutRule {V : Type u_1} [ORingStructure V] [V ⊧ₘ* 𝗜𝚺₁] (s p d₁ d₂ : V) :
                            d₂ < cutRule s p d₁ d₂
                            @[simp]
                            @[simp]
                            theorem LO.FirstOrder.Arithmetic.Bootstrapping.fstIdx_cutRule {V : Type u_1} [ORingStructure V] [V ⊧ₘ* 𝗜𝚺₁] (s p d₁ d₂ : V) :
                            fstIdx (cutRule s p d₁ d₂) = s
                            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
                                Equations
                                Instances For
                                  Equations
                                  Instances For
                                    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
                                          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
                                              @[reducible, inline]
                                              Equations
                                              Instances For

                                                instance for definability tactic

                                                instance LO.FirstOrder.Theory.Proof.definable' {V : Type u_1} [ORingStructure V] [V ⊧ₘ* 𝗜𝚺₁] {L : Language} [L.Encodable] [L.LORDefinable] {T : Theory L} [T.Δ₁] {Γ : SigmaPiDelta} {m : } :
                                                { Γ := Γ, rank := m + 1 }-Relation T.Proof

                                                instance for definability tactic

                                                theorem LO.FirstOrder.Theory.Derivation.case_iff {V : Type u_1} [ORingStructure V] [V ⊧ₘ* 𝗜𝚺₁] {L : Language} [L.Encodable] [L.LORDefinable] {T : Theory L} [T.Δ₁] {d : V} :
                                                T.Derivation d Arithmetic.Bootstrapping.IsFormulaSet L (Arithmetic.fstIdx d) ((∃ (s : V) (p : V), d = Arithmetic.Bootstrapping.axL s p p s Arithmetic.Bootstrapping.neg L p s) (∃ (s : V), d = Arithmetic.Bootstrapping.verumIntro s Arithmetic.Bootstrapping.qqVerum s) (∃ (s : V) (p : V) (q : V) (dp : V) (dq : V), d = Arithmetic.Bootstrapping.andIntro s p q dp dq Arithmetic.Bootstrapping.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 = Arithmetic.Bootstrapping.orIntro s p q dpq Arithmetic.Bootstrapping.qqOr p q s T.DerivationOf dpq (insert p (insert q s))) (∃ (s : V) (p : V) (dp : V), d = Arithmetic.Bootstrapping.allIntro s p dp Arithmetic.Bootstrapping.qqAll p s T.DerivationOf dp (insert (Arithmetic.Bootstrapping.free L p) (Arithmetic.Bootstrapping.setShift L s))) (∃ (s : V) (p : V) (t : V) (dp : V), d = Arithmetic.Bootstrapping.exsIntro s p t dp Arithmetic.Bootstrapping.qqExs p s Arithmetic.Bootstrapping.IsTerm L t T.DerivationOf dp (insert (Arithmetic.Bootstrapping.substs1 L t p) s)) (∃ (s : V) (d' : V), d = Arithmetic.Bootstrapping.wkRule s d' Arithmetic.fstIdx d' s T.Derivation d') (∃ (s : V) (d' : V), d = Arithmetic.Bootstrapping.shiftRule s d' s = Arithmetic.Bootstrapping.setShift L (Arithmetic.fstIdx d') T.Derivation d') (∃ (s : V) (p : V) (d₁ : V) (d₂ : V), d = Arithmetic.Bootstrapping.cutRule s p d₁ d₂ T.DerivationOf d₁ (insert p s) T.DerivationOf d₂ (insert (Arithmetic.Bootstrapping.neg L p) s)) ∃ (s : V) (p : V), d = Arithmetic.Bootstrapping.axm s p p s p T.Δ₁Class)
                                                theorem LO.FirstOrder.Theory.Derivation.case {V : Type u_1} [ORingStructure V] [V ⊧ₘ* 𝗜𝚺₁] {L : Language} [L.Encodable] [L.LORDefinable] {T : Theory L} [T.Δ₁] {d : V} :
                                                T.Derivation dArithmetic.Bootstrapping.IsFormulaSet L (Arithmetic.fstIdx d) ((∃ (s : V) (p : V), d = Arithmetic.Bootstrapping.axL s p p s Arithmetic.Bootstrapping.neg L p s) (∃ (s : V), d = Arithmetic.Bootstrapping.verumIntro s Arithmetic.Bootstrapping.qqVerum s) (∃ (s : V) (p : V) (q : V) (dp : V) (dq : V), d = Arithmetic.Bootstrapping.andIntro s p q dp dq Arithmetic.Bootstrapping.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 = Arithmetic.Bootstrapping.orIntro s p q dpq Arithmetic.Bootstrapping.qqOr p q s T.DerivationOf dpq (insert p (insert q s))) (∃ (s : V) (p : V) (dp : V), d = Arithmetic.Bootstrapping.allIntro s p dp Arithmetic.Bootstrapping.qqAll p s T.DerivationOf dp (insert (Arithmetic.Bootstrapping.free L p) (Arithmetic.Bootstrapping.setShift L s))) (∃ (s : V) (p : V) (t : V) (dp : V), d = Arithmetic.Bootstrapping.exsIntro s p t dp Arithmetic.Bootstrapping.qqExs p s Arithmetic.Bootstrapping.IsTerm L t T.DerivationOf dp (insert (Arithmetic.Bootstrapping.substs1 L t p) s)) (∃ (s : V) (d' : V), d = Arithmetic.Bootstrapping.wkRule s d' Arithmetic.fstIdx d' s T.Derivation d') (∃ (s : V) (d' : V), d = Arithmetic.Bootstrapping.shiftRule s d' s = Arithmetic.Bootstrapping.setShift L (Arithmetic.fstIdx d') T.Derivation d') (∃ (s : V) (p : V) (d₁ : V) (d₂ : V), d = Arithmetic.Bootstrapping.cutRule s p d₁ d₂ T.DerivationOf d₁ (insert p s) T.DerivationOf d₂ (insert (Arithmetic.Bootstrapping.neg L p) s)) ∃ (s : V) (p : V), d = Arithmetic.Bootstrapping.axm s p p s p T.Δ₁Class)

                                                Alias of the forward direction of LO.FirstOrder.Theory.Derivation.case_iff.

                                                theorem LO.FirstOrder.Theory.Derivation.mk {V : Type u_1} [ORingStructure V] [V ⊧ₘ* 𝗜𝚺₁] {L : Language} [L.Encodable] [L.LORDefinable] {T : Theory L} [T.Δ₁] {d : V} :
                                                Arithmetic.Bootstrapping.IsFormulaSet L (Arithmetic.fstIdx d) ((∃ (s : V) (p : V), d = Arithmetic.Bootstrapping.axL s p p s Arithmetic.Bootstrapping.neg L p s) (∃ (s : V), d = Arithmetic.Bootstrapping.verumIntro s Arithmetic.Bootstrapping.qqVerum s) (∃ (s : V) (p : V) (q : V) (dp : V) (dq : V), d = Arithmetic.Bootstrapping.andIntro s p q dp dq Arithmetic.Bootstrapping.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 = Arithmetic.Bootstrapping.orIntro s p q dpq Arithmetic.Bootstrapping.qqOr p q s T.DerivationOf dpq (insert p (insert q s))) (∃ (s : V) (p : V) (dp : V), d = Arithmetic.Bootstrapping.allIntro s p dp Arithmetic.Bootstrapping.qqAll p s T.DerivationOf dp (insert (Arithmetic.Bootstrapping.free L p) (Arithmetic.Bootstrapping.setShift L s))) (∃ (s : V) (p : V) (t : V) (dp : V), d = Arithmetic.Bootstrapping.exsIntro s p t dp Arithmetic.Bootstrapping.qqExs p s Arithmetic.Bootstrapping.IsTerm L t T.DerivationOf dp (insert (Arithmetic.Bootstrapping.substs1 L t p) s)) (∃ (s : V) (d' : V), d = Arithmetic.Bootstrapping.wkRule s d' Arithmetic.fstIdx d' s T.Derivation d') (∃ (s : V) (d' : V), d = Arithmetic.Bootstrapping.shiftRule s d' s = Arithmetic.Bootstrapping.setShift L (Arithmetic.fstIdx d') T.Derivation d') (∃ (s : V) (p : V) (d₁ : V) (d₂ : V), d = Arithmetic.Bootstrapping.cutRule s p d₁ d₂ T.DerivationOf d₁ (insert p s) T.DerivationOf d₂ (insert (Arithmetic.Bootstrapping.neg L p) s)) ∃ (s : V) (p : V), d = Arithmetic.Bootstrapping.axm s p p s p T.Δ₁Class) → T.Derivation d

                                                Alias of the reverse direction of LO.FirstOrder.Theory.Derivation.case_iff.

                                                theorem LO.FirstOrder.Theory.Derivation.induction1 {V : Type u_1} [ORingStructure V] [V ⊧ₘ* 𝗜𝚺₁] {L : Language} [L.Encodable] [L.LORDefinable] {T : Theory L} [T.Δ₁] (Γ : SigmaPiDelta) {P : VProp} (hP : { Γ := Γ, rank := 1 }-Predicate P) {d : V} (hd : T.Derivation d) (hAxL : ∀ (s : V), Arithmetic.Bootstrapping.IsFormulaSet L sps, Arithmetic.Bootstrapping.neg L p sP (Arithmetic.Bootstrapping.axL s p)) (hVerumIntro : ∀ (s : V), Arithmetic.Bootstrapping.IsFormulaSet L sArithmetic.Bootstrapping.qqVerum sP (Arithmetic.Bootstrapping.verumIntro s)) (hAnd : ∀ (s : V), Arithmetic.Bootstrapping.IsFormulaSet L s∀ (p q dp dq : V), Arithmetic.Bootstrapping.qqAnd p q sT.DerivationOf dp (insert p s)T.DerivationOf dq (insert q s)P dpP dqP (Arithmetic.Bootstrapping.andIntro s p q dp dq)) (hOr : ∀ (s : V), Arithmetic.Bootstrapping.IsFormulaSet L s∀ (p q d : V), Arithmetic.Bootstrapping.qqOr p q sT.DerivationOf d (insert p (insert q s))P dP (Arithmetic.Bootstrapping.orIntro s p q d)) (hAll : ∀ (s : V), Arithmetic.Bootstrapping.IsFormulaSet L s∀ (p d : V), Arithmetic.Bootstrapping.qqAll p sT.DerivationOf d (insert (Arithmetic.Bootstrapping.free L p) (Arithmetic.Bootstrapping.setShift L s))P dP (Arithmetic.Bootstrapping.allIntro s p d)) (hExs : ∀ (s : V), Arithmetic.Bootstrapping.IsFormulaSet L s∀ (p t d : V), Arithmetic.Bootstrapping.qqExs p sArithmetic.Bootstrapping.IsTerm L tT.DerivationOf d (insert (Arithmetic.Bootstrapping.substs1 L t p) s)P dP (Arithmetic.Bootstrapping.exsIntro s p t d)) (hWk : ∀ (s : V), Arithmetic.Bootstrapping.IsFormulaSet L s∀ (d : V), Arithmetic.fstIdx d sT.Derivation dP dP (Arithmetic.Bootstrapping.wkRule s d)) (hShift : ∀ (s : V), Arithmetic.Bootstrapping.IsFormulaSet L s∀ (d : V), s = Arithmetic.Bootstrapping.setShift L (Arithmetic.fstIdx d)T.Derivation dP dP (Arithmetic.Bootstrapping.shiftRule s d)) (hCut : ∀ (s : V), Arithmetic.Bootstrapping.IsFormulaSet L s∀ (p d₁ d₂ : V), T.DerivationOf d₁ (insert p s)T.DerivationOf d₂ (insert (Arithmetic.Bootstrapping.neg L p) s)P d₁P d₂P (Arithmetic.Bootstrapping.cutRule s p d₁ d₂)) (hRoot : ∀ (s : V), Arithmetic.Bootstrapping.IsFormulaSet L sps, p T.Δ₁ClassP (Arithmetic.Bootstrapping.axm s p)) :
                                                P d
                                                theorem LO.FirstOrder.Theory.Derivation.cutRule {V : Type u_1} [ORingStructure V] [V ⊧ₘ* 𝗜𝚺₁] {L : Language} [L.Encodable] [L.LORDefinable] {T : Theory L} [T.Δ₁] {s p d₁ d₂ : V} (hd₁ : T.DerivationOf d₁ (insert p s)) (hd₂ : T.DerivationOf d₂ (insert (Arithmetic.Bootstrapping.neg L p) s)) :
                                                theorem LO.FirstOrder.Theory.Derivable.and_m {V : Type u_1} [ORingStructure V] [V ⊧ₘ* 𝗜𝚺₁] {L : Language} [L.Encodable] [L.LORDefinable] {T : Theory L} [T.Δ₁] {s p q : V} (h : Arithmetic.Bootstrapping.qqAnd p q s) (hp : T.Derivable (insert p s)) (hq : T.Derivable (insert q s)) :
                                                theorem LO.FirstOrder.Theory.Derivable.ofSetEq {V : Type u_1} [ORingStructure V] [V ⊧ₘ* 𝗜𝚺₁] {L : Language} [L.Encodable] [L.LORDefinable] {T : Theory L} [T.Δ₁] {s s' : V} (h : ∀ (x : V), x s' x s) (hd : T.Derivable s') :
                                                theorem LO.FirstOrder.Theory.Derivable.exchange {V : Type u_1} [ORingStructure V] [V ⊧ₘ* 𝗜𝚺₁] {L : Language} [L.Encodable] [L.LORDefinable] {T : Theory L} [T.Δ₁] {s p q : V} (h : T.Derivable (insert p (insert q s))) :
                                                T.Derivable (insert q (insert p s))
                                                theorem LO.FirstOrder.Theory.Derivable.cut {V : Type u_1} [ORingStructure V] [V ⊧ₘ* 𝗜𝚺₁] {L : Language} [L.Encodable] [L.LORDefinable] {T : Theory L} [T.Δ₁] {s : V} (p : V) (hd₁ : T.Derivable (insert p s)) (hd₂ : T.Derivable (insert (Arithmetic.Bootstrapping.neg L p) s)) :

                                                Crucial inducion for formalized $\Sigma_1$-completeness.