ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Computability.decode_encodePosNum
theorem decode_encodePosNum : ∀ n, decodePosNum (encodePosNum n) = n 
Arguments: (n : PosNum)
Goal: Computability.decodePosNum (Computability.encodePosNum n) = n
-- Computability.decode_encodeNum
theorem decode_encodeNum : ∀ n, decodeNum (encodeNum n) = n 
Arguments: (n : Num)
Goal: Computability.decodeNum (Computability.encodeNum n) = n
-- Computability.decode_encodeNat
theorem decode_encodeNat : ∀ n, decodeNat (encodeNat n) = n 
Arguments: (n : ℕ)
Goal: Computability.decodeNat (Computability.encodeNat n) = n
-- Computability.unary_decode_encode_nat
theorem unary_decode_encode_nat : ∀ n, unaryDecodeNat (unaryEncodeNat n) = n 
Arguments: (n : ℕ)
Goal: Computability.unaryDecodeNat (Computability.unaryEncodeNat n) = n
-- Computability.decode_encodeBool
theorem decode_encodeBool (b : Bool) : decodeBool (encodeBool b) = b 
Arguments: (b : Bool)
Goal: Computability.decodeBool (Computability.encodeBool b) = b
-- Computability.Encoding.card_le_card_list
theorem Encoding.card_le_card_list {α : Type u} (e : Encoding.{u, v} α) :
    Cardinal.lift.{v} #α ≤ Cardinal.lift.{u} #(List e.Γ) 
Arguments: {α : Type u} (e : Computability.Encoding α)
Goal: Cardinal.lift.{v, u} #α ≤ Cardinal.lift.{u, v} #(List e.Γ)
-- Computability.Encoding.card_le_aleph0
theorem Encoding.card_le_aleph0 {α : Type u} (e : Encoding.{u, v} α) [Countable e.Γ] :
    #α ≤ ℵ₀ 
Arguments: {α : Type u} (e : Computability.Encoding α) [Countable e.Γ]
Goal: #α ≤ ℵ₀
-- Computability.FinEncoding.card_le_aleph0
theorem FinEncoding.card_le_aleph0 {α : Type u} (e : FinEncoding α) : #α ≤ ℵ₀ 
Arguments: {α : Type u} (e : Computability.FinEncoding α)
Goal: #α ≤ ℵ₀
-- AlgebraicGeometry.PresheafedSpace.map_id_c_app
@[simp]
theorem map_id_c_app (F : J ⥤ PresheafedSpace.{_, _, v} C) (j) (U) :
    (F.map (𝟙 j)).c.app U =
      (Pushforward.id (F.obj j).presheaf).inv.app U ≫
        (pushforwardEq (by simp) (F.obj j).presheaf).hom.app U 
