ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- ContinuousMap.HomotopyLike.map_one_left
class HomotopyLike {X Y : outParam Type*} [TopologicalSpace X] [TopologicalSpace Y]
    (F : Type*) (f₀ f₁ : outParam <| C(X, Y)) [FunLike F (I × X) Y]
    extends ContinuousMapClass F (I × X) Y : Prop where
    map_zero_left (f : F) : ∀ x, f (0, x) = f₀ x
    map_one_left (f : F) : ∀ x, f (1, x) = f₁ x
Arguments: {X : outParam (Type u_3)} {Y : outParam (Type u_4)} [TopologicalSpace X] [TopologicalSpace Y] {F : Type u_5} {f₀ f₁ : outParam C(X, Y)} [FunLike F (↑I × X) Y] [self : ContinuousMap.HomotopyLike F f₀ f₁] (f : F) (x : X)
Goal: f (1, x) = f₁ x
-- ContinuousMap.Homotopy.ext
@[ext]
theorem ext {F G : Homotopy f₀ f₁} (h : ∀ x, F x = G x) : F = G 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {f₀ f₁ : C(X, Y)} {F G : f₀.Homotopy f₁} (h : ∀ (x : ↑I × X), F x = G x)
Goal: F = G
-- ContinuousMap.Homotopy.continuous
protected theorem continuous (F : Homotopy f₀ f₁) : Continuous F 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {f₀ f₁ : C(X, Y)} (F : f₀.Homotopy f₁)
Goal: Continuous ⇑F
-- ContinuousMap.Homotopy.apply_zero
@[simp]
theorem apply_zero (F : Homotopy f₀ f₁) (x : X) : F (0, x) = f₀ x 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {f₀ f₁ : C(X, Y)} (F : f₀.Homotopy f₁) (x : X)
Goal: F (0, x) = f₀ x
-- ContinuousMap.Homotopy.apply_one
@[simp]
theorem apply_one (F : Homotopy f₀ f₁) (x : X) : F (1, x) = f₁ x 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {f₀ f₁ : C(X, Y)} (F : f₀.Homotopy f₁) (x : X)
Goal: F (1, x) = f₁ x
-- ContinuousMap.Homotopy.coe_toContinuousMap
@[simp]
theorem coe_toContinuousMap (F : Homotopy f₀ f₁) : ⇑F.toContinuousMap = F 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {f₀ f₁ : C(X, Y)} (F : f₀.Homotopy f₁)
Goal: ⇑F.toContinuousMap = ⇑F
-- ContinuousMap.Homotopy.curry_apply
@[simp]
theorem curry_apply (F : Homotopy f₀ f₁) (t : I) (x : X) : F.curry t x = F (t, x) 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {f₀ f₁ : C(X, Y)} (F : f₀.Homotopy f₁) (t : ↑I) (x : X)
Goal: (F.curry t) x = F (t, x)
-- ContinuousMap.Homotopy.extend_apply_of_le_zero
theorem extend_apply_of_le_zero (F : Homotopy f₀ f₁) {t : ℝ} (ht : t ≤ 0) (x : X) :
    F.extend t x = f₀ x 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {f₀ f₁ : C(X, Y)} (F : f₀.Homotopy f₁) {t : ℝ} (ht : t ≤ 0) (x : X)
Goal: (F.extend t) x = f₀ x
-- ContinuousMap.Homotopy.extend_apply_of_one_le
theorem extend_apply_of_one_le (F : Homotopy f₀ f₁) {t : ℝ} (ht : 1 ≤ t) (x : X) :
    F.extend t x = f₁ x 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {f₀ f₁ : C(X, Y)} (F : f₀.Homotopy f₁) {t : ℝ} (ht : 1 ≤ t) (x : X)
Goal: (F.extend t) x = f₁ x
-- ContinuousMap.Homotopy.extend_apply_coe
@[simp]
theorem extend_apply_coe (F : Homotopy f₀ f₁) (t : I) (x : X) : F.extend t x = F (t, x) 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {f₀ f₁ : C(X, Y)} (F : f₀.Homotopy f₁) (t : ↑I) (x : X)
Goal: (F.extend ↑t) x = F (t, x)
-- ContinuousMap.Homotopy.extend_apply_of_mem_I
@[simp]
theorem extend_apply_of_mem_I (F : Homotopy f₀ f₁) {t : ℝ} (ht : t ∈ I) (x : X) :
    F.extend t x = F (⟨t, ht⟩, x) 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {f₀ f₁ : C(X, Y)} (F : f₀.Homotopy f₁) {t : ℝ} (ht : t ∈ I) (x : X)
