ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- PartialEquiv.image_source_inter_eq
theorem image_source_inter_eq (s : Set α) :
    e '' (e.source ∩ s) = e.target ∩ e.symm ⁻¹' (e.source ∩ s) 
Arguments: {α : Type u_1} {β : Type u_2} (e : PartialEquiv α β) (s : Set α)
Goal: ↑e '' (e.source ∩ s) = e.target ∩ ↑e.symm ⁻¹' (e.source ∩ s)
-- PartialEquiv.image_eq_target_inter_inv_preimage
theorem image_eq_target_inter_inv_preimage {s : Set α} (h : s ⊆ e.source) :
    e '' s = e.target ∩ e.symm ⁻¹' s 
Arguments: {α : Type u_1} {β : Type u_2} (e : PartialEquiv α β) {s : Set α} (h : s ⊆ e.source)
Goal: ↑e '' s = e.target ∩ ↑e.symm ⁻¹' s
-- PartialEquiv.symm_image_eq_source_inter_preimage
theorem symm_image_eq_source_inter_preimage {s : Set β} (h : s ⊆ e.target) :
    e.symm '' s = e.source ∩ e ⁻¹' s 
Arguments: {α : Type u_1} {β : Type u_2} (e : PartialEquiv α β) {s : Set β} (h : s ⊆ e.target)
Goal: ↑e.symm '' s = e.source ∩ ↑e ⁻¹' s
-- PartialEquiv.symm_image_target_inter_eq
theorem symm_image_target_inter_eq (s : Set β) :
    e.symm '' (e.target ∩ s) = e.source ∩ e ⁻¹' (e.target ∩ s) 
Arguments: {α : Type u_1} {β : Type u_2} (e : PartialEquiv α β) (s : Set β)
Goal: ↑e.symm '' (e.target ∩ s) = e.source ∩ ↑e ⁻¹' (e.target ∩ s)
-- PartialEquiv.symm_image_target_inter_eq'
theorem symm_image_target_inter_eq' (s : Set β) : e.symm '' (e.target ∩ s) = e.source ∩ e ⁻¹' s 
Arguments: {α : Type u_1} {β : Type u_2} (e : PartialEquiv α β) (s : Set β)
Goal: ↑e.symm '' (e.target ∩ s) = e.source ∩ ↑e ⁻¹' s
-- PartialEquiv.source_inter_preimage_inv_preimage
theorem source_inter_preimage_inv_preimage (s : Set α) :
    e.source ∩ e ⁻¹' (e.symm ⁻¹' s) = e.source ∩ s 
Arguments: {α : Type u_1} {β : Type u_2} (e : PartialEquiv α β) (s : Set α)
Goal: e.source ∩ ↑e ⁻¹' (↑e.symm ⁻¹' s) = e.source ∩ s
-- PartialEquiv.source_inter_preimage_target_inter
theorem source_inter_preimage_target_inter (s : Set β) :
    e.source ∩ e ⁻¹' (e.target ∩ s) = e.source ∩ e ⁻¹' s 
Arguments: {α : Type u_1} {β : Type u_2} (e : PartialEquiv α β) (s : Set β)
Goal: e.source ∩ ↑e ⁻¹' (e.target ∩ s) = e.source ∩ ↑e ⁻¹' s
-- PartialEquiv.target_inter_inv_preimage_preimage
theorem target_inter_inv_preimage_preimage (s : Set β) :
    e.target ∩ e.symm ⁻¹' (e ⁻¹' s) = e.target ∩ s 