Arguments: {J : Type u'} [CategoryTheory.Category.{v', u'} J] {C : Type u} [CategoryTheory.Category.{v, u} C] (F : J ⥤ AlgebraicGeometry.PresheafedSpace C) (j : J) (U : (TopologicalSpace.Opens ↑↑(F.obj j))ᵒᵖ)
Goal: (F.map (𝟙 j)).c.app U =
  (TopCat.Presheaf.Pushforward.id (F.obj j).presheaf).inv.app U ≫
    (TopCat.Presheaf.pushforwardEq ⋯ (F.obj j).presheaf).hom.app U
-- AlgebraicGeometry.PresheafedSpace.map_comp_c_app
@[simp]
theorem map_comp_c_app (F : J ⥤ PresheafedSpace.{_, _, v} C) {j₁ j₂ j₃}
    (f : j₁ ⟶ j₂) (g : j₂ ⟶ j₃) (U) :
    (F.map (f ≫ g)).c.app U =
      (F.map g).c.app U ≫
        ((pushforward C (F.map g).base).map (F.map f).c).app U ≫
          (pushforwardEq (congr_arg Hom.base (F.map_comp f g).symm) _).hom.app U 
Arguments: {J : Type u'} [CategoryTheory.Category.{v', u'} J] {C : Type u} [CategoryTheory.Category.{v, u} C] (F : J ⥤ AlgebraicGeometry.PresheafedSpace C) {j₁ j₂ j₃ : J} (f : j₁ ⟶ j₂) (g : j₂ ⟶ j₃) (U : (TopologicalSpace.Opens ↑↑(F.obj j₃))ᵒᵖ)
Goal: (F.map (f ≫ g)).c.app U =
  (F.map g).c.app U ≫
    ((TopCat.Presheaf.pushforward C (F.map g).base).map (F.map f).c).app U ≫
      (TopCat.Presheaf.pushforwardEq ⋯ (F.obj j₁).presheaf).hom.app U
-- AlgebraicGeometry.PresheafedSpace.componentwiseDiagram_obj
@[simps]
def componentwiseDiagram (F : J ⥤ PresheafedSpace.{_, _, v} C) [HasColimit F]
    (U : Opens (Limits.colimit F).carrier) : Jᵒᵖ ⥤ C 
Arguments: {J : Type u'} [CategoryTheory.Category.{v', u'} J] {C : Type u} [CategoryTheory.Category.{v, u} C] (F : J ⥤ AlgebraicGeometry.PresheafedSpace C) [CategoryTheory.Limits.HasColimit F] (U : TopologicalSpace.Opens ↑↑(CategoryTheory.Limits.colimit F)) (j : Jᵒᵖ)
Goal: (AlgebraicGeometry.PresheafedSpace.componentwiseDiagram F U).obj j =
  (F.obj (Opposite.unop j)).presheaf.obj
    (Opposite.op ((TopologicalSpace.Opens.map (CategoryTheory.Limits.colimit.ι F (Opposite.unop j)).base).obj U))
-- AlgebraicGeometry.PresheafedSpace.componentwiseDiagram_map
@[simps]
def componentwiseDiagram (F : J ⥤ PresheafedSpace.{_, _, v} C) [HasColimit F]
    (U : Opens (Limits.colimit F).carrier) : Jᵒᵖ ⥤ C 
Arguments: {J : Type u'} [CategoryTheory.Category.{v', u'} J] {C : Type u} [CategoryTheory.Category.{v, u} C] (F : J ⥤ AlgebraicGeometry.PresheafedSpace C) [CategoryTheory.Limits.HasColimit F] (U : TopologicalSpace.Opens ↑↑(CategoryTheory.Limits.colimit F)) {j k : Jᵒᵖ} (f : j ⟶ k)
Goal: (AlgebraicGeometry.PresheafedSpace.componentwiseDiagram F U).map f =
  (F.map f.unop).c.app
      (Opposite.op ((TopologicalSpace.Opens.map (CategoryTheory.Limits.colimit.ι F (Opposite.unop j)).base).obj U)) ≫
    (F.obj (Opposite.unop k)).presheaf.map (CategoryTheory.eqToHom ⋯)
-- AlgebraicGeometry.PresheafedSpace.pushforwardDiagramToColimit_obj
@[simps]
def pushforwardDiagramToColimit (F : J ⥤ PresheafedSpace.{_, _, v} C) :
    J ⥤ (Presheaf C (colimit (F ⋙ PresheafedSpace.forget C)))ᵒᵖ 
Arguments: {J : Type u'} [CategoryTheory.Category.{v', u'} J] {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasColimitsOfShape J TopCat] (F : J ⥤ AlgebraicGeometry.PresheafedSpace C) (j : J)
Goal: (AlgebraicGeometry.PresheafedSpace.pushforwardDiagramToColimit F).obj j =
  Opposite.op
    ((TopCat.Presheaf.pushforward C
          (CategoryTheory.Limits.colimit.ι (F ⋙ AlgebraicGeometry.PresheafedSpace.forget C) j)).obj
      (F.obj j).presheaf)
-- AlgebraicGeometry.PresheafedSpace.pushforwardDiagramToColimit_map
@[simps]
def pushforwardDiagramToColimit (F : J ⥤ PresheafedSpace.{_, _, v} C) :
    J ⥤ (Presheaf C (colimit (F ⋙ PresheafedSpace.forget C)))ᵒᵖ 
Arguments: {J : Type u'} [CategoryTheory.Category.{v', u'} J] {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasColimitsOfShape J TopCat] (F : J ⥤ AlgebraicGeometry.PresheafedSpace C) {j j' : J} (f : j ⟶ j')
Goal: (AlgebraicGeometry.PresheafedSpace.pushforwardDiagramToColimit F).map f =
  ((TopCat.Presheaf.pushforward C
            (CategoryTheory.Limits.colimit.ι (F ⋙ AlgebraicGeometry.PresheafedSpace.forget C) j')).map
        (F.map f).c ≫
      (TopCat.Presheaf.Pushforward.comp ((F ⋙ AlgebraicGeometry.PresheafedSpace.forget C).map f)
            (CategoryTheory.Limits.colimit.ι (F ⋙ AlgebraicGeometry.PresheafedSpace.forget C) j')
            (F.obj j).presheaf).inv ≫
        (TopCat.Presheaf.pushforwardEq ⋯ (F.obj j).presheaf).hom).op
-- AlgebraicGeometry.PresheafedSpace.colimit_carrier
@[simp]
theorem colimit_carrier (F : J ⥤ PresheafedSpace.{_, _, v} C) :
    (colimit F).carrier = Limits.colimit (F ⋙ PresheafedSpace.forget C) 
Arguments: {J : Type u'} [CategoryTheory.Category.{v', u'} J] {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasColimitsOfShape J TopCat] [∀ (X : TopCat), CategoryTheory.Limits.HasLimitsOfShape Jᵒᵖ (TopCat.Presheaf C X)] (F : J ⥤ AlgebraicGeometry.PresheafedSpace C)
Goal: ↑(AlgebraicGeometry.PresheafedSpace.colimit F) =
  CategoryTheory.Limits.colimit (F ⋙ AlgebraicGeometry.PresheafedSpace.forget C)
-- AlgebraicGeometry.PresheafedSpace.colimit_presheaf
@[simp]
theorem colimit_presheaf (F : J ⥤ PresheafedSpace.{_, _, v} C) :
    (colimit F).presheaf = limit (pushforwardDiagramToColimit F).leftOp 
Arguments: {J : Type u'} [CategoryTheory.Category.{v', u'} J] {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasColimitsOfShape J TopCat] [∀ (X : TopCat), CategoryTheory.Limits.HasLimitsOfShape Jᵒᵖ (TopCat.Presheaf C X)] (F : J ⥤ AlgebraicGeometry.PresheafedSpace C)
Goal: (AlgebraicGeometry.PresheafedSpace.colimit F).presheaf =
  CategoryTheory.Limits.limit (AlgebraicGeometry.PresheafedSpace.pushforwardDiagramToColimit F).leftOp
-- AlgebraicGeometry.PresheafedSpace.colimitCocone_ι_app_c
@[simps]
def colimitCocone (F : J ⥤ PresheafedSpace.{_, _, v} C) : Cocone F 
Arguments: {J : Type u'} [CategoryTheory.Category.{v', u'} J] {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasColimitsOfShape J TopCat] [∀ (X : TopCat), CategoryTheory.Limits.HasLimitsOfShape Jᵒᵖ (TopCat.Presheaf C X)] (F : J ⥤ AlgebraicGeometry.PresheafedSpace C) (j : J)
Goal: ((AlgebraicGeometry.PresheafedSpace.colimitCocone F).ι.app j).c =
  CategoryTheory.Limits.limit.π (AlgebraicGeometry.PresheafedSpace.pushforwardDiagramToColimit F).leftOp (Opposite.op j)
-- AlgebraicGeometry.PresheafedSpace.colimitCocone_pt
@[simps]
def colimitCocone (F : J ⥤ PresheafedSpace.{_, _, v} C) : Cocone F 
Arguments: {J : Type u'} [CategoryTheory.Category.{v', u'} J] {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasColimitsOfShape J TopCat] [∀ (X : TopCat), CategoryTheory.Limits.HasLimitsOfShape Jᵒᵖ (TopCat.Presheaf C X)] (F : J ⥤ AlgebraicGeometry.PresheafedSpace C)
Goal: (AlgebraicGeometry.PresheafedSpace.colimitCocone F).pt = AlgebraicGeometry.PresheafedSpace.colimit F
-- AlgebraicGeometry.PresheafedSpace.colimitCocone_ι_app_base
@[simps]
def colimitCocone (F : J ⥤ PresheafedSpace.{_, _, v} C) : Cocone F 
Arguments: {J : Type u'} [CategoryTheory.Category.{v', u'} J] {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasColimitsOfShape J TopCat] [∀ (X : TopCat), CategoryTheory.Limits.HasLimitsOfShape Jᵒᵖ (TopCat.Presheaf C X)] (F : J ⥤ AlgebraicGeometry.PresheafedSpace C) (j : J)
Goal: ((AlgebraicGeometry.PresheafedSpace.colimitCocone F).ι.app j).base =
  CategoryTheory.Limits.colimit.ι (F ⋙ AlgebraicGeometry.PresheafedSpace.forget C) j
-- AlgebraicGeometry.PresheafedSpace.ColimitCoconeIsColimit.desc_c_naturality
theorem desc_c_naturality (F : J ⥤ PresheafedSpace.{_, _, v} C) (s : Cocone F)
    {U V : (Opens s.pt.carrier)ᵒᵖ} (i : U ⟶ V) :
    s.pt.presheaf.map i ≫ descCApp F s V =
      descCApp F s U ≫
        (colimit.desc (F ⋙ forget C) ((forget C).mapCocone s) _* (colimitCocone F).pt.presheaf).map
          i 
Arguments: {J : Type u'} [CategoryTheory.Category.{v', u'} J] {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasColimitsOfShape J TopCat] [∀ (X : TopCat), CategoryTheory.Limits.HasLimitsOfShape Jᵒᵖ (TopCat.Presheaf C X)] [CategoryTheory.Limits.HasLimitsOfShape Jᵒᵖ C] (F : J ⥤ AlgebraicGeometry.PresheafedSpace C) (s : CategoryTheory.Limits.Cocone F) {U V : (TopologicalSpace.Opens ↑↑s.pt)ᵒᵖ} (i : U ⟶ V)
Goal: s.pt.presheaf.map i ≫ AlgebraicGeometry.PresheafedSpace.ColimitCoconeIsColimit.descCApp F s V =
  AlgebraicGeometry.PresheafedSpace.ColimitCoconeIsColimit.descCApp F s U ≫
    ((TopCat.Presheaf.pushforward C
              (CategoryTheory.Limits.colimit.desc (F ⋙ AlgebraicGeometry.PresheafedSpace.forget C)
                ((AlgebraicGeometry.PresheafedSpace.forget C).mapCocone s))).obj
          (AlgebraicGeometry.PresheafedSpace.colimitCocone F).pt.presheaf).map
      i
-- AlgebraicGeometry.PresheafedSpace.ColimitCoconeIsColimit.desc_fac
theorem desc_fac (F : J ⥤ PresheafedSpace.{_, _, v} C) (s : Cocone F) (j : J) :
    (colimitCocone F).ι.app j ≫ desc F s = s.ι.app j 
Arguments: {J : Type u'} [CategoryTheory.Category.{v', u'} J] {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasColimitsOfShape J TopCat] [∀ (X : TopCat), CategoryTheory.Limits.HasLimitsOfShape Jᵒᵖ (TopCat.Presheaf C X)] [CategoryTheory.Limits.HasLimitsOfShape Jᵒᵖ C] (F : J ⥤ AlgebraicGeometry.PresheafedSpace C) (s : CategoryTheory.Limits.Cocone F) (j : J)
Goal: (AlgebraicGeometry.PresheafedSpace.colimitCocone F).ι.app j ≫
    AlgebraicGeometry.PresheafedSpace.ColimitCoconeIsColimit.desc F s =
  s.ι.app j
-- AlgebraicGeometry.PresheafedSpace.colimitPresheafObjIsoComponentwiseLimit_inv_ι_app
@[simp]
theorem colimitPresheafObjIsoComponentwiseLimit_inv_ι_app (F : J ⥤ PresheafedSpace.{_, _, v} C)
    (U : Opens (Limits.colimit F).carrier) (j : J) :
    (colimitPresheafObjIsoComponentwiseLimit F U).inv ≫ (colimit.ι F j).c.app (op U) =
      limit.π _ (op j) 
Arguments: {J : Type u'} [CategoryTheory.Category.{v', u'} J] {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasColimitsOfShape J TopCat] [∀ (X : TopCat), CategoryTheory.Limits.HasLimitsOfShape Jᵒᵖ (TopCat.Presheaf C X)] [CategoryTheory.Limits.HasLimitsOfShape Jᵒᵖ C] (F : J ⥤ AlgebraicGeometry.PresheafedSpace C) (U : TopologicalSpace.Opens ↑↑(CategoryTheory.Limits.colimit F)) (j : J)
Goal: (AlgebraicGeometry.PresheafedSpace.colimitPresheafObjIsoComponentwiseLimit F U).inv ≫
    (CategoryTheory.Limits.colimit.ι F j).c.app (Opposite.op U) =
  CategoryTheory.Limits.limit.π (AlgebraicGeometry.PresheafedSpace.componentwiseDiagram F U) (Opposite.op j)
-- AlgebraicGeometry.PresheafedSpace.colimitPresheafObjIsoComponentwiseLimit_hom_π
@[simp]
theorem colimitPresheafObjIsoComponentwiseLimit_hom_π (F : J ⥤ PresheafedSpace.{_, _, v} C)
    (U : Opens (Limits.colimit F).carrier) (j : J) :
    (colimitPresheafObjIsoComponentwiseLimit F U).hom ≫ limit.π _ (op j) =
      (colimit.ι F j).c.app (op U) 
Arguments: {J : Type u'} [CategoryTheory.Category.{v', u'} J] {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasColimitsOfShape J TopCat] [∀ (X : TopCat), CategoryTheory.Limits.HasLimitsOfShape Jᵒᵖ (TopCat.Presheaf C X)] [CategoryTheory.Limits.HasLimitsOfShape Jᵒᵖ C] (F : J ⥤ AlgebraicGeometry.PresheafedSpace C) (U : TopologicalSpace.Opens ↑↑(CategoryTheory.Limits.colimit F)) (j : J)
Goal: (AlgebraicGeometry.PresheafedSpace.colimitPresheafObjIsoComponentwiseLimit F U).hom ≫
    CategoryTheory.Limits.limit.π (AlgebraicGeometry.PresheafedSpace.componentwiseDiagram F U) (Opposite.op j) =
  (CategoryTheory.Limits.colimit.ι F j).c.app (Opposite.op U)
-- ManyOneReducible.mk
theorem ManyOneReducible.mk {α β} [Primcodable α] [Primcodable β] {f : α → β} (q : β → Prop)
    (h : Computable f) : (fun a => q (f a)) ≤₀ q 
Arguments: {α : Type u_1} {β : Type u_2} [Primcodable α] [Primcodable β] {f : α → β} (q : β → Prop) (h : Computable f)
Goal: (fun a => q (f a)) ≤₀ q
-- manyOneReducible_refl
@[refl]
theorem manyOneReducible_refl {α} [Primcodable α] (p : α → Prop) : p ≤₀ p 
Arguments: {α : Type u_1} [Primcodable α] (p : α → Prop)
Goal: p ≤₀ p
-- ManyOneReducible.trans
@[trans]
theorem ManyOneReducible.trans {α β γ} [Primcodable α] [Primcodable β] [Primcodable γ]
    {p : α → Prop} {q : β → Prop} {r : γ → Prop} : p ≤₀ q → q ≤₀ r → p ≤₀ r
  
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} [Primcodable α] [Primcodable β] [Primcodable γ] {p : α → Prop} {q : β → Prop} {r : γ → Prop}
Goal: p ≤₀ q → q ≤₀ r → p ≤₀ r
-- reflexive_manyOneReducible
theorem reflexive_manyOneReducible {α} [Primcodable α] : Reflexive (@ManyOneReducible α α _ _) 
Arguments: {α : Type u_1} [Primcodable α]
Goal: Reflexive ManyOneReducible
-- transitive_manyOneReducible
theorem transitive_manyOneReducible {α} [Primcodable α] : Transitive (@ManyOneReducible α α _ _) 
Arguments: {α : Type u_1} [Primcodable α]
Goal: Transitive ManyOneReducible
-- OneOneReducible.mk
theorem OneOneReducible.mk {α β} [Primcodable α] [Primcodable β] {f : α → β} (q : β → Prop)
    (h : Computable f) (i : Injective f) : (fun a => q (f a)) ≤₁ q 
Arguments: {α : Type u_1} {β : Type u_2} [Primcodable α] [Primcodable β] {f : α → β} (q : β → Prop) (h : Computable f) (i : Function.Injective f)
Goal: (fun a => q (f a)) ≤₁ q
-- oneOneReducible_refl
@[refl]
theorem oneOneReducible_refl {α} [Primcodable α] (p : α → Prop) : p ≤₁ p 
Arguments: {α : Type u_1} [Primcodable α] (p : α → Prop)
Goal: p ≤₁ p
-- OneOneReducible.trans
@[trans]
theorem OneOneReducible.trans {α β γ} [Primcodable α] [Primcodable β] [Primcodable γ] {p : α → Prop}
    {q : β → Prop} {r : γ → Prop} : p ≤₁ q → q ≤₁ r → p ≤₁ r
  
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} [Primcodable α] [Primcodable β] [Primcodable γ] {p : α → Prop} {q : β → Prop} {r : γ → Prop}
Goal: p ≤₁ q → q ≤₁ r → p ≤₁ r
-- OneOneReducible.to_many_one
theorem OneOneReducible.to_many_one {α β} [Primcodable α] [Primcodable β] {p : α → Prop}
    {q : β → Prop} : p ≤₁ q → p ≤₀ q
  
Arguments: {α : Type u_1} {β : Type u_2} [Primcodable α] [Primcodable β] {p : α → Prop} {q : β → Prop}
Goal: p ≤₁ q → p ≤₀ q
-- OneOneReducible.of_equiv
theorem OneOneReducible.of_equiv {α β} [Primcodable α] [Primcodable β] {e : α ≃ β} (q : β → Prop)
    (h : Computable e) : (q ∘ e) ≤₁ q 
Arguments: {α : Type u_1} {β : Type u_2} [Primcodable α] [Primcodable β] {e : α ≃ β} (q : β → Prop) (h : Computable ⇑e)
Goal: (q ∘ ⇑e) ≤₁ q
-- OneOneReducible.of_equiv_symm
theorem OneOneReducible.of_equiv_symm {α β} [Primcodable α] [Primcodable β] {e : α ≃ β}
    (q : β → Prop) (h : Computable e.symm) : q ≤₁ (q ∘ e) 
Arguments: {α : Type u_1} {β : Type u_2} [Primcodable α] [Primcodable β] {e : α ≃ β} (q : β → Prop) (h : Computable ⇑e.symm)
Goal: q ≤₁ (q ∘ ⇑e)
-- reflexive_oneOneReducible
theorem reflexive_oneOneReducible {α} [Primcodable α] : Reflexive (@OneOneReducible α α _ _) 
Arguments: {α : Type u_1} [Primcodable α]
Goal: Reflexive OneOneReducible
-- transitive_oneOneReducible
theorem transitive_oneOneReducible {α} [Primcodable α] : Transitive (@OneOneReducible α α _ _) 
Arguments: {α : Type u_1} [Primcodable α]
Goal: Transitive OneOneReducible
-- ComputablePred.computable_of_manyOneReducible
theorem computable_of_manyOneReducible {p : α → Prop} {q : β → Prop} (h₁ : p ≤₀ q)
    (h₂ : ComputablePred q) : ComputablePred p 
Arguments: {α : Type u_1} {β : Type u_2} [Primcodable α] [Primcodable β] {p : α → Prop} {q : β → Prop} (h₁ : p ≤₀ q) (h₂ : ComputablePred q)
Goal: ComputablePred p
-- ComputablePred.computable_of_oneOneReducible
theorem computable_of_oneOneReducible {p : α → Prop} {q : β → Prop} (h : p ≤₁ q) :
    ComputablePred q → ComputablePred p 
Arguments: {α : Type u_1} {β : Type u_2} [Primcodable α] [Primcodable β] {p : α → Prop} {q : β → Prop} (h : p ≤₁ q)
Goal: ComputablePred q → ComputablePred p
-- manyOneEquiv_refl
@[refl]
theorem manyOneEquiv_refl {α} [Primcodable α] (p : α → Prop) : ManyOneEquiv p p 
Arguments: {α : Type u_1} [Primcodable α] (p : α → Prop)
Goal: ManyOneEquiv p p
-- ManyOneEquiv.symm
@[symm]
theorem ManyOneEquiv.symm {α β} [Primcodable α] [Primcodable β] {p : α → Prop} {q : β → Prop} :
    ManyOneEquiv p q → ManyOneEquiv q p 
Arguments: {α : Type u_1} {β : Type u_2} [Primcodable α] [Primcodable β] {p : α → Prop} {q : β → Prop}
Goal: ManyOneEquiv p q → ManyOneEquiv q p
-- ManyOneEquiv.trans
@[trans]
theorem ManyOneEquiv.trans {α β γ} [Primcodable α] [Primcodable β] [Primcodable γ] {p : α → Prop}
    {q : β → Prop} {r : γ → Prop} : ManyOneEquiv p q → ManyOneEquiv q r → ManyOneEquiv p r
  
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} [Primcodable α] [Primcodable β] [Primcodable γ] {p : α → Prop} {q : β → Prop} {r : γ → Prop}
Goal: ManyOneEquiv p q → ManyOneEquiv q r → ManyOneEquiv p r
-- equivalence_of_manyOneEquiv
theorem equivalence_of_manyOneEquiv {α} [Primcodable α] : Equivalence (@ManyOneEquiv α α _ _) 
Arguments: {α : Type u_1} [Primcodable α]
Goal: Equivalence ManyOneEquiv
-- oneOneEquiv_refl
@[refl]
theorem oneOneEquiv_refl {α} [Primcodable α] (p : α → Prop) : OneOneEquiv p p 
Arguments: {α : Type u_1} [Primcodable α] (p : α → Prop)
Goal: OneOneEquiv p p
-- OneOneEquiv.symm
@[symm]
theorem OneOneEquiv.symm {α β} [Primcodable α] [Primcodable β] {p : α → Prop} {q : β → Prop} :
    OneOneEquiv p q → OneOneEquiv q p 
Arguments: {α : Type u_1} {β : Type u_2} [Primcodable α] [Primcodable β] {p : α → Prop} {q : β → Prop}
Goal: OneOneEquiv p q → OneOneEquiv q p
-- OneOneEquiv.trans
@[trans]
theorem OneOneEquiv.trans {α β γ} [Primcodable α] [Primcodable β] [Primcodable γ] {p : α → Prop}
    {q : β → Prop} {r : γ → Prop} : OneOneEquiv p q → OneOneEquiv q r → OneOneEquiv p r
  
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} [Primcodable α] [Primcodable β] [Primcodable γ] {p : α → Prop} {q : β → Prop} {r : γ → Prop}
Goal: OneOneEquiv p q → OneOneEquiv q r → OneOneEquiv p r
-- equivalence_of_oneOneEquiv
theorem equivalence_of_oneOneEquiv {α} [Primcodable α] : Equivalence (@OneOneEquiv α α _ _) 
Arguments: {α : Type u_1} [Primcodable α]
Goal: Equivalence OneOneEquiv
-- OneOneEquiv.to_many_one
theorem OneOneEquiv.to_many_one {α β} [Primcodable α] [Primcodable β] {p : α → Prop}
    {q : β → Prop} : OneOneEquiv p q → ManyOneEquiv p q
  
Arguments: {α : Type u_1} {β : Type u_2} [Primcodable α] [Primcodable β] {p : α → Prop} {q : β → Prop}
Goal: OneOneEquiv p q → ManyOneEquiv p q
-- Equiv.Computable.symm
theorem Equiv.Computable.symm {α β} [Primcodable α] [Primcodable β] {e : α ≃ β} :
    e.Computable → e.symm.Computable 
Arguments: {α : Type u_1} {β : Type u_2} [Primcodable α] [Primcodable β] {e : α ≃ β}
Goal: e.Computable → e.symm.Computable
-- Equiv.Computable.trans
theorem Equiv.Computable.trans {α β γ} [Primcodable α] [Primcodable β] [Primcodable γ] {e₁ : α ≃ β}
    {e₂ : β ≃ γ} : e₁.Computable → e₂.Computable → (e₁.trans e₂).Computable
  
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} [Primcodable α] [Primcodable β] [Primcodable γ] {e₁ : α ≃ β} {e₂ : β ≃ γ}
Goal: e₁.Computable → e₂.Computable → (e₁.trans e₂).Computable
-- Computable.eqv
theorem Computable.eqv (α) [Denumerable α] : (Denumerable.eqv α).Computable 
Arguments: (α : Type u_1) [Denumerable α]
Goal: (Denumerable.eqv α).Computable
-- Computable.equiv₂
theorem Computable.equiv₂ (α β) [Denumerable α] [Denumerable β] :
    (Denumerable.equiv₂ α β).Computable 
Arguments: (α : Type u_1) (β : Type u_2) [Denumerable α] [Denumerable β]
Goal: (Denumerable.equiv₂ α β).Computable
-- OneOneEquiv.of_equiv
theorem OneOneEquiv.of_equiv {α β} [Primcodable α] [Primcodable β] {e : α ≃ β} (h : e.Computable)
    {p} : OneOneEquiv (p ∘ e) p 
Arguments: {α : Type u_1} {β : Type u_2} [Primcodable α] [Primcodable β] {e : α ≃ β} (h : e.Computable) {p : β → Prop}
Goal: OneOneEquiv (p ∘ ⇑e) p
-- ManyOneEquiv.of_equiv
theorem ManyOneEquiv.of_equiv {α β} [Primcodable α] [Primcodable β] {e : α ≃ β} (h : e.Computable)
    {p} : ManyOneEquiv (p ∘ e) p 
Arguments: {α : Type u_1} {β : Type u_2} [Primcodable α] [Primcodable β] {e : α ≃ β} (h : e.Computable) {p : β → Prop}
Goal: ManyOneEquiv (p ∘ ⇑e) p
-- ManyOneEquiv.le_congr_left
theorem ManyOneEquiv.le_congr_left {α β γ} [Primcodable α] [Primcodable β] [Primcodable γ]
    {p : α → Prop} {q : β → Prop} {r : γ → Prop} (h : ManyOneEquiv p q) : p ≤₀ r ↔ q ≤₀ r 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} [Primcodable α] [Primcodable β] [Primcodable γ] {p : α → Prop} {q : β → Prop} {r : γ → Prop} (h : ManyOneEquiv p q)
Goal: p ≤₀ r ↔ q ≤₀ r
-- ManyOneEquiv.le_congr_right
theorem ManyOneEquiv.le_congr_right {α β γ} [Primcodable α] [Primcodable β] [Primcodable γ]
    {p : α → Prop} {q : β → Prop} {r : γ → Prop} (h : ManyOneEquiv q r) : p ≤₀ q ↔ p ≤₀ r 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} [Primcodable α] [Primcodable β] [Primcodable γ] {p : α → Prop} {q : β → Prop} {r : γ → Prop} (h : ManyOneEquiv q r)
Goal: p ≤₀ q ↔ p ≤₀ r
-- OneOneEquiv.le_congr_left
theorem OneOneEquiv.le_congr_left {α β γ} [Primcodable α] [Primcodable β] [Primcodable γ]
    {p : α → Prop} {q : β → Prop} {r : γ → Prop} (h : OneOneEquiv p q) : p ≤₁ r ↔ q ≤₁ r 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} [Primcodable α] [Primcodable β] [Primcodable γ] {p : α → Prop} {q : β → Prop} {r : γ → Prop} (h : OneOneEquiv p q)
Goal: p ≤₁ r ↔ q ≤₁ r
-- OneOneEquiv.le_congr_right
theorem OneOneEquiv.le_congr_right {α β γ} [Primcodable α] [Primcodable β] [Primcodable γ]
    {p : α → Prop} {q : β → Prop} {r : γ → Prop} (h : OneOneEquiv q r) : p ≤₁ q ↔ p ≤₁ r 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} [Primcodable α] [Primcodable β] [Primcodable γ] {p : α → Prop} {q : β → Prop} {r : γ → Prop} (h : OneOneEquiv q r)
Goal: p ≤₁ q ↔ p ≤₁ r
-- ManyOneEquiv.congr_left
theorem ManyOneEquiv.congr_left {α β γ} [Primcodable α] [Primcodable β] [Primcodable γ]
    {p : α → Prop} {q : β → Prop} {r : γ → Prop} (h : ManyOneEquiv p q) :
    ManyOneEquiv p r ↔ ManyOneEquiv q r 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} [Primcodable α] [Primcodable β] [Primcodable γ] {p : α → Prop} {q : β → Prop} {r : γ → Prop} (h : ManyOneEquiv p q)
Goal: ManyOneEquiv p r ↔ ManyOneEquiv q r
-- ManyOneEquiv.congr_right
theorem ManyOneEquiv.congr_right {α β γ} [Primcodable α] [Primcodable β] [Primcodable γ]
    {p : α → Prop} {q : β → Prop} {r : γ → Prop} (h : ManyOneEquiv q r) :
    ManyOneEquiv p q ↔ ManyOneEquiv p r 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} [Primcodable α] [Primcodable β] [Primcodable γ] {p : α → Prop} {q : β → Prop} {r : γ → Prop} (h : ManyOneEquiv q r)
Goal: ManyOneEquiv p q ↔ ManyOneEquiv p r