Theorem: Finset.card_dvd_card_image₂_right
File: Mathlib/Data/Finset/NAry.lean

tactic: induction' s using Finset.induction with a s _ ih
state_before: α : Type u_1
α' : Type u_2
β : Type u_3
β' : Type u_4
γ : Type u_5
γ' : Type u_6
δ : Type u_7
δ' : Type u_8
ε : Type u_9
ε' : Type u_10
ζ : Type u_11
ζ' : Type u_12
ν : Type u_13
inst✝⁷ : DecidableEq α'
inst✝⁶ : DecidableEq β'
inst✝⁵ : DecidableEq γ
inst✝⁴ : DecidableEq γ'
inst✝³ : DecidableEq δ
inst✝² : DecidableEq δ'
inst✝¹ : DecidableEq ε
inst✝ : DecidableEq ε'
f f' : α → β → γ
g g' : α → β → γ → δ
s s' : Finset α
t t' : Finset β
u u' : Finset γ
a a' : α
b b' : β
c : γ
hf : ∀ a ∈ s, Injective (f a)
hs : ((fun a => image (f a) t) '' ↑s).PairwiseDisjoint id
⊢ t.card ∣ (image₂ f s t).card
state_after: case empty
α : Type u_1
α' : Type u_2
β : Type u_3
β' : Type u_4
γ : Type u_5
γ' : Type u_6
δ : Type u_7
δ' : Type u_8
ε : Type u_9
ε' : Type u_10
ζ : Type u_11
ζ' : Type u_12
ν : Type u_13
inst✝⁷ : DecidableEq α'
inst✝⁶ : DecidableEq β'
inst✝⁵ : DecidableEq γ
inst✝⁴ : DecidableEq γ'
inst✝³ : DecidableEq δ
inst✝² : DecidableEq δ'
inst✝¹ : DecidableEq ε
inst✝ : DecidableEq ε'
f f' : α → β → γ
g g' : α → β → γ → δ
s s' : Finset α
t t' : Finset β
u u' : Finset γ
a a' : α
b b' : β
c : γ
hf : ∀ a ∈ ∅, Injective (f a)
hs : ((fun a => image (f a) t) '' ↑∅).PairwiseDisjoint id
⊢ t.card ∣ (image₂ f ∅ t).card

case insert
α : Type u_1
α' : Type u_2
β : Type u_3
β' : Type u_4
γ : Type u_5
γ' : Type u_6
δ : Type u_7
δ' : Type u_8
ε : Type u_9
ε' : Type u_10
ζ : Type u_11
ζ' : Type u_12
ν : Type u_13
inst✝⁷ : DecidableEq α'
inst✝⁶ : DecidableEq β'
inst✝⁵ : DecidableEq γ
inst✝⁴ : DecidableEq γ'
inst✝³ : DecidableEq δ
inst✝² : DecidableEq δ'
inst✝¹ : DecidableEq ε
inst✝ : DecidableEq ε'
f f' : α → β → γ
g g' : α → β → γ → δ
s✝ s' : Finset α
t t' : Finset β
u u' : Finset γ
a✝¹ a' : α
b b' : β
c : γ
a : α
s : Finset α
a✝ : a ∉ s
ih : (∀ a ∈ s, Injective (f a)) → ((fun a => image (f a) t) '' ↑s).PairwiseDisjoint id → t.card ∣ (image₂ f s t).card
hf : ∀ a_1 ∈ insert a s, Injective (f a_1)
hs : ((fun a => image (f a) t) '' ↑(insert a s)).PairwiseDisjoint id
⊢ t.card ∣ (image₂ f (insert a s) t).card

tactic: specialize ih (forall_of_forall_insert hf)
  (hs.subset <| Set.image_subset _ <| coe_subset.2 <| subset_insert _ _)