Arguments: {α : Type u_1} {β : Type u_2} (e : PartialEquiv α β) (s : Set β)
Goal: e.target ∩ ↑e.symm ⁻¹' (↑e ⁻¹' s) = e.target ∩ s
-- PartialEquiv.symm_image_image_of_subset_source
theorem symm_image_image_of_subset_source {s : Set α} (h : s ⊆ e.source) : e.symm '' (e '' s) = s 
Arguments: {α : Type u_1} {β : Type u_2} (e : PartialEquiv α β) {s : Set α} (h : s ⊆ e.source)
Goal: ↑e.symm '' (↑e '' s) = s
-- PartialEquiv.image_symm_image_of_subset_target
theorem image_symm_image_of_subset_target {s : Set β} (h : s ⊆ e.target) : e '' (e.symm '' s) = s 
Arguments: {α : Type u_1} {β : Type u_2} (e : PartialEquiv α β) {s : Set β} (h : s ⊆ e.target)
Goal: ↑e '' (↑e.symm '' s) = s
-- PartialEquiv.source_subset_preimage_target
theorem source_subset_preimage_target : e.source ⊆ e ⁻¹' e.target 
Arguments: {α : Type u_1} {β : Type u_2} (e : PartialEquiv α β)
Goal: e.source ⊆ ↑e ⁻¹' e.target
-- PartialEquiv.symm_image_target_eq_source
theorem symm_image_target_eq_source : e.symm '' e.target = e.source 
Arguments: {α : Type u_1} {β : Type u_2} (e : PartialEquiv α β)
Goal: ↑e.symm '' e.target = e.source
-- PartialEquiv.target_subset_preimage_source
theorem target_subset_preimage_source : e.target ⊆ e.symm ⁻¹' e.source 
Arguments: {α : Type u_1} {β : Type u_2} (e : PartialEquiv α β)
Goal: e.target ⊆ ↑e.symm ⁻¹' e.source
-- PartialEquiv.ext
@[ext]
protected theorem ext {e e' : PartialEquiv α β} (h : ∀ x, e x = e' x)
    (hsymm : ∀ x, e.symm x = e'.symm x) (hs : e.source = e'.source) : e = e' 
Arguments: {α : Type u_1} {β : Type u_2} {e e' : PartialEquiv α β} (h : ∀ (x : α), ↑e x = ↑e' x) (hsymm : ∀ (x : β), ↑e.symm x = ↑e'.symm x) (hs : e.source = e'.source)
Goal: e = e'
-- PartialEquiv.restr_coe
@[simp, mfld_simps]
theorem restr_coe (s : Set α) : (e.restr s : α → β) = e 
Arguments: {α : Type u_1} {β : Type u_2} (e : PartialEquiv α β) (s : Set α)
Goal: ↑(e.restr s) = ↑e
-- PartialEquiv.restr_coe_symm
@[simp, mfld_simps]
theorem restr_coe_symm (s : Set α) : ((e.restr s).symm : β → α) = e.symm 
Arguments: {α : Type u_1} {β : Type u_2} (e : PartialEquiv α β) (s : Set α)
Goal: ↑(e.restr s).symm = ↑e.symm
-- PartialEquiv.restr_source
@[simp, mfld_simps]
theorem restr_source (s : Set α) : (e.restr s).source = e.source ∩ s 
Arguments: {α : Type u_1} {β : Type u_2} (e : PartialEquiv α β) (s : Set α)
Goal: (e.restr s).source = e.source ∩ s
-- PartialEquiv.restr_target
@[simp, mfld_simps]
theorem restr_target (s : Set α) : (e.restr s).target = e.target ∩ e.symm ⁻¹' s 
Arguments: {α : Type u_1} {β : Type u_2} (e : PartialEquiv α β) (s : Set α)
Goal: (e.restr s).target = e.target ∩ ↑e.symm ⁻¹' s
-- PartialEquiv.restr_eq_of_source_subset
theorem restr_eq_of_source_subset {e : PartialEquiv α β} {s : Set α} (h : e.source ⊆ s) :
    e.restr s = e 
