@@ -66,9 +66,13 @@ lemma ISigma_subset_mono {s₁ s₂} (h : s₁ ≤ s₂) : 𝗜𝚺 s₁ ⊆
6666lemma ISigma_weakerThan_of_le {s₁ s₂} (h : s₁ ≤ s₂) : 𝗜𝚺 s₁ ⪯ 𝗜𝚺 s₂ :=
6767 Entailment.WeakerThan.ofSubset (ISigma_subset_mono h)
6868
69- instance : 𝗘𝗤 ⪯ 𝗜𝗡𝗗 Γ n := Entailment.WeakerThan.trans (inferInstanceAs (𝗘𝗤 ⪯ 𝗣𝗔⁻)) inferInstance
69+ instance : 𝗘𝗤 ⪯ 𝗜𝗡𝗗 Γ n :=
70+ have : 𝗘𝗤 ⪯ 𝗣𝗔⁻ := inferInstance
71+ Entailment.WeakerThan.trans this inferInstance
7072
71- instance : 𝗘𝗤 ⪯ 𝗜𝗢𝗽𝗲𝗻 := Entailment.WeakerThan.trans (inferInstanceAs (𝗘𝗤 ⪯ 𝗣𝗔⁻)) inferInstance
73+ instance : 𝗘𝗤 ⪯ 𝗜𝗢𝗽𝗲𝗻 :=
74+ have : 𝗘𝗤 ⪯ 𝗣𝗔⁻ := inferInstance
75+ Entailment.WeakerThan.trans this inferInstance
7276
7377instance : 𝗜𝗢𝗽𝗲𝗻 ⪯ 𝗜𝗡𝗗 Γ n :=
7478 Entailment.WeakerThan.ofSubset <| Set.union_subset_union_right _ <| InductionScheme_subset Arithmetic.Hierarchy.of_open
@@ -126,11 +130,14 @@ section
126130
127131variable (Γ : Polarity) (m : ℕ) [V ⊧ₘ* 𝗜𝗡𝗗 Γ m]
128132
129- instance : V ⊧ₘ* InductionScheme ℒₒᵣ (Hierarchy Γ m) := models_of_subtheory <| inferInstanceAs (V ⊧ₘ* 𝗜𝗡𝗗 Γ m)
133+ instance : V ⊧ₘ* InductionScheme ℒₒᵣ (Hierarchy Γ m) :=
134+ have : V ⊧ₘ* 𝗜𝗡𝗗 Γ m := inferInstance
135+ models_of_subtheory this
130136
131137lemma succ_induction {P : V → Prop } (hP : Γ-[m].DefinablePred P)
132138 (zero : P 0 ) (succ : ∀ x, P x → P (x + 1 )) : ∀ x, P x :=
133- haveI : V ⊧ₘ* 𝗣𝗔⁻ := models_of_subtheory <| inferInstanceAs (V ⊧ₘ* 𝗜𝗡𝗗 Γ m)
139+ have : V ⊧ₘ* 𝗜𝗡𝗗 Γ m := inferInstance
140+ have : V ⊧ₘ* 𝗣𝗔⁻ := models_of_subtheory this
134141 InductionScheme.succ_induction (P := P) (C := Hierarchy Γ m) (by
135142 rcases hP with ⟨φ, hp⟩
136143 haveI : Inhabited V := Classical.inhabited_of_nonempty'
@@ -140,7 +147,8 @@ lemma succ_induction {P : V → Prop} (hP : Γ-[m].DefinablePred P)
140147
141148lemma order_induction {P : V → Prop } (hP : Γ-[m].DefinablePred P)
142149 (ind : ∀ x, (∀ y < x, P y) → P x) : ∀ x, P x := by
143- haveI : V ⊧ₘ* 𝗣𝗔⁻ := models_of_subtheory <| inferInstanceAs (V ⊧ₘ* 𝗜𝗡𝗗 Γ m)
150+ have : V ⊧ₘ* 𝗜𝗡𝗗 Γ m := inferInstance
151+ have : V ⊧ₘ* 𝗣𝗔⁻ := models_of_subtheory this
144152 suffices ∀ x, ∀ y < x, P y by
145153 intro x; exact this (x + 1 ) x (by simp only [lt_add_iff_pos_right, lt_one_iff_eq_zero])
146154 intro x; induction x using succ_induction
@@ -158,7 +166,8 @@ lemma order_induction {P : V → Prop} (hP : Γ-[m].DefinablePred P)
158166
159167private lemma neg_succ_induction {P : V → Prop } (hP : Γ-[m].DefinablePred P)
160168 (nzero : ¬P 0 ) (nsucc : ∀ x, ¬P x → ¬P (x + 1 )) : ∀ x, ¬P x := by
161- haveI : V ⊧ₘ* 𝗣𝗔⁻ := models_of_subtheory <| inferInstanceAs (V ⊧ₘ* 𝗜𝗡𝗗 Γ m)
169+ have : V ⊧ₘ* 𝗜𝗡𝗗 Γ m := inferInstance
170+ have : V ⊧ₘ* 𝗣𝗔⁻ := models_of_subtheory this
162171 by_contra A
163172 have : ∃ x, P x := by simpa using A
164173 rcases this with ⟨a, ha⟩
@@ -202,12 +211,14 @@ instance models_InductionScheme_alt : V ⊧ₘ* InductionScheme ℒₒᵣ (Arith
202211 (by intro x; simp [←Matrix.fun_eq_vec_one, Semiformula.eval_rewriteMap]))
203212
204213instance models_alt : V ⊧ₘ* 𝗜𝗡𝗗 Γ.alt m := by
205- haveI : V ⊧ₘ* 𝗣𝗔⁻ := models_of_subtheory <| inferInstanceAs (V ⊧ₘ* 𝗜𝗡𝗗 Γ m)
214+ have : V ⊧ₘ* 𝗜𝗡𝗗 Γ m := inferInstance
215+ have : V ⊧ₘ* 𝗣𝗔⁻ := models_of_subtheory this
206216 simp only [InductionOnHierarchy, ModelsTheory.add_iff]; constructor <;> infer_instance
207217
208218lemma least_number {P : V → Prop } (hP : Γ-[m].DefinablePred P)
209219 {x} (h : P x) : ∃ y, P y ∧ ∀ z < y, ¬P z := by
210- haveI : V ⊧ₘ* 𝗣𝗔⁻ := models_of_subtheory <| inferInstanceAs (V ⊧ₘ* 𝗜𝗡𝗗 Γ m)
220+ have : V ⊧ₘ* 𝗜𝗡𝗗 Γ m := inferInstance
221+ have : V ⊧ₘ* 𝗣𝗔⁻ := models_of_subtheory this
211222 by_contra A
212223 have A : ∀ z, P z → ∃ w < z, P w := by simpa using A
213224 have : ∀ z, ∀ w < z, ¬P w := by
@@ -338,13 +349,17 @@ lemma ISigma0.least_number [V ⊧ₘ* 𝗜𝚺₀] {P : V → Prop} (hP : 𝚺
338349 (ind : ∀ x, (∀ y < x, P y) → P x) : ∀ x, P x :=
339350 InductionOnHierarchy.order_induction_sigma Γ 1 hP ind
340351
341- instance [V ⊧ₘ* 𝗜𝗢𝗽𝗲𝗻] : V ⊧ₘ* 𝗣𝗔⁻ := models_of_subtheory <| inferInstanceAs (V ⊧ₘ* 𝗜𝗢𝗽𝗲𝗻)
352+ instance [V ⊧ₘ* 𝗜𝗢𝗽𝗲𝗻] : V ⊧ₘ* 𝗣𝗔⁻ :=
353+ have : V ⊧ₘ* 𝗜𝗢𝗽𝗲𝗻 := inferInstance
354+ models_of_subtheory this
342355
343- instance [V ⊧ₘ* 𝗜𝚺₀] : V ⊧ₘ* 𝗜𝗢𝗽𝗲𝗻 := models_of_subtheory <| inferInstanceAs (V ⊧ₘ* 𝗜𝚺₀)
356+ instance [V ⊧ₘ* 𝗜𝚺₀] : V ⊧ₘ* 𝗜𝗢𝗽𝗲𝗻 :=
357+ have : V ⊧ₘ* 𝗜𝚺₀ := inferInstance
358+ models_of_subtheory this
344359
345360instance [V ⊧ₘ* 𝗜𝚺₁] : V ⊧ₘ* 𝗜𝚺₀ := inferInstance
346361
347- def mod_ISigma_of_le {n₁ n₂} (h : n₁ ≤ n₂) [V ⊧ₘ* 𝗜𝚺 n₂] : V ⊧ₘ* 𝗜𝚺 n₁ :=
362+ abbrev mod_ISigma_of_le {n₁ n₂} (h : n₁ ≤ n₂) [V ⊧ₘ* 𝗜𝚺 n₂] : V ⊧ₘ* 𝗜𝚺 n₁ :=
348363 ModelsTheory.of_ss inferInstance (ISigma_subset_mono h)
349364
350365end models
@@ -381,15 +396,19 @@ instance : Entailment.Consistent 𝗣𝗔 := 𝗣𝗔.consistent_of_sound (Eq
381396instance : 𝗣𝗔 ⪯ 𝗧𝗔 := inferInstance
382397
383398instance (T : ArithmeticTheory) [𝗣𝗔⁻ ⪯ T] : 𝗥₀ ⪯ T :=
384- Entailment.WeakerThan.trans (inferInstanceAs (𝗥₀ ⪯ 𝗣𝗔⁻)) inferInstance
399+ have : 𝗥₀ ⪯ 𝗣𝗔⁻ := inferInstance
400+ Entailment.WeakerThan.trans this inferInstance
385401
386402instance (T : ArithmeticTheory) [𝗜𝚺₀ ⪯ T] : 𝗣𝗔⁻ ⪯ T :=
387- Entailment.WeakerThan.trans (inferInstanceAs (𝗣𝗔⁻ ⪯ 𝗜𝚺₀)) inferInstance
403+ have : 𝗣𝗔⁻ ⪯ 𝗜𝚺₀ := inferInstance
404+ Entailment.WeakerThan.trans this inferInstance
388405
389406instance (T : ArithmeticTheory) [𝗜𝚺₁ ⪯ T] : 𝗣𝗔⁻ ⪯ T :=
390- Entailment.WeakerThan.trans (inferInstanceAs (𝗣𝗔⁻ ⪯ 𝗜𝚺₁)) inferInstance
407+ have : 𝗣𝗔⁻ ⪯ 𝗜𝚺₁ := inferInstance
408+ Entailment.WeakerThan.trans this inferInstance
391409
392410instance (T : ArithmeticTheory) [𝗣𝗔 ⪯ T] : 𝗣𝗔⁻ ⪯ T :=
393- Entailment.WeakerThan.trans (inferInstanceAs (𝗣𝗔⁻ ⪯ 𝗣𝗔)) inferInstance
411+ have : 𝗣𝗔⁻ ⪯ 𝗣𝗔 := inferInstance
412+ Entailment.WeakerThan.trans this inferInstance
394413
395414end LO.FirstOrder.Arithmetic
0 commit comments