state_before: case insert
α : Type u_1
α' : Type u_2
β : Type u_3
β' : Type u_4
γ : Type u_5
γ' : Type u_6
δ : Type u_7
δ' : Type u_8
ε : Type u_9
ε' : Type u_10
ζ : Type u_11
ζ' : Type u_12
ν : Type u_13
inst✝⁷ : DecidableEq α'
inst✝⁶ : DecidableEq β'
inst✝⁵ : DecidableEq γ
inst✝⁴ : DecidableEq γ'
inst✝³ : DecidableEq δ
inst✝² : DecidableEq δ'
inst✝¹ : DecidableEq ε
inst✝ : DecidableEq ε'
f f' : α → β → γ
g g' : α → β → γ → δ
s✝ s' : Finset α
t t' : Finset β
u u' : Finset γ
a✝¹ a' : α
b b' : β
c : γ
a : α
s : Finset α
a✝ : a ∉ s
ih : (∀ a ∈ s, Injective (f a)) → ((fun a => image (f a) t) '' ↑s).PairwiseDisjoint id → t.card ∣ (image₂ f s t).card
hf : ∀ a_1 ∈ insert a s, Injective (f a_1)
hs : ((fun a => image (f a) t) '' ↑(insert a s)).PairwiseDisjoint id
⊢ t.card ∣ (image₂ f (insert a s) t).card
state_after: case insert
α : Type u_1
α' : Type u_2
β : Type u_3
β' : Type u_4
γ : Type u_5
γ' : Type u_6
δ : Type u_7
δ' : Type u_8
ε : Type u_9
ε' : Type u_10
ζ : Type u_11
ζ' : Type u_12
ν : Type u_13
inst✝⁷ : DecidableEq α'
inst✝⁶ : DecidableEq β'
inst✝⁵ : DecidableEq γ
inst✝⁴ : DecidableEq γ'
inst✝³ : DecidableEq δ
inst✝² : DecidableEq δ'
inst✝¹ : DecidableEq ε
inst✝ : DecidableEq ε'
f f' : α → β → γ
g g' : α → β → γ → δ
s✝ s' : Finset α
t t' : Finset β
u u' : Finset γ
a✝¹ a' : α
b b' : β
c : γ
a : α
s : Finset α
a✝ : a ∉ s
hf : ∀ a_1 ∈ insert a s, Injective (f a_1)
hs : ((fun a => image (f a) t) '' ↑(insert a s)).PairwiseDisjoint id
ih : t.card ∣ (image₂ f s t).card
⊢ t.card ∣ (image₂ f (insert a s) t).card

tactic: rw [image₂_insert_left]
state_before: case insert
α : Type u_1
α' : Type u_2
β : Type u_3
β' : Type u_4
γ : Type u_5
γ' : Type u_6
δ : Type u_7
δ' : Type u_8
ε : Type u_9
ε' : Type u_10
ζ : Type u_11
ζ' : Type u_12
ν : Type u_13
inst✝⁷ : DecidableEq α'
inst✝⁶ : DecidableEq β'
inst✝⁵ : DecidableEq γ
inst✝⁴ : DecidableEq γ'
inst✝³ : DecidableEq δ
inst✝² : DecidableEq δ'
inst✝¹ : DecidableEq ε
inst✝ : DecidableEq ε'
f f' : α → β → γ
g g' : α → β → γ → δ
s✝ s' : Finset α
t t' : Finset β
u u' : Finset γ
a✝¹ a' : α
b b' : β
c : γ
a : α
s : Finset α
a✝ : a ∉ s
hf : ∀ a_1 ∈ insert a s, Injective (f a_1)
hs : ((fun a => image (f a) t) '' ↑(insert a s)).PairwiseDisjoint id
ih : t.card ∣ (image₂ f s t).card
⊢ t.card ∣ (image₂ f (insert a s) t).card
state_after: case insert
α : Type u_1
α' : Type u_2
β : Type u_3
β' : Type u_4
γ : Type u_5
γ' : Type u_6
δ : Type u_7
δ' : Type u_8
ε : Type u_9
ε' : Type u_10
ζ : Type u_11
ζ' : Type u_12
ν : Type u_13
inst✝⁷ : DecidableEq α'
inst✝⁶ : DecidableEq β'
inst✝⁵ : DecidableEq γ
inst✝⁴ : DecidableEq γ'
inst✝³ : DecidableEq δ
inst✝² : DecidableEq δ'
inst✝¹ : DecidableEq ε
inst✝ : DecidableEq ε'
f f' : α → β → γ
g g' : α → β → γ → δ
s✝ s' : Finset α
t t' : Finset β
u u' : Finset γ
a✝¹ a' : α
b b' : β
c : γ
a : α
s : Finset α
a✝ : a ∉ s
hf : ∀ a_1 ∈ insert a s, Injective (f a_1)
hs : ((fun a => image (f a) t) '' ↑(insert a s)).PairwiseDisjoint id
ih : t.card ∣ (image₂ f s t).card
⊢ t.card ∣ (image (fun b => f a b) t ∪ image₂ f s t).card