Goal: (F.extend t) x = F (⟨t, ht⟩, x)
-- ContinuousMap.Homotopy.congr_fun
protected theorem congr_fun {F G : Homotopy f₀ f₁} (h : F = G) (x : I × X) : F x = G x 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {f₀ f₁ : C(X, Y)} {F G : f₀.Homotopy f₁} (h : F = G) (x : ↑I × X)
Goal: F x = G x
-- ContinuousMap.Homotopy.congr_arg
protected theorem congr_arg (F : Homotopy f₀ f₁) {x y : I × X} (h : x = y) : F x = F y 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {f₀ f₁ : C(X, Y)} (F : f₀.Homotopy f₁) {x y : ↑I × X} (h : x = y)
Goal: F x = F y
-- ContinuousMap.Homotopy.refl_apply
@[simps]
def refl (f : C(X, Y)) : Homotopy f f 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] (f : C(X, Y)) (x : ↑I × X)
Goal: (ContinuousMap.Homotopy.refl f) x = f x.2
-- ContinuousMap.Homotopy.symm_apply
@[simps]
def symm {f₀ f₁ : C(X, Y)} (F : Homotopy f₀ f₁) : Homotopy f₁ f₀ 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {f₀ f₁ : C(X, Y)} (F : f₀.Homotopy f₁) (x : ↑I × X)
Goal: F.symm x = F (σ x.1, x.2)
-- ContinuousMap.Homotopy.symm_symm
@[simp]
theorem symm_symm {f₀ f₁ : C(X, Y)} (F : Homotopy f₀ f₁) : F.symm.symm = F 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {f₀ f₁ : C(X, Y)} (F : f₀.Homotopy f₁)
Goal: F.symm.symm = F
-- ContinuousMap.Homotopy.symm_bijective
theorem symm_bijective {f₀ f₁ : C(X, Y)} :
    Function.Bijective (Homotopy.symm : Homotopy f₀ f₁ → Homotopy f₁ f₀) 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {f₀ f₁ : C(X, Y)}
Goal: Function.Bijective ContinuousMap.Homotopy.symm
-- ContinuousMap.Homotopy.trans_apply
theorem trans_apply {f₀ f₁ f₂ : C(X, Y)} (F : Homotopy f₀ f₁) (G : Homotopy f₁ f₂) (x : I × X) :
    (F.trans G) x =
      if h : (x.1 : ℝ) ≤ 1 / 2 then
        F (⟨2 * x.1, (unitInterval.mul_pos_mem_iff zero_lt_two).2 ⟨x.1.2.1, h⟩⟩, x.2)
      else
        G (⟨2 * x.1 - 1, unitInterval.two_mul_sub_one_mem_iff.2 ⟨(not_le.1 h).le, x.1.2.2⟩⟩, x.2) 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {f₀ f₁ f₂ : C(X, Y)} (F : f₀.Homotopy f₁) (G : f₁.Homotopy f₂) (x : ↑I × X)
Goal: (F.trans G) x = if h : ↑x.1 ≤ 1 / 2 then F (⟨2 * ↑x.1, ⋯⟩, x.2) else G (⟨2 * ↑x.1 - 1, ⋯⟩, x.2)
-- ContinuousMap.Homotopy.symm_trans
theorem symm_trans {f₀ f₁ f₂ : C(X, Y)} (F : Homotopy f₀ f₁) (G : Homotopy f₁ f₂) :
    (F.trans G).symm = G.symm.trans F.symm 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {f₀ f₁ f₂ : C(X, Y)} (F : f₀.Homotopy f₁) (G : f₁.Homotopy f₂)
Goal: (F.trans G).symm = G.symm.trans F.symm
-- ContinuousMap.Homotopy.cast_apply
@[simps]
def cast {f₀ f₁ g₀ g₁ : C(X, Y)} (F : Homotopy f₀ f₁) (h₀ : f₀ = g₀) (h₁ : f₁ = g₁) :
    Homotopy g₀ g₁ 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {f₀ f₁ g₀ g₁ : C(X, Y)} (F : f₀.Homotopy f₁) (h₀ : f₀ = g₀) (h₁ : f₁ = g₁) (a : ↑I × X)
