have : f = Subtype.val ∘ f' := funext fun _ => rfl
α : Type u
β : Type v
inst✝⁴ : BishopFin α
inst✝³ : BishopFin β
p q : α → Prop
inst✝² : DecidablePred p
inst✝¹ : DecidablePred q
inst✝ : DecidableEq α
f : β → α
hf : ∀ (a : α), p a → ∃ b, f b = a
f' : β → { a // ∃ b, f b = a } := fun b => { val := f b, property := (_ : ∃ b_1, f b_1 = f b) }
⊢ count ((fun a => p a) ∘ Subtype.val) ≤ count (p ∘ f)
α : Type u
β : Type v
inst✝⁴ : BishopFin α
inst✝³ : BishopFin β
p q : α → Prop
inst✝² : DecidablePred p
inst✝¹ : DecidablePred q
inst✝ : DecidableEq α
f : β → α
hf : ∀ (a : α), p a → ∃ b, f b = a
f' : β → { a // ∃ b, f b = a } := fun b => { val := f b, property := (_ : ∃ b_1, f b_1 = f b) }
this : f = Subtype.val ∘ f'
⊢ count ((fun a => p a) ∘ Subtype.val) ≤ count (p ∘ f)