tactic: by_cases h : Disjoint (image (f a) t) (image₂ f s t)
state_before: case insert
α : Type u_1
α' : Type u_2
β : Type u_3
β' : Type u_4
γ : Type u_5
γ' : Type u_6
δ : Type u_7
δ' : Type u_8
ε : Type u_9
ε' : Type u_10
ζ : Type u_11
ζ' : Type u_12
ν : Type u_13
inst✝⁷ : DecidableEq α'
inst✝⁶ : DecidableEq β'
inst✝⁵ : DecidableEq γ
inst✝⁴ : DecidableEq γ'
inst✝³ : DecidableEq δ
inst✝² : DecidableEq δ'
inst✝¹ : DecidableEq ε
inst✝ : DecidableEq ε'
f f' : α → β → γ
g g' : α → β → γ → δ
s✝ s' : Finset α
t t' : Finset β
u u' : Finset γ
a✝¹ a' : α
b b' : β
c : γ
a : α
s : Finset α
a✝ : a ∉ s
hf : ∀ a_1 ∈ insert a s, Injective (f a_1)
hs : ((fun a => image (f a) t) '' ↑(insert a s)).PairwiseDisjoint id
ih : t.card ∣ (image₂ f s t).card
⊢ t.card ∣ (image (fun b => f a b) t ∪ image₂ f s t).card
state_after: case pos
α : Type u_1
α' : Type u_2
β : Type u_3
β' : Type u_4
γ : Type u_5
γ' : Type u_6
δ : Type u_7
δ' : Type u_8
ε : Type u_9
ε' : Type u_10
ζ : Type u_11
ζ' : Type u_12
ν : Type u_13
inst✝⁷ : DecidableEq α'
inst✝⁶ : DecidableEq β'
inst✝⁵ : DecidableEq γ
inst✝⁴ : DecidableEq γ'
inst✝³ : DecidableEq δ
inst✝² : DecidableEq δ'
inst✝¹ : DecidableEq ε
inst✝ : DecidableEq ε'
f f' : α → β → γ
g g' : α → β → γ → δ
s✝ s' : Finset α
t t' : Finset β
u u' : Finset γ
a✝¹ a' : α
b b' : β
c : γ
a : α
s : Finset α
a✝ : a ∉ s
hf : ∀ a_1 ∈ insert a s, Injective (f a_1)
hs : ((fun a => image (f a) t) '' ↑(insert a s)).PairwiseDisjoint id
ih : t.card ∣ (image₂ f s t).card
h : Disjoint (image (f a) t) (image₂ f s t)
⊢ t.card ∣ (image (fun b => f a b) t ∪ image₂ f s t).card

