@@ -31,7 +31,7 @@ instance : has_coe (r ≼i s) (r ≼o s) := ⟨initial_seg.to_order_embedding⟩
31
31
32
32
@[simp] theorem coe_fn_to_order_embedding (f : r ≼i s) : (f.to_order_embedding : α → β) = f := rfl
33
33
34
- @[simp] theorem coe_coe_fn (f : r ≼i s) : ((f : r ≼o s) : α → β) = f := rfl
34
+ theorem coe_coe_fn (f : r ≼i s) : ((f : r ≼o s) : α → β) = f := rfl
35
35
36
36
theorem init' (f : r ≼i s) {a : α} {b : β} : s b (f a) → ∃ a', f a' = b :=
37
37
f.init _ _
@@ -100,7 +100,7 @@ by haveI := f.to_order_embedding.is_well_order; exact
100
100
101
101
@[simp] theorem antisymm_symm [is_well_order α r] [is_well_order β s]
102
102
(f : r ≼i s) (g : s ≼i r) : (antisymm f g).symm = antisymm g f :=
103
- order_iso.eq_of_to_fun_eq $ by dunfold initial_seg.antisymm; simp
103
+ order_iso.eq_of_to_fun_eq $ by dunfold initial_seg.antisymm; simp [-coe_fn_coe_base]
104
104
105
105
theorem eq_or_principal [is_well_order β s] (f : r ≼i s) : surjective f ∨ ∃ b, ∀ x, s x b ↔ ∃ y, f y = x :=
106
106
or_iff_not_imp_right.2 $ λ h b,
@@ -141,7 +141,7 @@ instance : has_coe (r ≺i s) (r ≼o s) := ⟨principal_seg.to_order_embedding
141
141
142
142
@[simp] theorem coe_fn_to_order_embedding (f : r ≺i s) : (f.to_order_embedding : α → β) = f := rfl
143
143
144
- @[simp] theorem coe_coe_fn (f : r ≺i s) : ((f : r ≼o s) : α → β) = f := rfl
144
+ theorem coe_coe_fn (f : r ≺i s) : ((f : r ≼o s) : α → β) = f := rfl
145
145
146
146
theorem down' (f : r ≺i s) {b : β} : s b f.top ↔ ∃ a, f a = b :=
147
147
f.down _
@@ -155,7 +155,7 @@ f.down'.1 $ trans h $ f.lt_top _
155
155
instance has_coe_initial_seg [is_trans β s] : has_coe (r ≺i s) (r ≼i s) :=
156
156
⟨λ f, ⟨f.to_order_embedding, λ a b, f.init⟩⟩
157
157
158
- @[simp] theorem coe_coe_fn' [is_trans β s] (f : r ≺i s) : ((f : r ≼i s) : α → β) = f := rfl
158
+ theorem coe_coe_fn' [is_trans β s] (f : r ≺i s) : ((f : r ≼i s) : α → β) = f := rfl
159
159
160
160
theorem init_iff [is_trans β s] (f : r ≺i s) {a : α} {b : β} : s b (f a) ↔ ∃ a', f a' = b ∧ r a' a :=
161
161
initial_seg.init_iff f
171
171
def lt_le [is_trans β s] (f : r ≺i s) (g : s ≼i t) : r ≺i t :=
172
172
⟨@order_embedding.trans _ _ _ r s t f g, g f.top, λ a,
173
173
by simp [g.init_iff, f.down', exists_and_distrib_left.symm,
174
- -exists_and_distrib_left, exists_swap]; refl⟩
174
+ -exists_and_distrib_left, -coe_fn_coe_base, coe_coe_fn, exists_swap]; refl⟩
175
175
176
176
@[simp] theorem lt_le_apply [is_trans β s] [is_trans γ t] (f : r ≺i s) (g : s ≼i t) (a : α) : (f.lt_le g) a = g (f a) :=
177
177
order_embedding.trans_apply _ _ _
@@ -189,10 +189,10 @@ lt_le_apply _ _ _
189
189
def equiv_lt [is_trans β s] [is_trans γ t] (f : r ≃o s) (g : s ≺i t) : r ≺i t :=
190
190
⟨@order_embedding.trans _ _ _ r s t f g, g.top, λ c,
191
191
by simp [g.down']; exact
192
- ⟨λ ⟨b, h⟩, ⟨f.symm b, by simp [h]⟩, λ ⟨a, h⟩, ⟨f a, h⟩⟩⟩
192
+ ⟨λ ⟨b, h⟩, ⟨f.symm b, by simp [h, -coe_fn_coe_base, order_iso.coe_coe_fn ]⟩, λ ⟨a, h⟩, ⟨f a, h⟩⟩⟩
193
193
194
194
@[simp] theorem equiv_lt_apply [is_trans β s] [is_trans γ t] (f : r ≃o s) (g : s ≺i t) (a : α) : (equiv_lt f g) a = g (f a) :=
195
- by delta equiv_lt; simp
195
+ by delta equiv_lt; simp [-coe_fn_coe_base, -coe_fn_coe_trans, order_iso.coe_coe_fn, coe_coe_fn]
196
196
197
197
@[simp] theorem equiv_lt_top [is_trans β s] [is_trans γ t] (f : r ≃o s) (g : s ≺i t) : (equiv_lt f g).top = g.top := rfl
198
198
@@ -203,7 +203,7 @@ instance [is_well_order β s] : subsingleton (r ≺i s) :=
203
203
rw @subsingleton.elim _ _ (f : r ≼i s) g, refl },
204
204
have et : f.top = g.top,
205
205
{ refine @is_extensional.ext _ s _ _ _ (λ x, _),
206
- simp [f.down, g.down, ef] },
206
+ simp [f.down, g.down, ef, -coe_fn_coe_base, -coe_fn_coe_trans, order_iso.coe_coe_fn, coe_coe_fn ] },
207
207
cases f, cases g, simp at ef et,
208
208
have := order_embedding.eq_of_to_fun_eq ef; congr'
209
209
end ⟩
268
268
(f : r ≼i s) (g : s ≺i t) (a : α) : (f.le_lt g) a = g (f a) :=
269
269
begin
270
270
delta initial_seg.le_lt, cases h : f.lt_or_eq with f' f',
271
- { simp [f.lt_or_eq_apply_left h] },
272
- { simp [f.lt_or_eq_apply_right h] }
271
+ { simp [f.lt_or_eq_apply_left h,
272
+ -coe_fn_coe_base, -coe_fn_coe_trans, order_iso.coe_coe_fn, principal_seg.coe_coe_fn] },
273
+ { simp [f.lt_or_eq_apply_right h,
274
+ -coe_fn_coe_base, -coe_fn_coe_trans, order_iso.coe_coe_fn, principal_seg.coe_coe_fn] }
273
275
end
274
276
275
277
namespace order_embedding
@@ -335,7 +337,8 @@ private def partial_wo.is_refl : is_refl _ (≤) :=
335
337
local attribute [instance] partial_wo.is_refl
336
338
337
339
private def partial_wo.trans {a b c} : a ≤ b → b ≤ c → a ≤ c
338
- | ⟨f, hf⟩ ⟨g, hg⟩ := ⟨f.trans g, λ a, by simp [hf, hg]⟩
340
+ | ⟨f, hf⟩ ⟨g, hg⟩ := ⟨f.trans g, λ a, by simp [hf, hg,
341
+ -coe_fn_coe_base, -coe_fn_coe_trans, order_iso.coe_coe_fn, principal_seg.coe_coe_fn]⟩
339
342
340
343
private def sub_of_le {s t} : s ≤ t → s.1 ⊆ t.1
341
344
| ⟨f, hf⟩ x h := by have := (f ⟨x, h⟩).2 ; rwa [hf ⟨x, h⟩] at this
@@ -772,7 +775,8 @@ theorem add_le_add_iff_left (a) {b c : ordinal} : a + b ≤ a + c ↔ b ≤ c :=
772
775
⟨induction_on a $ λ α r _, induction_on b $ λ β₁ s₁ _, induction_on c $ λ β₂ s₂ _ ⟨f⟩, ⟨
773
776
by exactI
774
777
have fl : ∀ a, f (sum.inl a) = sum.inl a := λ a,
775
- by simpa using initial_seg.eq ((initial_seg.le_add r s₁).trans f) (initial_seg.le_add r s₂) a,
778
+ by simpa [-coe_fn_coe_base, -coe_fn_coe_trans, order_iso.coe_coe_fn, principal_seg.coe_coe_fn]
779
+ using initial_seg.eq ((initial_seg.le_add r s₁).trans f) (initial_seg.le_add r s₂) a,
776
780
have ∀ b, {b' // f (sum.inr b) = sum.inr b'}, begin
777
781
intro b, cases e : f (sum.inr b),
778
782
{ rw ← fl at e, have := f.inj e, contradiction },
@@ -782,12 +786,14 @@ theorem add_le_add_iff_left (a) {b c : ordinal} : a + b ≤ a + c ↔ b ≤ c :=
782
786
have fr : ∀ b, f (sum.inr b) = sum.inr (g b), from λ b, (this b).2 ,
783
787
⟨⟨⟨g, λ x y h, by injection f.inj
784
788
(by rw [fr, fr, h] : f (sum.inr x) = f (sum.inr y))⟩,
785
- λ a b, by simpa [fr] using @order_embedding.ord _ _ _ _
789
+ λ a b, by simpa [fr, -coe_fn_coe_base, -coe_fn_coe_trans, order_iso.coe_coe_fn, principal_seg.coe_coe_fn]
790
+ using @order_embedding.ord _ _ _ _
786
791
f.to_order_embedding (sum.inr a) (sum.inr b)⟩,
787
792
λ a b, begin
788
793
have nex : ¬ ∃ (a : α), f (sum.inl a) = sum.inr b :=
789
794
λ ⟨a, e⟩, by rw [fl] at e; injection e,
790
- simpa [fr, nex] using f.init (sum.inr a) (sum.inr b),
795
+ simpa [fr, nex, -coe_fn_coe_base, -coe_fn_coe_trans, order_iso.coe_coe_fn, principal_seg.coe_coe_fn]
796
+ using f.init (sum.inr a) (sum.inr b),
791
797
end ⟩⟩,
792
798
λ h, add_le_add_left h _⟩
793
799
@@ -2708,7 +2714,8 @@ end
2708
2714
2709
2715
@[simp] theorem aleph_idx.order_iso_coe :
2710
2716
(aleph_idx.order_iso : cardinal → ordinal) = aleph_idx :=
2711
- by delta aleph_idx.order_iso; simp
2717
+ by delta aleph_idx.order_iso;
2718
+ simp [-coe_fn_coe_base, -coe_fn_coe_trans, principal_seg.coe_coe_fn', initial_seg.coe_coe_fn]
2712
2719
2713
2720
@[simp] theorem type_cardinal : @ordinal.type cardinal (<) _ = ordinal.univ.{u (u+1 )} :=
2714
2721
by rw ordinal.univ_id; exact quotient.sound ⟨aleph_idx.order_iso⟩
0 commit comments