Goal: (F.cast h₀ h₁) a = F a
-- ContinuousMap.Homotopy.compContinuousMap_apply
@[simps!]
def compContinuousMap {g₀ g₁ : C(Y, Z)} (G : Homotopy g₀ g₁) (f : C(X, Y)) :
    Homotopy (g₀.comp f) (g₁.comp f) 
Arguments: {X : Type u} {Y : Type v} {Z : Type w} [TopologicalSpace X] [TopologicalSpace Y] [TopologicalSpace Z] {g₀ g₁ : C(Y, Z)} (G : g₀.Homotopy g₁) (f : C(X, Y))
Goal: ∀ (a : ↑I × X), (G.compContinuousMap f) a = G (Prod.map id (⇑f) a)
-- ContinuousMap.Homotopy.hcomp_apply
@[simps]
def hcomp {f₀ f₁ : C(X, Y)} {g₀ g₁ : C(Y, Z)} (F : Homotopy f₀ f₁) (G : Homotopy g₀ g₁) :
    Homotopy (g₀.comp f₀) (g₁.comp f₁) 
Arguments: {X : Type u} {Y : Type v} {Z : Type w} [TopologicalSpace X] [TopologicalSpace Y] [TopologicalSpace Z] {f₀ f₁ : C(X, Y)} {g₀ g₁ : C(Y, Z)} (F : f₀.Homotopy f₁) (G : g₀.Homotopy g₁) (x : ↑I × X)
Goal: (F.hcomp G) x = G (x.1, F x)
-- ContinuousMap.Homotopic.refl
@[refl]
theorem refl (f : C(X, Y)) : Homotopic f f 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] (f : C(X, Y))
Goal: f.Homotopic f
-- ContinuousMap.Homotopic.symm
@[symm]
theorem symm ⦃f g : C(X, Y)⦄ (h : Homotopic f g) : Homotopic g f 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] ⦃f g : C(X, Y)⦄ (h : f.Homotopic g)
Goal: g.Homotopic f
-- ContinuousMap.Homotopic.trans
@[trans]
theorem trans ⦃f g h : C(X, Y)⦄ (h₀ : Homotopic f g) (h₁ : Homotopic g h) : Homotopic f h 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] ⦃f g h : C(X, Y)⦄ (h₀ : f.Homotopic g) (h₁ : g.Homotopic h)
Goal: f.Homotopic h
-- ContinuousMap.Homotopic.hcomp
theorem hcomp {f₀ f₁ : C(X, Y)} {g₀ g₁ : C(Y, Z)} (h₀ : Homotopic f₀ f₁) (h₁ : Homotopic g₀ g₁) :
    Homotopic (g₀.comp f₀) (g₁.comp f₁) 
Arguments: {X : Type u} {Y : Type v} {Z : Type w} [TopologicalSpace X] [TopologicalSpace Y] [TopologicalSpace Z] {f₀ f₁ : C(X, Y)} {g₀ g₁ : C(Y, Z)} (h₀ : f₀.Homotopic f₁) (h₁ : g₀.Homotopic g₁)
Goal: (g₀.comp f₀).Homotopic (g₁.comp f₁)
-- ContinuousMap.Homotopic.equivalence
theorem equivalence : Equivalence (@Homotopic X Y _ _) 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y]
Goal: Equivalence ContinuousMap.Homotopic
-- ContinuousMap.Homotopic.prodMk
nonrec theorem prodMk {f₀ f₁ : C(X, Y)} {g₀ g₁ : C(X, Z)} :
    Homotopic f₀ f₁ → Homotopic g₀ g₁ → Homotopic (f₀.prodMk g₀) (f₁.prodMk g₁)
  