case neg
α : Type u_1
α' : Type u_2
β : Type u_3
β' : Type u_4
γ : Type u_5
γ' : Type u_6
δ : Type u_7
δ' : Type u_8
ε : Type u_9
ε' : Type u_10
ζ : Type u_11
ζ' : Type u_12
ν : Type u_13
inst✝⁷ : DecidableEq α'
inst✝⁶ : DecidableEq β'
inst✝⁵ : DecidableEq γ
inst✝⁴ : DecidableEq γ'
inst✝³ : DecidableEq δ
inst✝² : DecidableEq δ'
inst✝¹ : DecidableEq ε
inst✝ : DecidableEq ε'
f f' : α → β → γ
g g' : α → β → γ → δ
s✝ s' : Finset α
t t' : Finset β
u u' : Finset γ
a✝¹ a' : α
b b' : β
c : γ
a : α
s : Finset α
a✝ : a ∉ s
hf : ∀ a_1 ∈ insert a s, Injective (f a_1)
hs : ((fun a => image (f a) t) '' ↑(insert a s)).PairwiseDisjoint id
ih : t.card ∣ (image₂ f s t).card
h : ¬Disjoint (image (f a) t) (image₂ f s t)
⊢ t.card ∣ (image (fun b => f a b) t ∪ image₂ f s t).card

tactic: simp_rw [← biUnion_image_left, disjoint_biUnion_right, not_forall] at h
state_before: case neg
α : Type u_1
α' : Type u_2
β : Type u_3
β' : Type u_4
γ : Type u_5
γ' : Type u_6
δ : Type u_7
δ' : Type u_8
ε : Type u_9
ε' : Type u_10
ζ : Type u_11
ζ' : Type u_12
ν : Type u_13
inst✝⁷ : DecidableEq α'
inst✝⁶ : DecidableEq β'
inst✝⁵ : DecidableEq γ
inst✝⁴ : DecidableEq γ'
inst✝³ : DecidableEq δ
inst✝² : DecidableEq δ'
inst✝¹ : DecidableEq ε
inst✝ : DecidableEq ε'
f f' : α → β → γ
g g' : α → β → γ → δ
s✝ s' : Finset α
t t' : Finset β
u u' : Finset γ
a✝¹ a' : α
b b' : β
c : γ
a : α
s : Finset α
a✝ : a ∉ s
hf : ∀ a_1 ∈ insert a s, Injective (f a_1)
hs : ((fun a => image (f a) t) '' ↑(insert a s)).PairwiseDisjoint id
ih : t.card ∣ (image₂ f s t).card
h : ¬Disjoint (image (f a) t) (image₂ f s t)
⊢ t.card ∣ (image (fun b => f a b) t ∪ image₂ f s t).card
state_after: case neg
α : Type u_1
α' : Type u_2
β : Type u_3
β' : Type u_4
γ : Type u_5
γ' : Type u_6
δ : Type u_7
δ' : Type u_8
ε : Type u_9
ε' : Type u_10
ζ : Type u_11
ζ' : Type u_12
ν : Type u_13
inst✝⁷ : DecidableEq α'
inst✝⁶ : DecidableEq β'
inst✝⁵ : DecidableEq γ
inst✝⁴ : DecidableEq γ'
inst✝³ : DecidableEq δ
inst✝² : DecidableEq δ'
inst✝¹ : DecidableEq ε
inst✝ : DecidableEq ε'
f f' : α → β → γ
g g' : α → β → γ → δ
s✝ s' : Finset α
t t' : Finset β
u u' : Finset γ
a✝¹ a' : α
b b' : β
c : γ
a : α
s : Finset α
a✝ : a ∉ s
hf : ∀ a_1 ∈ insert a s, Injective (f a_1)
hs : ((fun a => image (f a) t) '' ↑(insert a s)).PairwiseDisjoint id
ih : t.card ∣ (image₂ f s t).card
h : ∃ x, ∃ (_ : x ∈ s), ¬Disjoint (image (f a) t) (image (f x) t)
⊢ t.card ∣ (image (fun b => f a b) t ∪ image₂ f s t).card