Arguments: {α : Type u_1} {β : Type u_2} {e : PartialEquiv α β} {s : Set α} (h : e.source ⊆ s)
Goal: e.restr s = e
-- PartialEquiv.restr_univ
@[simp, mfld_simps]
theorem restr_univ {e : PartialEquiv α β} : e.restr univ = e 
Arguments: {α : Type u_1} {β : Type u_2} {e : PartialEquiv α β}
Goal: e.restr Set.univ = e
-- PartialEquiv.refl_source
@[simp, mfld_simps]
theorem refl_source : (PartialEquiv.refl α).source = univ 
Arguments: {α : Type u_1}
Goal: (PartialEquiv.refl α).source = Set.univ
-- PartialEquiv.refl_target
@[simp, mfld_simps]
theorem refl_target : (PartialEquiv.refl α).target = univ 
Arguments: {α : Type u_1}
Goal: (PartialEquiv.refl α).target = Set.univ
-- PartialEquiv.refl_coe
@[simp, mfld_simps]
theorem refl_coe : (PartialEquiv.refl α : α → α) = id 
Arguments: {α : Type u_1}
Goal: ↑(PartialEquiv.refl α) = id
-- PartialEquiv.refl_symm
@[simp, mfld_simps]
theorem refl_symm : (PartialEquiv.refl α).symm = PartialEquiv.refl α 
Arguments: {α : Type u_1}
Goal: (PartialEquiv.refl α).symm = PartialEquiv.refl α
-- PartialEquiv.refl_restr_source
@[mfld_simps]
theorem refl_restr_source (s : Set α) : ((PartialEquiv.refl α).restr s).source = s 
Arguments: {α : Type u_1} (s : Set α)
Goal: ((PartialEquiv.refl α).restr s).source = s
-- PartialEquiv.refl_restr_target
@[mfld_simps]
theorem refl_restr_target (s : Set α) : ((PartialEquiv.refl α).restr s).target = s 
Arguments: {α : Type u_1} (s : Set α)
Goal: ((PartialEquiv.refl α).restr s).target = s
-- PartialEquiv.ofSet_source
@[simp, mfld_simps]
theorem ofSet_source (s : Set α) : (PartialEquiv.ofSet s).source = s 
Arguments: {α : Type u_1} (s : Set α)
Goal: (PartialEquiv.ofSet s).source = s
-- PartialEquiv.ofSet_target
@[simp, mfld_simps]
theorem ofSet_target (s : Set α) : (PartialEquiv.ofSet s).target = s 
Arguments: {α : Type u_1} (s : Set α)
Goal: (PartialEquiv.ofSet s).target = s
-- PartialEquiv.ofSet_coe
@[simp, mfld_simps]
theorem ofSet_coe (s : Set α) : (PartialEquiv.ofSet s : α → α) = id 
Arguments: {α : Type u_1} (s : Set α)
Goal: ↑(PartialEquiv.ofSet s) = id
-- PartialEquiv.ofSet_symm
@[simp, mfld_simps]
theorem ofSet_symm (s : Set α) : (PartialEquiv.ofSet s).symm = PartialEquiv.ofSet s 
Arguments: {α : Type u_1} (s : Set α)
Goal: (PartialEquiv.ofSet s).symm = PartialEquiv.ofSet s
-- PartialEquiv.trans'_target
@[simps]
protected def trans' (e' : PartialEquiv β γ) (h : e.target = e'.source) : PartialEquiv α γ 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} (e : PartialEquiv α β) (e' : PartialEquiv β γ) (h : e.target = e'.source)
Goal: (e.trans' e' h).target = e'.target
-- PartialEquiv.trans'_symm_apply
@[simps]
protected def trans' (e' : PartialEquiv β γ) (h : e.target = e'.source) : PartialEquiv α γ 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} (e : PartialEquiv α β) (e' : PartialEquiv β γ) (h : e.target = e'.source)
Goal: ∀ (a : γ), ↑(e.trans' e' h).symm a = (↑e.symm ∘ ↑e'.symm) a
-- PartialEquiv.trans'_source
@[simps]
protected def trans' (e' : PartialEquiv β γ) (h : e.target = e'.source) : PartialEquiv α γ 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} (e : PartialEquiv α β) (e' : PartialEquiv β γ) (h : e.target = e'.source)
Goal: (e.trans' e' h).source = e.source
-- PartialEquiv.trans'_apply
@[simps]
protected def trans' (e' : PartialEquiv β γ) (h : e.target = e'.source) : PartialEquiv α γ 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} (e : PartialEquiv α β) (e' : PartialEquiv β γ) (h : e.target = e'.source)
Goal: ∀ (a : α), ↑(e.trans' e' h) a = (↑e' ∘ ↑e) a
-- PartialEquiv.coe_trans
@[simp, mfld_simps]
theorem coe_trans : (e.trans e' : α → γ) = e' ∘ e 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} (e : PartialEquiv α β) (e' : PartialEquiv β γ)
Goal: ↑(e.trans e') = ↑e' ∘ ↑e
-- PartialEquiv.coe_trans_symm
@[simp, mfld_simps]
theorem coe_trans_symm : ((e.trans e').symm : γ → α) = e.symm ∘ e'.symm 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} (e : PartialEquiv α β) (e' : PartialEquiv β γ)
Goal: ↑(e.trans e').symm = ↑e.symm ∘ ↑e'.symm
-- PartialEquiv.trans_apply
theorem trans_apply {x : α} : (e.trans e') x = e' (e x) 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} (e : PartialEquiv α β) (e' : PartialEquiv β γ) {x : α}
Goal: ↑(e.trans e') x = ↑e' (↑e x)
-- PartialEquiv.trans_symm_eq_symm_trans_symm
theorem trans_symm_eq_symm_trans_symm : (e.trans e').symm = e'.symm.trans e.symm 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} (e : PartialEquiv α β) (e' : PartialEquiv β γ)
Goal: (e.trans e').symm = e'.symm.trans e.symm
-- PartialEquiv.trans_source
@[simp, mfld_simps]
theorem trans_source : (e.trans e').source = e.source ∩ e ⁻¹' e'.source 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} (e : PartialEquiv α β) (e' : PartialEquiv β γ)
Goal: (e.trans e').source = e.source ∩ ↑e ⁻¹' e'.source
-- PartialEquiv.trans_source'
theorem trans_source' : (e.trans e').source = e.source ∩ e ⁻¹' (e.target ∩ e'.source) 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} (e : PartialEquiv α β) (e' : PartialEquiv β γ)
Goal: (e.trans e').source = e.source ∩ ↑e ⁻¹' (e.target ∩ e'.source)
-- PartialEquiv.trans_source''
theorem trans_source'' : (e.trans e').source = e.symm '' (e.target ∩ e'.source) 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} (e : PartialEquiv α β) (e' : PartialEquiv β γ)
Goal: (e.trans e').source = ↑e.symm '' (e.target ∩ e'.source)
-- PartialEquiv.image_trans_source
theorem image_trans_source : e '' (e.trans e').source = e.target ∩ e'.source 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} (e : PartialEquiv α β) (e' : PartialEquiv β γ)
Goal: ↑e '' (e.trans e').source = e.target ∩ e'.source
-- PartialEquiv.trans_target
@[simp, mfld_simps]
theorem trans_target : (e.trans e').target = e'.target ∩ e'.symm ⁻¹' e.target 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} (e : PartialEquiv α β) (e' : PartialEquiv β γ)
Goal: (e.trans e').target = e'.target ∩ ↑e'.symm ⁻¹' e.target
-- PartialEquiv.trans_target'
theorem trans_target' : (e.trans e').target = e'.target ∩ e'.symm ⁻¹' (e'.source ∩ e.target) 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} (e : PartialEquiv α β) (e' : PartialEquiv β γ)
Goal: (e.trans e').target = e'.target ∩ ↑e'.symm ⁻¹' (e'.source ∩ e.target)
-- PartialEquiv.trans_target''
theorem trans_target'' : (e.trans e').target = e' '' (e'.source ∩ e.target) 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} (e : PartialEquiv α β) (e' : PartialEquiv β γ)
Goal: (e.trans e').target = ↑e' '' (e'.source ∩ e.target)
-- PartialEquiv.inv_image_trans_target
theorem inv_image_trans_target : e'.symm '' (e.trans e').target = e'.source ∩ e.target 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} (e : PartialEquiv α β) (e' : PartialEquiv β γ)
Goal: ↑e'.symm '' (e.trans e').target = e'.source ∩ e.target
-- PartialEquiv.trans_assoc
theorem trans_assoc (e'' : PartialEquiv γ δ) : (e.trans e').trans e'' = e.trans (e'.trans e'') 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} {δ : Type u_4} (e : PartialEquiv α β) (e' : PartialEquiv β γ) (e'' : PartialEquiv γ δ)
Goal: (e.trans e').trans e'' = e.trans (e'.trans e'')
-- PartialEquiv.trans_refl
@[simp, mfld_simps]
theorem trans_refl : e.trans (PartialEquiv.refl β) = e 
Arguments: {α : Type u_1} {β : Type u_2} (e : PartialEquiv α β)
Goal: e.trans (PartialEquiv.refl β) = e
-- PartialEquiv.refl_trans
@[simp, mfld_simps]
theorem refl_trans : (PartialEquiv.refl α).trans e = e 
Arguments: {α : Type u_1} {β : Type u_2} (e : PartialEquiv α β)
Goal: (PartialEquiv.refl α).trans e = e
-- PartialEquiv.trans_ofSet
theorem trans_ofSet (s : Set β) : e.trans (ofSet s) = e.restr (e ⁻¹' s) 
Arguments: {α : Type u_1} {β : Type u_2} (e : PartialEquiv α β) (s : Set β)
Goal: e.trans (PartialEquiv.ofSet s) = e.restr (↑e ⁻¹' s)
-- PartialEquiv.trans_refl_restr
theorem trans_refl_restr (s : Set β) :
    e.trans ((PartialEquiv.refl β).restr s) = e.restr (e ⁻¹' s) 
Arguments: {α : Type u_1} {β : Type u_2} (e : PartialEquiv α β) (s : Set β)
Goal: e.trans ((PartialEquiv.refl β).restr s) = e.restr (↑e ⁻¹' s)
-- PartialEquiv.trans_refl_restr'
theorem trans_refl_restr' (s : Set β) :
    e.trans ((PartialEquiv.refl β).restr s) = e.restr (e.source ∩ e ⁻¹' s) 
Arguments: {α : Type u_1} {β : Type u_2} (e : PartialEquiv α β) (s : Set β)
Goal: e.trans ((PartialEquiv.refl β).restr s) = e.restr (e.source ∩ ↑e ⁻¹' s)
-- PartialEquiv.restr_trans
theorem restr_trans (s : Set α) : (e.restr s).trans e' = (e.trans e').restr s 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} (e : PartialEquiv α β) (e' : PartialEquiv β γ) (s : Set α)
Goal: (e.restr s).trans e' = (e.trans e').restr s
-- PartialEquiv.mem_symm_trans_source
theorem mem_symm_trans_source {e' : PartialEquiv α γ} {x : α} (he : x ∈ e.source)
    (he' : x ∈ e'.source) : e x ∈ (e.symm.trans e').source 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} (e : PartialEquiv α β) {e' : PartialEquiv α γ} {x : α} (he : x ∈ e.source) (he' : x ∈ e'.source)
Goal: ↑e x ∈ (e.symm.trans e').source
-- PartialEquiv.eqOnSource_refl
theorem eqOnSource_refl : e ≈ e 
Arguments: {α : Type u_1} {β : Type u_2} (e : PartialEquiv α β)
Goal: e ≈ e
-- PartialEquiv.EqOnSource.source_eq
theorem EqOnSource.source_eq {e e' : PartialEquiv α β} (h : e ≈ e') : e.source = e'.source 
Arguments: {α : Type u_1} {β : Type u_2} {e e' : PartialEquiv α β} (h : e ≈ e')
Goal: e.source = e'.source
-- PartialEquiv.EqOnSource.eqOn
theorem EqOnSource.eqOn {e e' : PartialEquiv α β} (h : e ≈ e') : e.source.EqOn e e' 
Arguments: {α : Type u_1} {β : Type u_2} {e e' : PartialEquiv α β} (h : e ≈ e')
Goal: Set.EqOn (↑e) (↑e') e.source
-- PartialEquiv.EqOnSource.target_eq
theorem EqOnSource.target_eq {e e' : PartialEquiv α β} (h : e ≈ e') : e.target = e'.target 
Arguments: {α : Type u_1} {β : Type u_2} {e e' : PartialEquiv α β} (h : e ≈ e')
Goal: e.target = e'.target
-- PartialEquiv.EqOnSource.symm'
theorem EqOnSource.symm' {e e' : PartialEquiv α β} (h : e ≈ e') : e.symm ≈ e'.symm 
Arguments: {α : Type u_1} {β : Type u_2} {e e' : PartialEquiv α β} (h : e ≈ e')
Goal: e.symm ≈ e'.symm
-- PartialEquiv.EqOnSource.symm_eqOn
theorem EqOnSource.symm_eqOn {e e' : PartialEquiv α β} (h : e ≈ e') :
    EqOn e.symm e'.symm e.target 
Arguments: {α : Type u_1} {β : Type u_2} {e e' : PartialEquiv α β} (h : e ≈ e')
Goal: Set.EqOn (↑e.symm) (↑e'.symm) e.target
-- PartialEquiv.EqOnSource.trans'
theorem EqOnSource.trans' {e e' : PartialEquiv α β} {f f' : PartialEquiv β γ} (he : e ≈ e')
    (hf : f ≈ f') : e.trans f ≈ e'.trans f' 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} {e e' : PartialEquiv α β} {f f' : PartialEquiv β γ} (he : e ≈ e') (hf : f ≈ f')
Goal: e.trans f ≈ e'.trans f'
-- PartialEquiv.EqOnSource.restr
theorem EqOnSource.restr {e e' : PartialEquiv α β} (he : e ≈ e') (s : Set α) :
    e.restr s ≈ e'.restr s 
Arguments: {α : Type u_1} {β : Type u_2} {e e' : PartialEquiv α β} (he : e ≈ e') (s : Set α)
Goal: e.restr s ≈ e'.restr s
-- PartialEquiv.EqOnSource.source_inter_preimage_eq
theorem EqOnSource.source_inter_preimage_eq {e e' : PartialEquiv α β} (he : e ≈ e') (s : Set β) :
    e.source ∩ e ⁻¹' s = e'.source ∩ e' ⁻¹' s 
Arguments: {α : Type u_1} {β : Type u_2} {e e' : PartialEquiv α β} (he : e ≈ e') (s : Set β)
Goal: e.source ∩ ↑e ⁻¹' s = e'.source ∩ ↑e' ⁻¹' s
-- PartialEquiv.self_trans_symm
theorem self_trans_symm : e.trans e.symm ≈ ofSet e.source 
Arguments: {α : Type u_1} {β : Type u_2} (e : PartialEquiv α β)
Goal: e.trans e.symm ≈ PartialEquiv.ofSet e.source
-- PartialEquiv.symm_trans_self
theorem symm_trans_self : e.symm.trans e ≈ ofSet e.target 
Arguments: {α : Type u_1} {β : Type u_2} (e : PartialEquiv α β)
Goal: e.symm.trans e ≈ PartialEquiv.ofSet e.target
-- PartialEquiv.eq_of_eqOnSource_univ
theorem eq_of_eqOnSource_univ (e e' : PartialEquiv α β) (h : e ≈ e') (s : e.source = univ)
    (t : e.target = univ) : e = e' 
Arguments: {α : Type u_1} {β : Type u_2} (e e' : PartialEquiv α β) (h : e ≈ e') (s : e.source = Set.univ) (t : e.target = Set.univ)
Goal: e = e'
-- PartialEquiv.prod_source
@[simp, mfld_simps]
theorem prod_source (e : PartialEquiv α β) (e' : PartialEquiv γ δ) :
    (e.prod e').source = e.source ×ˢ e'.source 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} {δ : Type u_4} (e : PartialEquiv α β) (e' : PartialEquiv γ δ)
Goal: (e.prod e').source = e.source ×ˢ e'.source
-- PartialEquiv.prod_target
@[simp, mfld_simps]
theorem prod_target (e : PartialEquiv α β) (e' : PartialEquiv γ δ) :
    (e.prod e').target = e.target ×ˢ e'.target 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} {δ : Type u_4} (e : PartialEquiv α β) (e' : PartialEquiv γ δ)
Goal: (e.prod e').target = e.target ×ˢ e'.target
-- PartialEquiv.prod_coe
@[simp, mfld_simps]
theorem prod_coe (e : PartialEquiv α β) (e' : PartialEquiv γ δ) :
    (e.prod e' : α × γ → β × δ) = fun p => (e p.1, e' p.2) 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} {δ : Type u_4} (e : PartialEquiv α β) (e' : PartialEquiv γ δ)
Goal: ↑(e.prod e') = fun p => (↑e p.1, ↑e' p.2)
-- PartialEquiv.prod_coe_symm
theorem prod_coe_symm (e : PartialEquiv α β) (e' : PartialEquiv γ δ) :
    ((e.prod e').symm : β × δ → α × γ) = fun p => (e.symm p.1, e'.symm p.2) 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} {δ : Type u_4} (e : PartialEquiv α β) (e' : PartialEquiv γ δ)
Goal: ↑(e.prod e').symm = fun p => (↑e.symm p.1, ↑e'.symm p.2)
-- PartialEquiv.prod_symm
@[simp, mfld_simps]
theorem prod_symm (e : PartialEquiv α β) (e' : PartialEquiv γ δ) :
    (e.prod e').symm = e.symm.prod e'.symm 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} {δ : Type u_4} (e : PartialEquiv α β) (e' : PartialEquiv γ δ)
Goal: (e.prod e').symm = e.symm.prod e'.symm
-- PartialEquiv.refl_prod_refl
@[simp, mfld_simps]
theorem refl_prod_refl :
    (PartialEquiv.refl α).prod (PartialEquiv.refl β) = PartialEquiv.refl (α × β) 
Arguments: {α : Type u_1} {β : Type u_2}
Goal: (PartialEquiv.refl α).prod (PartialEquiv.refl β) = PartialEquiv.refl (α × β)
-- PartialEquiv.prod_trans
@[simp, mfld_simps]
theorem prod_trans {η : Type*} {ε : Type*} (e : PartialEquiv α β) (f : PartialEquiv β γ)
    (e' : PartialEquiv δ η) (f' : PartialEquiv η ε) :
    (e.prod e').trans (f.prod f') = (e.trans f).prod (e'.trans f') 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} {δ : Type u_4} {η : Type u_5} {ε : Type u_6} (e : PartialEquiv α β) (f : PartialEquiv β γ) (e' : PartialEquiv δ η) (f' : PartialEquiv η ε)
Goal: (e.prod e').trans (f.prod f') = (e.trans f).prod (e'.trans f')
-- PartialEquiv.piecewise_apply
@[simps (config := .asFn)]
def piecewise (e e' : PartialEquiv α β) (s : Set α) (t : Set β) [∀ x, Decidable (x ∈ s)]
    [∀ y, Decidable (y ∈ t)] (H : e.IsImage s t) (H' : e'.IsImage s t) :
    PartialEquiv α β 
Arguments: {α : Type u_1} {β : Type u_2} (e e' : PartialEquiv α β) (s : Set α) (t : Set β) [(x : α) → Decidable (x ∈ s)] [(y : β) → Decidable (y ∈ t)] (H : e.IsImage s t) (H' : e'.IsImage s t)
Goal: ↑(e.piecewise e' s t H H') = s.piecewise ↑e ↑e'
-- PartialEquiv.piecewise_symm_apply
@[simps (config := .asFn)]
def piecewise (e e' : PartialEquiv α β) (s : Set α) (t : Set β) [∀ x, Decidable (x ∈ s)]
    [∀ y, Decidable (y ∈ t)] (H : e.IsImage s t) (H' : e'.IsImage s t) :
    PartialEquiv α β 
Arguments: {α : Type u_1} {β : Type u_2} (e e' : PartialEquiv α β) (s : Set α) (t : Set β) [(x : α) → Decidable (x ∈ s)] [(y : β) → Decidable (y ∈ t)] (H : e.IsImage s t) (H' : e'.IsImage s t)
Goal: ↑(e.piecewise e' s t H H').symm = t.piecewise ↑e.symm ↑e'.symm
-- PartialEquiv.piecewise_target
@[simps (config := .asFn)]
def piecewise (e e' : PartialEquiv α β) (s : Set α) (t : Set β) [∀ x, Decidable (x ∈ s)]
    [∀ y, Decidable (y ∈ t)] (H : e.IsImage s t) (H' : e'.IsImage s t) :
    PartialEquiv α β 
Arguments: {α : Type u_1} {β : Type u_2} (e e' : PartialEquiv α β) (s : Set α) (t : Set β) [(x : α) → Decidable (x ∈ s)] [(y : β) → Decidable (y ∈ t)] (H : e.IsImage s t) (H' : e'.IsImage s t)
Goal: (e.piecewise e' s t H H').target = t.ite e.target e'.target
-- PartialEquiv.piecewise_source
@[simps (config := .asFn)]
def piecewise (e e' : PartialEquiv α β) (s : Set α) (t : Set β) [∀ x, Decidable (x ∈ s)]
    [∀ y, Decidable (y ∈ t)] (H : e.IsImage s t) (H' : e'.IsImage s t) :
    PartialEquiv α β 
Arguments: {α : Type u_1} {β : Type u_2} (e e' : PartialEquiv α β) (s : Set α) (t : Set β) [(x : α) → Decidable (x ∈ s)] [(y : β) → Decidable (y ∈ t)] (H : e.IsImage s t) (H' : e'.IsImage s t)
Goal: (e.piecewise e' s t H H').source = s.ite e.source e'.source
-- PartialEquiv.symm_piecewise
theorem symm_piecewise (e e' : PartialEquiv α β) {s : Set α} {t : Set β} [∀ x, Decidable (x ∈ s)]
    [∀ y, Decidable (y ∈ t)] (H : e.IsImage s t) (H' : e'.IsImage s t) :
    (e.piecewise e' s t H H').symm = e.symm.piecewise e'.symm t s H.symm H'.symm 
Arguments: {α : Type u_1} {β : Type u_2} (e e' : PartialEquiv α β) {s : Set α} {t : Set β} [(x : α) → Decidable (x ∈ s)] [(y : β) → Decidable (y ∈ t)] (H : e.IsImage s t) (H' : e'.IsImage s t)
Goal: (e.piecewise e' s t H H').symm = e.symm.piecewise e'.symm t s ⋯ ⋯
-- PartialEquiv.disjointUnion_target
@[simps! (config := .asFn)]
def disjointUnion (e e' : PartialEquiv α β) (hs : Disjoint e.source e'.source)
    (ht : Disjoint e.target e'.target) [∀ x, Decidable (x ∈ e.source)]
    [∀ y, Decidable (y ∈ e.target)] : PartialEquiv α β 
Arguments: {α : Type u_1} {β : Type u_2} (e e' : PartialEquiv α β) (hs : Disjoint e.source e'.source) (ht : Disjoint e.target e'.target) [(x : α) → Decidable (x ∈ e.source)] [(y : β) → Decidable (y ∈ e.target)]
Goal: (e.disjointUnion e' hs ht).target = e.target ∪ e'.target
-- PartialEquiv.disjointUnion_apply
@[simps! (config := .asFn)]
def disjointUnion (e e' : PartialEquiv α β) (hs : Disjoint e.source e'.source)
    (ht : Disjoint e.target e'.target) [∀ x, Decidable (x ∈ e.source)]
    [∀ y, Decidable (y ∈ e.target)] : PartialEquiv α β 
Arguments: {α : Type u_1} {β : Type u_2} (e e' : PartialEquiv α β) (hs : Disjoint e.source e'.source) (ht : Disjoint e.target e'.target) [(x : α) → Decidable (x ∈ e.source)] [(y : β) → Decidable (y ∈ e.target)]
Goal: ↑(e.disjointUnion e' hs ht) = e.source.piecewise ↑e ↑e'
-- PartialEquiv.disjointUnion_symm_apply
@[simps! (config := .asFn)]
def disjointUnion (e e' : PartialEquiv α β) (hs : Disjoint e.source e'.source)
    (ht : Disjoint e.target e'.target) [∀ x, Decidable (x ∈ e.source)]
    [∀ y, Decidable (y ∈ e.target)] : PartialEquiv α β 
Arguments: {α : Type u_1} {β : Type u_2} (e e' : PartialEquiv α β) (hs : Disjoint e.source e'.source) (ht : Disjoint e.target e'.target) [(x : α) → Decidable (x ∈ e.source)] [(y : β) → Decidable (y ∈ e.target)]
Goal: ↑(e.disjointUnion e' hs ht).symm = e.target.piecewise ↑e.symm ↑e'.symm
-- PartialEquiv.disjointUnion_source
@[simps! (config := .asFn)]
def disjointUnion (e e' : PartialEquiv α β) (hs : Disjoint e.source e'.source)
    (ht : Disjoint e.target e'.target) [∀ x, Decidable (x ∈ e.source)]
    [∀ y, Decidable (y ∈ e.target)] : PartialEquiv α β 
Arguments: {α : Type u_1} {β : Type u_2} (e e' : PartialEquiv α β) (hs : Disjoint e.source e'.source) (ht : Disjoint e.target e'.target) [(x : α) → Decidable (x ∈ e.source)] [(y : β) → Decidable (y ∈ e.target)]
Goal: (e.disjointUnion e' hs ht).source = e.source ∪ e'.source