Arguments: {X : Type u} {Y : Type v} {Z : Type w} [TopologicalSpace X] [TopologicalSpace Y] [TopologicalSpace Z] {f₀ f₁ : C(X, Y)} {g₀ g₁ : C(X, Z)}
Goal: f₀.Homotopic f₁ → g₀.Homotopic g₁ → (f₀.prodMk g₀).Homotopic (f₁.prodMk g₁)
-- ContinuousMap.Homotopic.prodMap
nonrec theorem prodMap {f₀ f₁ : C(X, Y)} {g₀ g₁ : C(Z, Z')} :
    Homotopic f₀ f₁ → Homotopic g₀ g₁ → Homotopic (f₀.prodMap g₀) (f₁.prodMap g₁)
  
Arguments: {X : Type u} {Y : Type v} {Z : Type w} {Z' : Type x} [TopologicalSpace X] [TopologicalSpace Y] [TopologicalSpace Z] [TopologicalSpace Z'] {f₀ f₁ : C(X, Y)} {g₀ g₁ : C(Z, Z')}
Goal: f₀.Homotopic f₁ → g₀.Homotopic g₁ → (f₀.prodMap g₀).Homotopic (f₁.prodMap g₁)
-- ContinuousMap.Homotopic.pi
protected theorem pi {Y : ι → Type*} [∀ i, TopologicalSpace (Y i)] {f₀ f₁ : ∀ i, C(X, Y i)}
    (F : ∀ i, Homotopic (f₀ i) (f₁ i)) :
    Homotopic (.pi f₀) (.pi f₁) 
Arguments: {X : Type u} {ι : Type u_2} [TopologicalSpace X] {Y : ι → Type u_3} [(i : ι) → TopologicalSpace (Y i)] {f₀ f₁ : (i : ι) → C(X, Y i)} (F : ∀ (i : ι), (f₀ i).Homotopic (f₁ i))
Goal: (ContinuousMap.pi f₀).Homotopic (ContinuousMap.pi f₁)
-- ContinuousMap.Homotopic.piMap
protected theorem piMap {X Y : ι → Type*} [∀ i, TopologicalSpace (X i)]
    [∀ i, TopologicalSpace (Y i)] {f₀ f₁ : ∀ i, C(X i, Y i)} (F : ∀ i, Homotopic (f₀ i) (f₁ i)) :
    Homotopic (.piMap f₀) (.piMap f₁) 
Arguments: {ι : Type u_2} {X : ι → Type u_3} {Y : ι → Type u_4} [(i : ι) → TopologicalSpace (X i)] [(i : ι) → TopologicalSpace (Y i)] {f₀ f₁ : (i : ι) → C(X i, Y i)} (F : ∀ (i : ι), (f₀ i).Homotopic (f₁ i))
Goal: (ContinuousMap.piMap f₀).Homotopic (ContinuousMap.piMap f₁)
-- ContinuousMap.HomotopyWith.prop'
structure HomotopyWith (f₀ f₁ : C(X, Y)) (P : C(X, Y) → Prop) extends Homotopy f₀ f₁ where
  -- Porting note (#11215): TODO: use `toHomotopy.curry t`
    prop' : ∀ t, P ⟨fun x => toFun (t, x),
    Continuous.comp continuous_toFun (continuous_const.prod_mk continuous_id')⟩
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {f₀ f₁ : C(X, Y)} {P : C(X, Y) → Prop} (self : f₀.HomotopyWith f₁ P) (t : ↑I)
Goal: P { toFun := fun x => self.toFun (t, x), continuous_toFun := ⋯ }
-- ContinuousMap.HomotopyWith.coeFn_injective
theorem coeFn_injective : @Function.Injective (HomotopyWith f₀ f₁ P) (I × X → Y) (⇑) 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {f₀ f₁ : C(X, Y)} {P : C(X, Y) → Prop}
Goal: Function.Injective DFunLike.coe
-- ContinuousMap.HomotopyWith.ext
@[ext]
theorem ext {F G : HomotopyWith f₀ f₁ P} (h : ∀ x, F x = G x) : F = G 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {f₀ f₁ : C(X, Y)} {P : C(X, Y) → Prop} {F G : f₀.HomotopyWith f₁ P} (h : ∀ (x : ↑I × X), F x = G x)
Goal: F = G
-- ContinuousMap.HomotopyWith.continuous
@[continuity]
protected theorem continuous (F : HomotopyWith f₀ f₁ P) : Continuous F 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {f₀ f₁ : C(X, Y)} {P : C(X, Y) → Prop} (F : f₀.HomotopyWith f₁ P)
Goal: Continuous ⇑F
-- ContinuousMap.HomotopyWith.apply_zero
@[simp]
theorem apply_zero (F : HomotopyWith f₀ f₁ P) (x : X) : F (0, x) = f₀ x 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {f₀ f₁ : C(X, Y)} {P : C(X, Y) → Prop} (F : f₀.HomotopyWith f₁ P) (x : X)
Goal: F (0, x) = f₀ x
-- ContinuousMap.HomotopyWith.apply_one
@[simp]
theorem apply_one (F : HomotopyWith f₀ f₁ P) (x : X) : F (1, x) = f₁ x 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {f₀ f₁ : C(X, Y)} {P : C(X, Y) → Prop} (F : f₀.HomotopyWith f₁ P) (x : X)
Goal: F (1, x) = f₁ x
-- ContinuousMap.HomotopyWith.coe_toContinuousMap
theorem coe_toContinuousMap (F : HomotopyWith f₀ f₁ P) : ⇑F.toContinuousMap = F 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {f₀ f₁ : C(X, Y)} {P : C(X, Y) → Prop} (F : f₀.HomotopyWith f₁ P)
Goal: ⇑F.toContinuousMap = ⇑F
-- ContinuousMap.HomotopyWith.coe_toHomotopy
@[simp]
theorem coe_toHomotopy (F : HomotopyWith f₀ f₁ P) : ⇑F.toHomotopy = F 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {f₀ f₁ : C(X, Y)} {P : C(X, Y) → Prop} (F : f₀.HomotopyWith f₁ P)
Goal: ⇑F.toHomotopy = ⇑F
-- ContinuousMap.HomotopyWith.prop
theorem prop (F : HomotopyWith f₀ f₁ P) (t : I) : P (F.toHomotopy.curry t) 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {f₀ f₁ : C(X, Y)} {P : C(X, Y) → Prop} (F : f₀.HomotopyWith f₁ P) (t : ↑I)
Goal: P (F.curry t)
-- ContinuousMap.HomotopyWith.extendProp
theorem extendProp (F : HomotopyWith f₀ f₁ P) (t : ℝ) : P (F.toHomotopy.extend t) 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {f₀ f₁ : C(X, Y)} {P : C(X, Y) → Prop} (F : f₀.HomotopyWith f₁ P) (t : ℝ)
Goal: P (F.extend t)
-- ContinuousMap.HomotopyWith.refl_toFun
@[simps!]
def refl (f : C(X, Y)) (hf : P f) : HomotopyWith f f P 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {P : C(X, Y) → Prop} (f : C(X, Y)) (hf : P f) (x : ↑I × X)
Goal: (ContinuousMap.HomotopyWith.refl f hf) x = f x.2
-- ContinuousMap.HomotopyWith.refl_apply
@[simps!]
def refl (f : C(X, Y)) (hf : P f) : HomotopyWith f f P 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {P : C(X, Y) → Prop} (f : C(X, Y)) (hf : P f) (x : ↑I × X)
Goal: (ContinuousMap.HomotopyWith.refl f hf) x = f x.2
-- ContinuousMap.HomotopyWith.symm_apply
@[simps!]
def symm {f₀ f₁ : C(X, Y)} (F : HomotopyWith f₀ f₁ P) : HomotopyWith f₁ f₀ P 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {P : C(X, Y) → Prop} {f₀ f₁ : C(X, Y)} (F : f₀.HomotopyWith f₁ P) (x : ↑I × X)
Goal: F.symm x = F (σ x.1, x.2)
-- ContinuousMap.HomotopyWith.symm_toFun
@[simps!]
def symm {f₀ f₁ : C(X, Y)} (F : HomotopyWith f₀ f₁ P) : HomotopyWith f₁ f₀ P 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {P : C(X, Y) → Prop} {f₀ f₁ : C(X, Y)} (F : f₀.HomotopyWith f₁ P) (x : ↑I × X)
Goal: F.symm x = F (σ x.1, x.2)
-- ContinuousMap.HomotopyWith.symm_symm
@[simp]
theorem symm_symm {f₀ f₁ : C(X, Y)} (F : HomotopyWith f₀ f₁ P) : F.symm.symm = F 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {P : C(X, Y) → Prop} {f₀ f₁ : C(X, Y)} (F : f₀.HomotopyWith f₁ P)
Goal: F.symm.symm = F
-- ContinuousMap.HomotopyWith.symm_bijective
theorem symm_bijective {f₀ f₁ : C(X, Y)} :
    Function.Bijective (HomotopyWith.symm : HomotopyWith f₀ f₁ P → HomotopyWith f₁ f₀ P) 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {P : C(X, Y) → Prop} {f₀ f₁ : C(X, Y)}
Goal: Function.Bijective ContinuousMap.HomotopyWith.symm
-- ContinuousMap.HomotopyWith.trans_apply
theorem trans_apply {f₀ f₁ f₂ : C(X, Y)} (F : HomotopyWith f₀ f₁ P) (G : HomotopyWith f₁ f₂ P)
    (x : I × X) :
    (F.trans G) x =
      if h : (x.1 : ℝ) ≤ 1 / 2 then
        F (⟨2 * x.1, (unitInterval.mul_pos_mem_iff zero_lt_two).2 ⟨x.1.2.1, h⟩⟩, x.2)
      else
        G (⟨2 * x.1 - 1, unitInterval.two_mul_sub_one_mem_iff.2 ⟨(not_le.1 h).le, x.1.2.2⟩⟩, x.2) 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {P : C(X, Y) → Prop} {f₀ f₁ f₂ : C(X, Y)} (F : f₀.HomotopyWith f₁ P) (G : f₁.HomotopyWith f₂ P) (x : ↑I × X)
Goal: (F.trans G) x = if h : ↑x.1 ≤ 1 / 2 then F (⟨2 * ↑x.1, ⋯⟩, x.2) else G (⟨2 * ↑x.1 - 1, ⋯⟩, x.2)
-- ContinuousMap.HomotopyWith.symm_trans
theorem symm_trans {f₀ f₁ f₂ : C(X, Y)} (F : HomotopyWith f₀ f₁ P) (G : HomotopyWith f₁ f₂ P) :
    (F.trans G).symm = G.symm.trans F.symm 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {P : C(X, Y) → Prop} {f₀ f₁ f₂ : C(X, Y)} (F : f₀.HomotopyWith f₁ P) (G : f₁.HomotopyWith f₂ P)
Goal: (F.trans G).symm = G.symm.trans F.symm
-- ContinuousMap.HomotopyWith.cast_apply
@[simps!]
def cast {f₀ f₁ g₀ g₁ : C(X, Y)} (F : HomotopyWith f₀ f₁ P) (h₀ : f₀ = g₀) (h₁ : f₁ = g₁) :
    HomotopyWith g₀ g₁ P 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {P : C(X, Y) → Prop} {f₀ f₁ g₀ g₁ : C(X, Y)} (F : f₀.HomotopyWith f₁ P) (h₀ : f₀ = g₀) (h₁ : f₁ = g₁) (a : ↑I × X)
Goal: (F.cast h₀ h₁) a = F a
-- ContinuousMap.HomotopyWith.cast_toFun
@[simps!]
def cast {f₀ f₁ g₀ g₁ : C(X, Y)} (F : HomotopyWith f₀ f₁ P) (h₀ : f₀ = g₀) (h₁ : f₁ = g₁) :
    HomotopyWith g₀ g₁ P 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {P : C(X, Y) → Prop} {f₀ f₁ g₀ g₁ : C(X, Y)} (F : f₀.HomotopyWith f₁ P) (h₀ : f₀ = g₀) (h₁ : f₁ = g₁) (a : ↑I × X)
Goal: (F.cast h₀ h₁) a = F a
-- ContinuousMap.HomotopicWith.refl
theorem refl (f : C(X, Y)) (hf : P f) : HomotopicWith f f P 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {P : C(X, Y) → Prop} (f : C(X, Y)) (hf : P f)
Goal: f.HomotopicWith f P
-- ContinuousMap.HomotopicWith.symm
@[symm]
theorem symm ⦃f g : C(X, Y)⦄ (h : HomotopicWith f g P) : HomotopicWith g f P 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {P : C(X, Y) → Prop} ⦃f g : C(X, Y)⦄ (h : f.HomotopicWith g P)
Goal: g.HomotopicWith f P
-- ContinuousMap.HomotopicWith.trans
@[trans]
theorem trans ⦃f g h : C(X, Y)⦄ (h₀ : HomotopicWith f g P) (h₁ : HomotopicWith g h P) :
    HomotopicWith f h P 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {P : C(X, Y) → Prop} ⦃f g h : C(X, Y)⦄ (h₀ : f.HomotopicWith g P) (h₁ : g.HomotopicWith h P)
Goal: f.HomotopicWith h P
-- ContinuousMap.HomotopyRel.eq_fst
theorem eq_fst (F : HomotopyRel f₀ f₁ S) (t : I) {x : X} (hx : x ∈ S) : F (t, x) = f₀ x 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {f₀ f₁ : C(X, Y)} {S : Set X} (F : f₀.HomotopyRel f₁ S) (t : ↑I) {x : X} (hx : x ∈ S)
Goal: F (t, x) = f₀ x
-- ContinuousMap.HomotopyRel.eq_snd
theorem eq_snd (F : HomotopyRel f₀ f₁ S) (t : I) {x : X} (hx : x ∈ S) : F (t, x) = f₁ x 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {f₀ f₁ : C(X, Y)} {S : Set X} (F : f₀.HomotopyRel f₁ S) (t : ↑I) {x : X} (hx : x ∈ S)
Goal: F (t, x) = f₁ x
-- ContinuousMap.HomotopyRel.fst_eq_snd
theorem fst_eq_snd (F : HomotopyRel f₀ f₁ S) {x : X} (hx : x ∈ S) : f₀ x = f₁ x 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {f₀ f₁ : C(X, Y)} {S : Set X} (F : f₀.HomotopyRel f₁ S) {x : X} (hx : x ∈ S)
Goal: f₀ x = f₁ x
-- ContinuousMap.HomotopyRel.refl_toFun
@[simps!]
def refl (f : C(X, Y)) (S : Set X) : HomotopyRel f f S 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] (f : C(X, Y)) (S : Set X) (x : ↑I × X)
Goal: (ContinuousMap.HomotopyRel.refl f S) x = f x.2
-- ContinuousMap.HomotopyRel.refl_apply
@[simps!]
def refl (f : C(X, Y)) (S : Set X) : HomotopyRel f f S 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] (f : C(X, Y)) (S : Set X) (x : ↑I × X)
Goal: (ContinuousMap.HomotopyRel.refl f S) x = f x.2
-- ContinuousMap.HomotopyRel.symm_toFun
@[simps!]
def symm (F : HomotopyRel f₀ f₁ S) : HomotopyRel f₁ f₀ S 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {f₀ f₁ : C(X, Y)} {S : Set X} (F : f₀.HomotopyRel f₁ S) (x : ↑I × X)
Goal: F.symm x = F (σ x.1, x.2)
-- ContinuousMap.HomotopyRel.symm_apply
@[simps!]
def symm (F : HomotopyRel f₀ f₁ S) : HomotopyRel f₁ f₀ S 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {f₀ f₁ : C(X, Y)} {S : Set X} (F : f₀.HomotopyRel f₁ S) (x : ↑I × X)
Goal: F.symm x = F (σ x.1, x.2)
-- ContinuousMap.HomotopyRel.symm_symm
@[simp]
theorem symm_symm (F : HomotopyRel f₀ f₁ S) : F.symm.symm = F 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {f₀ f₁ : C(X, Y)} {S : Set X} (F : f₀.HomotopyRel f₁ S)
Goal: F.symm.symm = F
-- ContinuousMap.HomotopyRel.symm_bijective
theorem symm_bijective :
    Function.Bijective (HomotopyRel.symm : HomotopyRel f₀ f₁ S → HomotopyRel f₁ f₀ S) 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {f₀ f₁ : C(X, Y)} {S : Set X}
Goal: Function.Bijective ContinuousMap.HomotopyRel.symm
-- ContinuousMap.HomotopyRel.trans_apply
theorem trans_apply (F : HomotopyRel f₀ f₁ S) (G : HomotopyRel f₁ f₂ S) (x : I × X) :
    (F.trans G) x =
      if h : (x.1 : ℝ) ≤ 1 / 2 then
        F (⟨2 * x.1, (unitInterval.mul_pos_mem_iff zero_lt_two).2 ⟨x.1.2.1, h⟩⟩, x.2)
      else
        G (⟨2 * x.1 - 1, unitInterval.two_mul_sub_one_mem_iff.2 ⟨(not_le.1 h).le, x.1.2.2⟩⟩, x.2) 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {f₀ f₁ f₂ : C(X, Y)} {S : Set X} (F : f₀.HomotopyRel f₁ S) (G : f₁.HomotopyRel f₂ S) (x : ↑I × X)
Goal: (F.trans G) x = if h : ↑x.1 ≤ 1 / 2 then F (⟨2 * ↑x.1, ⋯⟩, x.2) else G (⟨2 * ↑x.1 - 1, ⋯⟩, x.2)
-- ContinuousMap.HomotopyRel.symm_trans
theorem symm_trans (F : HomotopyRel f₀ f₁ S) (G : HomotopyRel f₁ f₂ S) :
    (F.trans G).symm = G.symm.trans F.symm 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {f₀ f₁ f₂ : C(X, Y)} {S : Set X} (F : f₀.HomotopyRel f₁ S) (G : f₁.HomotopyRel f₂ S)
Goal: (F.trans G).symm = G.symm.trans F.symm
-- ContinuousMap.HomotopyRel.cast_toFun
@[simps!]
def cast {f₀ f₁ g₀ g₁ : C(X, Y)} (F : HomotopyRel f₀ f₁ S) (h₀ : f₀ = g₀) (h₁ : f₁ = g₁) :
    HomotopyRel g₀ g₁ S 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {S : Set X} {f₀ f₁ g₀ g₁ : C(X, Y)} (F : f₀.HomotopyRel f₁ S) (h₀ : f₀ = g₀) (h₁ : f₁ = g₁) (a : ↑I × X)
Goal: (F.cast h₀ h₁) a = F a
-- ContinuousMap.HomotopyRel.cast_apply
@[simps!]
def cast {f₀ f₁ g₀ g₁ : C(X, Y)} (F : HomotopyRel f₀ f₁ S) (h₀ : f₀ = g₀) (h₁ : f₁ = g₁) :
    HomotopyRel g₀ g₁ S 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {S : Set X} {f₀ f₁ g₀ g₁ : C(X, Y)} (F : f₀.HomotopyRel f₁ S) (h₀ : f₀ = g₀) (h₁ : f₁ = g₁) (a : ↑I × X)
Goal: (F.cast h₀ h₁) a = F a
-- ContinuousMap.HomotopyRel.compContinuousMap_apply
@[simps!] def compContinuousMap {f₀ f₁ : C(X, Y)} (F : f₀.HomotopyRel f₁ S) (g : C(Y, Z)) :
    (g.comp f₀).HomotopyRel (g.comp f₁) S 
Arguments: {X : Type u} {Y : Type v} {Z : Type w} [TopologicalSpace X] [TopologicalSpace Y] [TopologicalSpace Z] {S : Set X} {f₀ f₁ : C(X, Y)} (F : f₀.HomotopyRel f₁ S) (g : C(Y, Z)) (x : ↑I × X)
Goal: (F.compContinuousMap g) x = g (F x)
-- ContinuousMap.HomotopyRel.compContinuousMap_toFun
@[simps!] def compContinuousMap {f₀ f₁ : C(X, Y)} (F : f₀.HomotopyRel f₁ S) (g : C(Y, Z)) :
    (g.comp f₀).HomotopyRel (g.comp f₁) S 
Arguments: {X : Type u} {Y : Type v} {Z : Type w} [TopologicalSpace X] [TopologicalSpace Y] [TopologicalSpace Z] {S : Set X} {f₀ f₁ : C(X, Y)} (F : f₀.HomotopyRel f₁ S) (g : C(Y, Z)) (x : ↑I × X)
Goal: (F.compContinuousMap g) x = g (F x)
-- ContinuousMap.HomotopicRel.homotopic
protected theorem homotopic {f₀ f₁ : C(X, Y)} (h : HomotopicRel f₀ f₁ S) : Homotopic f₀ f₁ 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {S : Set X} {f₀ f₁ : C(X, Y)} (h : f₀.HomotopicRel f₁ S)
Goal: f₀.Homotopic f₁
-- ContinuousMap.HomotopicRel.refl
theorem refl (f : C(X, Y)) : HomotopicRel f f S 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {S : Set X} (f : C(X, Y))
Goal: f.HomotopicRel f S
-- ContinuousMap.HomotopicRel.symm
@[symm]
theorem symm ⦃f g : C(X, Y)⦄ (h : HomotopicRel f g S) : HomotopicRel g f S 
Arguments: {X : Type u} {Y : Type v} [TopologicalSpace X] [TopologicalSpace Y] {S : Set X} ⦃f g : C(X, Y)⦄ (h : f.HomotopicRel g S)
Goal: g.HomotopicRel f S