tactic: obtain ⟨b, hb, h⟩ := h
state_before: case neg
α : Type u_1
α' : Type u_2
β : Type u_3
β' : Type u_4
γ : Type u_5
γ' : Type u_6
δ : Type u_7
δ' : Type u_8
ε : Type u_9
ε' : Type u_10
ζ : Type u_11
ζ' : Type u_12
ν : Type u_13
inst✝⁷ : DecidableEq α'
inst✝⁶ : DecidableEq β'
inst✝⁵ : DecidableEq γ
inst✝⁴ : DecidableEq γ'
inst✝³ : DecidableEq δ
inst✝² : DecidableEq δ'
inst✝¹ : DecidableEq ε
inst✝ : DecidableEq ε'
f f' : α → β → γ
g g' : α → β → γ → δ
s✝ s' : Finset α
t t' : Finset β
u u' : Finset γ
a✝¹ a' : α
b b' : β
c : γ
a : α
s : Finset α
a✝ : a ∉ s
hf : ∀ a_1 ∈ insert a s, Injective (f a_1)
hs : ((fun a => image (f a) t) '' ↑(insert a s)).PairwiseDisjoint id
ih : t.card ∣ (image₂ f s t).card
h : ∃ x, ∃ (_ : x ∈ s), ¬Disjoint (image (f a) t) (image (f x) t)
⊢ t.card ∣ (image (fun b => f a b) t ∪ image₂ f s t).card
state_after: case neg.intro.intro
α : Type u_1
α' : Type u_2
β : Type u_3
β' : Type u_4
γ : Type u_5
γ' : Type u_6
δ : Type u_7
δ' : Type u_8
ε : Type u_9
ε' : Type u_10
ζ : Type u_11
ζ' : Type u_12
ν : Type u_13
inst✝⁷ : DecidableEq α'
inst✝⁶ : DecidableEq β'
inst✝⁵ : DecidableEq γ
inst✝⁴ : DecidableEq γ'
inst✝³ : DecidableEq δ
inst✝² : DecidableEq δ'
inst✝¹ : DecidableEq ε
inst✝ : DecidableEq ε'
f f' : α → β → γ
g g' : α → β → γ → δ
s✝ s' : Finset α
t t' : Finset β
u u' : Finset γ
a✝¹ a' : α
b✝ b' : β
c : γ
a : α
s : Finset α
a✝ : a ∉ s
hf : ∀ a_1 ∈ insert a s, Injective (f a_1)
hs : ((fun a => image (f a) t) '' ↑(insert a s)).PairwiseDisjoint id
ih : t.card ∣ (image₂ f s t).card
b : α
hb : b ∈ s
h : ¬Disjoint (image (f a) t) (image (f b) t)
⊢ t.card ∣ (image (fun b => f a b) t ∪ image₂ f s t).card

tactic: rwa [union_eq_right.2]
state_before: case neg.intro.intro
α : Type u_1
α' : Type u_2
β : Type u_3
β' : Type u_4
γ : Type u_5
γ' : Type u_6
δ : Type u_7
δ' : Type u_8
ε : Type u_9
ε' : Type u_10
ζ : Type u_11
ζ' : Type u_12
ν : Type u_13
inst✝⁷ : DecidableEq α'
inst✝⁶ : DecidableEq β'
inst✝⁵ : DecidableEq γ
inst✝⁴ : DecidableEq γ'
inst✝³ : DecidableEq δ
inst✝² : DecidableEq δ'
inst✝¹ : DecidableEq ε
inst✝ : DecidableEq ε'
f f' : α → β → γ
g g' : α → β → γ → δ
s✝ s' : Finset α
t t' : Finset β
u u' : Finset γ
a✝¹ a' : α
b✝ b' : β
c : γ
a : α
s : Finset α
a✝ : a ∉ s
hf : ∀ a_1 ∈ insert a s, Injective (f a_1)
hs : ((fun a => image (f a) t) '' ↑(insert a s)).PairwiseDisjoint id
ih : t.card ∣ (image₂ f s t).card
b : α
hb : b ∈ s
h : ¬Disjoint (image (f a) t) (image (f b) t)
⊢ t.card ∣ (image (fun b => f a b) t ∪ image₂ f s t).card
state_after: case neg.intro.intro
α : Type u_1
α' : Type u_2
β : Type u_3
β' : Type u_4
γ : Type u_5
γ' : Type u_6
δ : Type u_7
δ' : Type u_8
ε : Type u_9
ε' : Type u_10
ζ : Type u_11
ζ' : Type u_12
ν : Type u_13
inst✝⁷ : DecidableEq α'
inst✝⁶ : DecidableEq β'
inst✝⁵ : DecidableEq γ
inst✝⁴ : DecidableEq γ'
inst✝³ : DecidableEq δ
inst✝² : DecidableEq δ'
inst✝¹ : DecidableEq ε
inst✝ : DecidableEq ε'
f f' : α → β → γ
g g' : α → β → γ → δ
s✝ s' : Finset α
t t' : Finset β
u u' : Finset γ
a✝¹ a' : α
b✝ b' : β
c : γ
a : α
s : Finset α
a✝ : a ∉ s
hf : ∀ a_1 ∈ insert a s, Injective (f a_1)
hs : ((fun a => image (f a) t) '' ↑(insert a s)).PairwiseDisjoint id
ih : t.card ∣ (image₂ f s t).card
b : α
hb : b ∈ s
h : ¬Disjoint (image (f a) t) (image (f b) t)
⊢ image (fun b => f a b) t ⊆ image₂ f s t

tactic: exact (hs.eq (Set.mem_image_of_mem _ <| mem_insert_self _ _)
    (Set.mem_image_of_mem _ <| mem_insert_of_mem hb) h).trans_subset
  (image_subset_image₂_right hb)
state_before: case neg.intro.intro
α : Type u_1
α' : Type u_2
β : Type u_3
β' : Type u_4
γ : Type u_5
γ' : Type u_6
δ : Type u_7
δ' : Type u_8
ε : Type u_9
ε' : Type u_10
ζ : Type u_11
ζ' : Type u_12
ν : Type u_13
inst✝⁷ : DecidableEq α'
inst✝⁶ : DecidableEq β'
inst✝⁵ : DecidableEq γ
inst✝⁴ : DecidableEq γ'
inst✝³ : DecidableEq δ
inst✝² : DecidableEq δ'
inst✝¹ : DecidableEq ε
inst✝ : DecidableEq ε'
f f' : α → β → γ
g g' : α → β → γ → δ
s✝ s' : Finset α
t t' : Finset β
u u' : Finset γ
a✝¹ a' : α
b✝ b' : β
c : γ
a : α
s : Finset α
a✝ : a ∉ s
hf : ∀ a_1 ∈ insert a s, Injective (f a_1)
hs : ((fun a => image (f a) t) '' ↑(insert a s)).PairwiseDisjoint id
ih : t.card ∣ (image₂ f s t).card
b : α
hb : b ∈ s
h : ¬Disjoint (image (f a) t) (image (f b) t)
⊢ image (fun b => f a b) t ⊆ image₂ f s t
state_after: no goals

tactic: simp
state_before: case empty
α : Type u_1
α' : Type u_2
β : Type u_3
β' : Type u_4
γ : Type u_5
γ' : Type u_6
δ : Type u_7
δ' : Type u_8
ε : Type u_9
ε' : Type u_10
ζ : Type u_11
ζ' : Type u_12
ν : Type u_13
inst✝⁷ : DecidableEq α'
inst✝⁶ : DecidableEq β'
inst✝⁵ : DecidableEq γ
inst✝⁴ : DecidableEq γ'
inst✝³ : DecidableEq δ
inst✝² : DecidableEq δ'
inst✝¹ : DecidableEq ε
inst✝ : DecidableEq ε'
f f' : α → β → γ
g g' : α → β → γ → δ
s s' : Finset α
t t' : Finset β
u u' : Finset γ
a a' : α
b b' : β
c : γ
hf : ∀ a ∈ ∅, Injective (f a)
hs : ((fun a => image (f a) t) '' ↑∅).PairwiseDisjoint id
⊢ t.card ∣ (image₂ f ∅ t).card
state_after: no goals

tactic: rw [card_union_of_disjoint h]
state_before: case pos
α : Type u_1
α' : Type u_2
β : Type u_3
β' : Type u_4
γ : Type u_5
γ' : Type u_6
δ : Type u_7
δ' : Type u_8
ε : Type u_9
ε' : Type u_10
ζ : Type u_11
ζ' : Type u_12
ν : Type u_13
inst✝⁷ : DecidableEq α'
inst✝⁶ : DecidableEq β'
inst✝⁵ : DecidableEq γ
inst✝⁴ : DecidableEq γ'
inst✝³ : DecidableEq δ
inst✝² : DecidableEq δ'
inst✝¹ : DecidableEq ε
inst✝ : DecidableEq ε'
f f' : α → β → γ
g g' : α → β → γ → δ
s✝ s' : Finset α
t t' : Finset β
u u' : Finset γ
a✝¹ a' : α
b b' : β
c : γ
a : α
s : Finset α
a✝ : a ∉ s
hf : ∀ a_1 ∈ insert a s, Injective (f a_1)
hs : ((fun a => image (f a) t) '' ↑(insert a s)).PairwiseDisjoint id
ih : t.card ∣ (image₂ f s t).card
h : Disjoint (image (f a) t) (image₂ f s t)
⊢ t.card ∣ (image (fun b => f a b) t ∪ image₂ f s t).card
state_after: case pos
α : Type u_1
α' : Type u_2
β : Type u_3
β' : Type u_4
γ : Type u_5
γ' : Type u_6
δ : Type u_7
δ' : Type u_8
ε : Type u_9
ε' : Type u_10
ζ : Type u_11
ζ' : Type u_12
ν : Type u_13
inst✝⁷ : DecidableEq α'
inst✝⁶ : DecidableEq β'
inst✝⁵ : DecidableEq γ
inst✝⁴ : DecidableEq γ'
inst✝³ : DecidableEq δ
inst✝² : DecidableEq δ'
inst✝¹ : DecidableEq ε
inst✝ : DecidableEq ε'
f f' : α → β → γ
g g' : α → β → γ → δ
s✝ s' : Finset α
t t' : Finset β
u u' : Finset γ
a✝¹ a' : α
b b' : β
c : γ
a : α
s : Finset α
a✝ : a ∉ s
hf : ∀ a_1 ∈ insert a s, Injective (f a_1)
hs : ((fun a => image (f a) t) '' ↑(insert a s)).PairwiseDisjoint id
ih : t.card ∣ (image₂ f s t).card
h : Disjoint (image (f a) t) (image₂ f s t)
⊢ t.card ∣ (image (f a) t).card + (image₂ f s t).card

tactic: exact Nat.dvd_add (card_image_of_injective _ <| hf _ <| mem_insert_self _ _).symm.dvd ih
state_before: case pos
α : Type u_1
α' : Type u_2
β : Type u_3
β' : Type u_4
γ : Type u_5
γ' : Type u_6
δ : Type u_7
δ' : Type u_8
ε : Type u_9
ε' : Type u_10
ζ : Type u_11
ζ' : Type u_12
ν : Type u_13
inst✝⁷ : DecidableEq α'
inst✝⁶ : DecidableEq β'
inst✝⁵ : DecidableEq γ
inst✝⁴ : DecidableEq γ'
inst✝³ : DecidableEq δ
inst✝² : DecidableEq δ'
inst✝¹ : DecidableEq ε
inst✝ : DecidableEq ε'
f f' : α → β → γ
g g' : α → β → γ → δ
s✝ s' : Finset α
t t' : Finset β
u u' : Finset γ
a✝¹ a' : α
b b' : β
c : γ
a : α
s : Finset α
a✝ : a ∉ s
hf : ∀ a_1 ∈ insert a s, Injective (f a_1)
hs : ((fun a => image (f a) t) '' ↑(insert a s)).PairwiseDisjoint id
ih : t.card ∣ (image₂ f s t).card
h : Disjoint (image (f a) t) (image₂ f s t)
⊢ t.card ∣ (image (f a) t).card + (image₂ f s t).card
state_after: no goals