ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Mathlib/Algebra/Order/BigOperators/Group/Finset.lean
ι : Type u_1
α✝ : Type u_2
β : Type u_3
M : Type u_4
N : Type u_5
G : Type u_6
k : Type u_7
R : Type u_8
α : Type u_9
inst✝ : DecidableEq α
x : Multiset α
\u22a2 ((Finset.range (card x + 1)).sup fun k => powersetCard k x) = ∑ x_1 ∈ Finset.range (card x + 1), powersetCard x_1 x
-- Mathlib/Analysis/SpecialFunctions/Gaussian/GaussianIntegral.lean
b : ℝ
hb : 0 < b
\u22a2 (fun x => rexp (-b * x ^ 2)) =o[atTop] fun x => rexp (-x)
-- Mathlib/SetTheory/Ordinal/Arithmetic.lean
α : Type u_1
β : Type u_2
γ : Type u_3
r : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
a b : Ordinal.{u_4}
h : b ≠ 0
\u22a2 succ a ≤ b * succ a
-- Mathlib/Data/Ordmap/Ordset.lean
α : Type u_1
inst✝² : Preorder α
inst✝¹ : IsTotal α fun x x_1 => x ≤ x_1
inst✝ : DecidableRel fun x x_1 => x ≤ x_1
x : α
size✝ : ℕ
l : Ordnode α
y : α
r : Ordnode α
this : cmpLE x y = cmpLE y x
\u22a2 (Ordnode.insert x (node size✝ l y r)).dual = Ordnode.insert x (node size✝ l y r).dual
-- Mathlib/Data/Ordmap/Ordset.lean
α : Type u_1
inst✝² : Preorder α
inst✝¹ : IsTotal α fun x x_1 => x ≤ x_1
inst✝ : DecidableRel fun x x_1 => x ≤ x_1
x : α
size✝ : ℕ
l : Ordnode α
y : α
r : Ordnode α
this : cmpLE x y = cmpLE y x
\u22a2 (match cmpLE x y with | Ordering.lt => (Ordnode.insert x l).balanceL y r | Ordering.eq => node size✝ l x r | Ordering.gt => l.balanceR y (Ordnode.insert x r)).dual = match (cmpLE x y).swap with | Ordering.lt => (Ordnode.insert x r.dual).balanceL y l.dual | Ordering.eq => node size✝ r.dual x l.dual | Ordering.gt => r.dual.balanceR y (Ordnode.insert x l.dual)
-- Mathlib/Algebra/Group/Defs.lean
G : Type u_1
inst✝ : CommGroup G
a b : G
\u22a2 a * (b * a⁻¹) = b
-- Mathlib/Algebra/Homology/HomotopyCategory/Pretriangulated.lean
C : Type u_1
D : Type u_2
inst✝⁷ : Category.{u_3, u_1} C
inst✝⁶ : Category.{?u.223578, u_2} D
inst✝⁵ : Preadditive C
inst✝⁴ : HasZeroObject C
inst✝³ : HasBinaryBiproducts C
inst✝² : Preadditive D
inst✝¹ : HasZeroObject D
inst✝ : HasBinaryBiproducts D
K L : CochainComplex C ℤ
φ : K ⟶ L
\u22a2 (HomotopyCategory.quotient C (ComplexShape.up ℤ)).map (triangle φ).mor₃ ≫ (HomotopyCategory.quotient C (ComplexShape.up ℤ)).map (rotateHomotopyEquiv φ).hom = (HomotopyCategory.quotient C (ComplexShape.up ℤ)).map (inr (inr φ))
-- Mathlib/GroupTheory/Coset.lean
α : Type u_1
inst✝ : Monoid α
s : Submonoid α
a : α
ha : a • ↑s = ↑s
\u22a2 a ∈ s
-- Mathlib/GroupTheory/Coset.lean
α : Type u_1
inst✝ : Monoid α
s : Submonoid α
a : α
ha : a • ↑s = ↑s
\u22a2 a ∈ a • ↑s
-- Mathlib/Topology/LocallyConstant/Basic.lean
X : Type u_1
Y : Type u_2
Z : Type u_3
α : Type u_4
inst✝ : TopologicalSpace X
f : X → Y
hf : IsLocallyConstant f
g : Y → Z
s : Set Z
\u22a2 IsOpen (g ∘ f ⁻¹' s)
-- Mathlib/Topology/LocallyConstant/Basic.lean
X : Type u_1
Y : Type u_2
Z : Type u_3
α : Type u_4
inst✝ : TopologicalSpace X
f : X → Y
hf : IsLocallyConstant f
g : Y → Z
s : Set Z
\u22a2 IsOpen (f ⁻¹' (g ⁻¹' s))
-- Mathlib/Algebra/Module/Submodule/Ker.lean
R : Type u_1
R₁ : Type u_2
R₂ : Type u_3
R₃ : Type u_4
K : Type u_5
M : Type u_6
M₁ : Type u_7
M₂ : Type u_8
M₃ : Type u_9
V : Type u_10
V₂ : Type u_11
inst✝¹² : Semiring R
inst✝¹¹ : Semiring R₂
inst✝¹⁰ : Semiring R₃
inst✝⁹ : AddCommMonoid M
inst✝⁸ : AddCommMonoid M₂
inst✝⁷ : AddCommMonoid M₃
σ₁₂ : R →+* R₂
σ₂₃ : R₂ →+* R₃
σ₁₃ : R →+* R₃
inst✝⁶ : RingHomCompTriple σ₁₂ σ₂₃ σ₁₃
inst✝⁵ : Module R M
inst✝⁴ : Module R₂ M₂
inst✝³ : Module R₃ M₃
σ₂₁ : R₂ →+* R
τ₁₂ : R →+* R₂
τ₂₃ : R₂ →+* R₃
τ₁₃ : R →+* R₃
inst✝² : RingHomCompTriple τ₁₂ τ₂₃ τ₁₃
F : Type u_12
inst✝¹ : FunLike F M M₂
inst✝ : SemilinearMapClass F τ₁₂ M M₂
τ₂₁ : R₂ →+* R
p : Submodule R M
f : M₂ →ₛₗ[τ₂₁] M
hf : ∀ (c : M₂), f c ∈ p
\u22a2 ker (codRestrict p f hf) = ker f
-- Mathlib/Algebra/Module/Submodule/Ker.lean
R : Type u_1
R₁ : Type u_2
R₂ : Type u_3
R₃ : Type u_4
K : Type u_5
M : Type u_6
M₁ : Type u_7
M₂ : Type u_8
M₃ : Type u_9
V : Type u_10
V₂ : Type u_11
inst✝¹² : Semiring R
inst✝¹¹ : Semiring R₂
inst✝¹⁰ : Semiring R₃
inst✝⁹ : AddCommMonoid M
inst✝⁸ : AddCommMonoid M₂
inst✝⁷ : AddCommMonoid M₃
σ₁₂ : R →+* R₂
σ₂₃ : R₂ →+* R₃
σ₁₃ : R →+* R₃
inst✝⁶ : RingHomCompTriple σ₁₂ σ₂₃ σ₁₃
inst✝⁵ : Module R M
inst✝⁴ : Module R₂ M₂
inst✝³ : Module R₃ M₃
σ₂₁ : R₂ →+* R
τ₁₂ : R →+* R₂
τ₂₃ : R₂ →+* R₃
τ₁₃ : R →+* R₃
inst✝² : RingHomCompTriple τ₁₂ τ₂₃ τ₁₃
F : Type u_12
inst✝¹ : FunLike F M M₂
inst✝ : SemilinearMapClass F τ₁₂ M M₂
τ₂₁ : R₂ →+* R
p : Submodule R M
f : M₂ →ₛₗ[τ₂₁] M
hf : ∀ (c : M₂), f c ∈ p
\u22a2 comap f ⊥ = ker f
-- Mathlib/Geometry/RingedSpace/OpenImmersion.lean
C : Type u
inst✝ : Category.{v, u} C
X Y : PresheafedSpace C
f : X ⟶ Y
H : IsOpenImmersion f
U V : (Opens ↑↑X)ᵒᵖ
i : U ⟶ V
\u22a2 X.presheaf.map i ≫ invApp f (unop V) = invApp f (unop U) ≫ Y.presheaf.map ((opensFunctor f).op.map i)
-- Mathlib/Geometry/RingedSpace/OpenImmersion.lean
C : Type u
inst✝ : Category.{v, u} C
X Y : PresheafedSpace C
f : X ⟶ Y
H : IsOpenImmersion f
U V : (Opens ↑↑X)ᵒᵖ
i : U ⟶ V
\u22a2 (X.presheaf.map i ≫ X.presheaf.map (eqToHom ⋯)) ≫ inv (f.c.app (op ((opensFunctor f).obj (unop V)))) = (X.presheaf.map (eqToHom ⋯) ≫ inv (f.c.app (op ((opensFunctor f).obj (unop U))))) ≫ Y.presheaf.map ((opensFunctor f).op.map i)
-- Mathlib/Geometry/RingedSpace/OpenImmersion.lean
C : Type u
inst✝ : Category.{v, u} C
X Y : PresheafedSpace C
f : X ⟶ Y
H : IsOpenImmersion f
U V : (Opens ↑↑X)ᵒᵖ
i : U ⟶ V
\u22a2 X.presheaf.map i ≫ X.presheaf.map (eqToHom ⋯) = ((X.presheaf.map (eqToHom ⋯) ≫ inv (f.c.app (op ((opensFunctor f).obj (unop U))))) ≫ Y.presheaf.map ((opensFunctor f).op.map i)) ≫ f.c.app (op ((opensFunctor f).obj (unop V)))
-- Mathlib/Geometry/RingedSpace/OpenImmersion.lean
C : Type u
inst✝ : Category.{v, u} C
X Y : PresheafedSpace C
f : X ⟶ Y
H : IsOpenImmersion f
U V : (Opens ↑↑X)ᵒᵖ
i : U ⟶ V
\u22a2 X.presheaf.map (i ≫ eqToHom ⋯) = X.presheaf.map (eqToHom ⋯ ≫ ((Opens.map f.base).map ((opensFunctor f).map i.unop)).op)
-- Mathlib/Topology/Constructions.lean
X : Type u
Y : Type v
Z : Type u_1
W : Type u_2
ε : Type u_3
ζ : Type u_4
inst✝⁵ : TopologicalSpace X
inst✝⁴ : TopologicalSpace Y
inst✝³ : TopologicalSpace Z
inst✝² : TopologicalSpace W
inst✝¹ : TopologicalSpace ε
inst✝ : TopologicalSpace ζ
x : X
y : Y
s : Set X
t : Set Y
\u22a2 𝓝[s ×ˢ t] (x, y) = 𝓝[s] x ×ˢ 𝓝[t] y
-- Mathlib/Topology/Category/LightProfinite/AsLimit.lean
S : LightProfinite
n m : ℕ
h : n ≤ m
\u22a2 Function.Surjective ⇑(S.transitionMapLE h)
-- Mathlib/Topology/Category/LightProfinite/AsLimit.lean
S : LightProfinite
n m : ℕ
h : n ≤ m
\u22a2 Function.Surjective (⇑(S.transitionMapLE h) ∘ ⇑(S.proj m))
-- Mathlib/Analysis/RCLike/Basic.lean
K : Type u_1
E : Type u_2
inst✝ : RCLike K
z a : K
h : ‖a‖ ≤ re a
\u22a2 im a = 0
-- Mathlib/Algebra/Lie/Weights/Basic.lean
K : Type u_1
R : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : LieAlgebra.IsNilpotent R L
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : LieRingModule L M
inst✝¹ : LieModule R L M
inst✝ : IsNoetherian R M
x : L
\u22a2 ∃ k, ↑(weightSpace M 0) ≤ LinearMap.ker ((toEnd R L M) x ^ k)
-- Mathlib/Algebra/Algebra/Subalgebra/Tower.lean
R : Type u
S : Type v
A : Type w
B : Type u₁
M : Type v₁
inst✝⁶ : CommSemiring R
inst✝⁵ : CommSemiring S
inst✝⁴ : CommSemiring A
inst✝³ : Algebra R S
inst✝² : Algebra S A
inst✝¹ : Algebra R A
inst✝ : IsScalarTower R S A
t : Set A
z : A
\u22a2 z ∈ Subsemiring.closure (Set.range ⇑(algebraMap (↥(toAlgHom R S A).range) A) ∪ t) ↔ z ∈ Subsemiring.closure (Set.range ⇑(algebraMap S A) ∪ t)
-- Mathlib/Algebra/Algebra/Subalgebra/Tower.lean
R : Type u
S : Type v
A : Type w
B : Type u₁
M : Type v₁
inst✝⁶ : CommSemiring R
inst✝⁵ : CommSemiring S
inst✝⁴ : CommSemiring A
inst✝³ : Algebra R S
inst✝² : Algebra S A
inst✝¹ : Algebra R A
inst✝ : IsScalarTower R S A
t : Set A
z : A
\u22a2 Set.range ⇑(algebraMap (↥(toAlgHom R S A).range) A) = Set.range ⇑(algebraMap S A)
-- Mathlib/LinearAlgebra/Multilinear/Basic.lean
R : Type uR
S : Type uS
ι : Type uι
n : ℕ
M : Fin n.succ → Type v
M₁ : ι → Type v₁
M₂ : Type v₂
M₃ : Type v₃
M' : Type v'
inst✝⁷ : CommSemiring R
inst✝⁶ : (i : ι) → AddCommMonoid (M₁ i)
inst✝⁵ : (i : Fin n.succ) → AddCommMonoid (M i)
inst✝⁴ : AddCommMonoid M₂
inst✝³ : (i : Fin n.succ) → Module R (M i)
inst✝² : (i : ι) → Module R (M₁ i)
inst✝¹ : Module R M₂
f✝ f' : MultilinearMap R M₁ M₂
inst✝ : Fintype ι
f : MultilinearMap R (fun x => R) M₂
m : ι → R
this : m = fun i => m i • 1
\u22a2 (MultilinearMap.mkPiRing R ι (f fun x => 1)) m = f m
-- Mathlib/LinearAlgebra/Multilinear/Basic.lean
R : Type uR
S : Type uS
ι : Type uι
n : ℕ
M : Fin n.succ → Type v
M₁ : ι → Type v₁
M₂ : Type v₂
M₃ : Type v₃
M' : Type v'
inst✝⁷ : CommSemiring R
inst✝⁶ : (i : ι) → AddCommMonoid (M₁ i)
inst✝⁵ : (i : Fin n.succ) → AddCommMonoid (M i)
inst✝⁴ : AddCommMonoid M₂
inst✝³ : (i : Fin n.succ) → Module R (M i)
inst✝² : (i : ι) → Module R (M₁ i)
inst✝¹ : Module R M₂
f✝ f' : MultilinearMap R M₁ M₂
inst✝ : Fintype ι
f : MultilinearMap R (fun x => R) M₂
m : ι → R
this : m = fun i => m i • 1
\u22a2 (MultilinearMap.mkPiRing R ι (f fun x => 1)) m = (∏ i : ι, m i) • f fun i => 1
-- Mathlib/MeasureTheory/MeasurableSpace/Basic.lean
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
δ' : Type u_5
ι : Sort uι
s✝ t✝ u : Set α
m : MeasurableSpace α
mβ : MeasurableSpace β
mγ : MeasurableSpace γ
s : Set α
t : Set β
x : α
y : β
hx : (x, y).1 ∈ s
hy : (x, y).2 ∈ t
\u22a2 MeasurableSet (s ×ˢ t) ↔ MeasurableSet s ∧ MeasurableSet t
-- Mathlib/MeasureTheory/MeasurableSpace/Basic.lean
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
δ' : Type u_5
ι : Sort uι
s✝ t✝ u : Set α
m : MeasurableSpace α
mβ : MeasurableSpace β
mγ : MeasurableSpace γ
s : Set α
t : Set β
x : α
y : β
hx : (x, y).1 ∈ s
hy : (x, y).2 ∈ t
hst : MeasurableSet (s ×ˢ t)
\u22a2 MeasurableSet s ∧ MeasurableSet t
-- Mathlib/MeasureTheory/MeasurableSpace/Basic.lean
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
δ' : Type u_5
ι : Sort uι
s✝ t✝ u : Set α
m : MeasurableSpace α
mβ : MeasurableSpace β
mγ : MeasurableSpace γ
s : Set α
t : Set β
x : α
y : β
hx : (x, y).1 ∈ s
hy : (x, y).2 ∈ t
hst : MeasurableSet (s ×ˢ t)
this : MeasurableSet ((fun x => (x, y)) ⁻¹' s ×ˢ t)
\u22a2 MeasurableSet s ∧ MeasurableSet t
-- Mathlib/MeasureTheory/MeasurableSpace/Basic.lean
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
δ' : Type u_5
ι : Sort uι
s✝ t✝ u : Set α
m : MeasurableSpace α
mβ : MeasurableSpace β
mγ : MeasurableSpace γ
s : Set α
t : Set β
x : α
y : β
hx : (x, y).1 ∈ s
hy : (x, y).2 ∈ t
hst : MeasurableSet (s ×ˢ t)
this✝ : MeasurableSet ((fun x => (x, y)) ⁻¹' s ×ˢ t)
this : MeasurableSet (Prod.mk x ⁻¹' s ×ˢ t)
\u22a2 MeasurableSet s ∧ MeasurableSet t
-- Mathlib/Topology/Algebra/Algebra.lean
R : Type u_1
inst✝⁴ : CommSemiring R
A : Type u
inst✝³ : TopologicalSpace A
inst✝² : Semiring A
inst✝¹ : Algebra R A
inst✝ : TopologicalSemiring A
s : Subalgebra R A
\u22a2 IsClosed ↑s.topologicalClosure
-- Mathlib/Algebra/Periodic.lean
α : Type u_1
β : Type u_2
γ : Type u_3
f g : α → β
c c₁ c₂ x : α
inst✝¹ : Ring α
inst✝ : Ring β
h : Antiperiodic f c
n : ℕ
\u22a2 f (x - ↑n * c) = (-1) ^ n * f x
-- Mathlib/CategoryTheory/Limits/Shapes/Pullback/CommSq.lean
C : Type u₁
inst✝² : Category.{v₁, u₁} C
P X Y Z : C
fst : P ⟶ X
snd : P ⟶ Y
f : X ⟶ Z
g : Y ⟶ Z
inst✝¹ : HasZeroObject C
inst✝ : HasZeroMorphisms C
b : BinaryBicone X Y
h : b.IsBilimit
\u22a2 IsPullback 0 0 b.inl b.inr
-- Mathlib/CategoryTheory/Limits/Shapes/Pullback/CommSq.lean
C : Type u₁
inst✝² : Category.{v₁, u₁} C
P X Y Z : C
fst : P ⟶ X
snd : P ⟶ Y
f : X ⟶ Z
g : Y ⟶ Z
inst✝¹ : HasZeroObject C
inst✝ : HasZeroMorphisms C
b : BinaryBicone X Y
h : b.IsBilimit
\u22a2 IsPullback (0 ≫ 0) 0 0 (b.inr ≫ b.snd)
-- Mathlib/Analysis/Normed/Algebra/Spectrum.lean
𝕜 : Type u_1
A : Type u_2
inst✝³ : NormedRing A
inst✝² : NormedAlgebra ℂ A
inst✝¹ : CompleteSpace A
inst✝ : Nontrivial A
a : A
n : ℕ
\u22a2 spectrum ℂ (a ^ n) = (fun x => x ^ n) '' spectrum ℂ a
-- Mathlib/LinearAlgebra/Span.lean
R : Type u_1
R₂ : Type u_2
K : Type u_3
M : Type u_4
M₂ : Type u_5
V : Type u_6
S : Type u_7
inst✝⁷ : Semiring R
inst✝⁶ : AddCommMonoid M
inst✝⁵ : Module R M
x : M
p✝ p' : Submodule R M
inst✝⁴ : Semiring R₂
σ₁₂ : R →+* R₂
inst✝³ : AddCommMonoid M₂
inst✝² : Module R₂ M₂
F : Type u_8
inst✝¹ : FunLike F M M₂
inst✝ : SemilinearMapClass F σ₁₂ M M₂
s t : Set M
m : M
p : Submodule R M
\u22a2 span R {m} ≤ p ↔ m ∈ p
-- .lake/packages/batteries/Batteries/Data/RBMap/WF.lean
α : Type u_1
cmp : α → α → Ordering
l : RBNode α
v : α
r : RBNode α
lv : All (fun x => cmpLT cmp x v) l
vr : All (fun x => cmpLT cmp v x) r
hl : Ordered cmp l
hr : Ordered cmp r
\u22a2 Ordered cmp (l.balRight v r)
-- .lake/packages/batteries/Batteries/Data/RBMap/WF.lean
α : Type u_1
cmp : α → α → Ordering
l : RBNode α
v : α
r : RBNode α
lv : All (fun x => cmpLT cmp x v) l
vr : All (fun x => cmpLT cmp v x) r
hl : Ordered cmp l
hr : Ordered cmp r
\u22a2 Ordered cmp (r.reverse.balLeft v l.reverse).reverse
-- Mathlib/Topology/ContinuousFunction/Units.lean
X : Type u_1
M : Type u_2
R : Type u_3
𝕜 : Type u_4
inst✝⁴ : TopologicalSpace X
inst✝³ : NormedField 𝕜
inst✝² : NormedDivisionRing R
inst✝¹ : Algebra 𝕜 R
inst✝ : CompleteSpace R
f : C(X, R)
x : 𝕜
\u22a2 x ∈ spectrum 𝕜 f ↔ x ∈ ⇑(algebraMap 𝕜 R) ⁻¹' Set.range ⇑f
-- Mathlib/Analysis/SpecialFunctions/Trigonometric/Inverse.lean
x✝ y x : ℝ
hx₁ : 0 ≤ x
hx₂ : x ≤ π
\u22a2 arccos (cos x) = x
-- Mathlib/Analysis/InnerProductSpace/Orthogonal.lean
𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁴ : RCLike 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : NormedAddCommGroup F
inst✝ : InnerProductSpace 𝕜 F
K : Submodule 𝕜 E
\u22a2 Kᗮ = ⊤ ↔ K = ⊥
-- Mathlib/Analysis/InnerProductSpace/Orthogonal.lean
𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁴ : RCLike 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : NormedAddCommGroup F
inst✝ : InnerProductSpace 𝕜 F
K : Submodule 𝕜 E
\u22a2 Kᗮ = ⊤ → K = ⊥
-- Mathlib/Analysis/InnerProductSpace/Orthogonal.lean
𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁴ : RCLike 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : NormedAddCommGroup F
inst✝ : InnerProductSpace 𝕜 F
K : Submodule 𝕜 E
h : Kᗮ = ⊤
\u22a2 K = ⊥
-- Mathlib/Analysis/InnerProductSpace/Orthogonal.lean
𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁴ : RCLike 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : NormedAddCommGroup F
inst✝ : InnerProductSpace 𝕜 F
K : Submodule 𝕜 E
h : Kᗮ = ⊤
this : K ⊓ Kᗮ = ⊥
\u22a2 K = ⊥
-- Mathlib/Data/Multiset/Basic.lean
α : Type u_1
β : Type v
γ : Type u_2
b₁ b₂ : β
l : List α
h : b₁ ∈ map (const α b₂) ↑l
\u22a2 b₁ ∈ replicate (card ↑l) b₂
-- Mathlib/Computability/PartrecCode.lean
\u22a2 Primrec Nat.Partrec.Code.G
-- Mathlib/Computability/PartrecCode.lean
a : Primrec fun a => ofNat (ℕ × Code) a.length
\u22a2 Primrec Nat.Partrec.Code.G
-- Mathlib/Computability/PartrecCode.lean
a : Primrec fun a => ofNat (ℕ × Code) a.length
k : Primrec fun a => (ofNat (ℕ × Code) a.length).1
\u22a2 Primrec Nat.Partrec.Code.G
-- Mathlib/Computability/PartrecCode.lean
a : Primrec fun a => ofNat (ℕ × Code) a.length
k : Primrec fun a => (ofNat (ℕ × Code) a.length).1
\u22a2 Primrec fun p => (fun a n => Nat.casesOn (ofNat (ℕ × Code) a.length).1 Option.none fun k' => Code.recOn (ofNat (ℕ × Code) a.length).2 (some 0) (some n.succ) (some (unpair n).1) (some (unpair n).2) (fun cf cg x x => do let x ← Nat.Partrec.Code.lup a ((ofNat (ℕ × Code) a.length).1, cf) n let y ← Nat.Partrec.Code.lup a ((ofNat (ℕ × Code) a.length).1, cg) n some (Nat.pair x y)) (fun cf cg x x => do let x ← Nat.Partrec.Code.lup a ((ofNat (ℕ × Code) a.length).1, cg) n Nat.Partrec.Code.lup a ((ofNat (ℕ × Code) a.length).1, cf) x) (fun cf cg x x => let z := (unpair n).1; Nat.casesOn (unpair n).2 (Nat.Partrec.Code.lup a ((ofNat (ℕ × Code) a.length).1, cf) z) fun y => do let i ← Nat.Partrec.Code.lup a (k', (ofNat (ℕ × Code) a.length).2) (Nat.pair z y) Nat.Partrec.Code.lup a ((ofNat (ℕ × Code) a.length).1, cg) (Nat.pair z (Nat.pair y i))) fun cf x => let z := (unpair n).1; let m := (unpair n).2; do let x ← Nat.Partrec.Code.lup a ((ofNat (ℕ × Code) a.length).1, cf) (Nat.pair z m) Nat.casesOn x (some m) fun x => Nat.Partrec.Code.lup a (k', (ofNat (ℕ × Code) a.length).2) (Nat.pair z (m + 1))) p.1 p.2
-- Mathlib/Computability/PartrecCode.lean
a : Primrec fun a => ofNat (ℕ × Code) a.length
k : Primrec fun a => (ofNat (ℕ × Code) a.1.length).1
\u22a2 Primrec fun p => (fun a n => Nat.casesOn (ofNat (ℕ × Code) a.length).1 Option.none fun k' => Code.recOn (ofNat (ℕ × Code) a.length).2 (some 0) (some n.succ) (some (unpair n).1) (some (unpair n).2) (fun cf cg x x => do let x ← Nat.Partrec.Code.lup a ((ofNat (ℕ × Code) a.length).1, cf) n let y ← Nat.Partrec.Code.lup a ((ofNat (ℕ × Code) a.length).1, cg) n some (Nat.pair x y)) (fun cf cg x x => do let x ← Nat.Partrec.Code.lup a ((ofNat (ℕ × Code) a.length).1, cg) n Nat.Partrec.Code.lup a ((ofNat (ℕ × Code) a.length).1, cf) x) (fun cf cg x x => let z := (unpair n).1; Nat.casesOn (unpair n).2 (Nat.Partrec.Code.lup a ((ofNat (ℕ × Code) a.length).1, cf) z) fun y => do let i ← Nat.Partrec.Code.lup a (k', (ofNat (ℕ × Code) a.length).2) (Nat.pair z y) Nat.Partrec.Code.lup a ((ofNat (ℕ × Code) a.length).1, cg) (Nat.pair z (Nat.pair y i))) fun cf x => let z := (unpair n).1; let m := (unpair n).2; do let x ← Nat.Partrec.Code.lup a ((ofNat (ℕ × Code) a.length).1, cf) (Nat.pair z m) Nat.casesOn x (some m) fun x => Nat.Partrec.Code.lup a (k', (ofNat (ℕ × Code) a.length).2) (Nat.pair z (m + 1))) p.1 p.2
-- Mathlib/Computability/PartrecCode.lean
a : Primrec fun a => ofNat (ℕ × Code) a.length
k : Primrec fun a => (ofNat (ℕ × Code) a.1.length).1
n : Primrec Prod.snd
\u22a2 Primrec fun p => (fun a n => Nat.casesOn (ofNat (ℕ × Code) a.length).1 Option.none fun k' => Code.recOn (ofNat (ℕ × Code) a.length).2 (some 0) (some n.succ) (some (unpair n).1) (some (unpair n).2) (fun cf cg x x => do let x ← Nat.Partrec.Code.lup a ((ofNat (ℕ × Code) a.length).1, cf) n let y ← Nat.Partrec.Code.lup a ((ofNat (ℕ × Code) a.length).1, cg) n some (Nat.pair x y)) (fun cf cg x x => do let x ← Nat.Partrec.Code.lup a ((ofNat (ℕ × Code) a.length).1, cg) n Nat.Partrec.Code.lup a ((ofNat (ℕ × Code) a.length).1, cf) x) (fun cf cg x x => let z := (unpair n).1; Nat.casesOn (unpair n).2 (Nat.Partrec.Code.lup a ((ofNat (ℕ × Code) a.length).1, cf) z) fun y => do let i ← Nat.Partrec.Code.lup a (k', (ofNat (ℕ × Code) a.length).2) (Nat.pair z y) Nat.Partrec.Code.lup a ((ofNat (ℕ × Code) a.length).1, cg) (Nat.pair z (Nat.pair y i))) fun cf x => let z := (unpair n).1; let m := (unpair n).2; do let x ← Nat.Partrec.Code.lup a ((ofNat (ℕ × Code) a.length).1, cf) (Nat.pair z m) Nat.casesOn x (some m) fun x => Nat.Partrec.Code.lup a (k', (ofNat (ℕ × Code) a.length).2) (Nat.pair z (m + 1))) p.1 p.2
-- Mathlib/Computability/PartrecCode.lean
a : Primrec fun a => ofNat (ℕ × Code) a.length
k : Primrec fun a => (ofNat (ℕ × Code) a.1.length).1
n : Primrec Prod.snd
\u22a2 Primrec fun p => (fun p k' => Code.recOn (ofNat (ℕ × Code) p.1.length).2 (some 0) (some p.2.succ) (some (unpair p.2).1) (some (unpair p.2).2) (fun cf cg x x => do let x ← Nat.Partrec.Code.lup p.1 ((ofNat (ℕ × Code) p.1.length).1, cf) p.2 let y ← Nat.Partrec.Code.lup p.1 ((ofNat (ℕ × Code) p.1.length).1, cg) p.2 some (Nat.pair x y)) (fun cf cg x x => do let x ← Nat.Partrec.Code.lup p.1 ((ofNat (ℕ × Code) p.1.length).1, cg) p.2 Nat.Partrec.Code.lup p.1 ((ofNat (ℕ × Code) p.1.length).1, cf) x) (fun cf cg x x => let z := (unpair p.2).1; Nat.casesOn (unpair p.2).2 (Nat.Partrec.Code.lup p.1 ((ofNat (ℕ × Code) p.1.length).1, cf) z) fun y => do let i ← Nat.Partrec.Code.lup p.1 (k', (ofNat (ℕ × Code) p.1.length).2) (Nat.pair z y) Nat.Partrec.Code.lup p.1 ((ofNat (ℕ × Code) p.1.length).1, cg) (Nat.pair z (Nat.pair y i))) fun cf x => let z := (unpair p.2).1; let m := (unpair p.2).2; do let x ← Nat.Partrec.Code.lup p.1 ((ofNat (ℕ × Code) p.1.length).1, cf) (Nat.pair z m) Nat.casesOn x (some m) fun x => Nat.Partrec.Code.lup p.1 (k', (ofNat (ℕ × Code) p.1.length).2) (Nat.pair z (m + 1))) p.1 p.2
-- Mathlib/Computability/PartrecCode.lean
a : Primrec fun a => ofNat (ℕ × Code) a.length
k✝ : Primrec fun a => (ofNat (ℕ × Code) a.1.length).1
n : Primrec Prod.snd
k : Primrec fun a => (ofNat (ℕ × Code) a.1.1.length).1
\u22a2 Primrec fun p => (fun p k' => Code.recOn (ofNat (ℕ × Code) p.1.length).2 (some 0) (some p.2.succ) (some (unpair p.2).1) (some (unpair p.2).2) (fun cf cg x x => do let x ← Nat.Partrec.Code.lup p.1 ((ofNat (ℕ × Code) p.1.length).1, cf) p.2 let y ← Nat.Partrec.Code.lup p.1 ((ofNat (ℕ × Code) p.1.length).1, cg) p.2 some (Nat.pair x y)) (fun cf cg x x => do let x ← Nat.Partrec.Code.lup p.1 ((ofNat (ℕ × Code) p.1.length).1, cg) p.2 Nat.Partrec.Code.lup p.1 ((ofNat (ℕ × Code) p.1.length).1, cf) x) (fun cf cg x x => let z := (unpair p.2).1; Nat.casesOn (unpair p.2).2 (Nat.Partrec.Code.lup p.1 ((ofNat (ℕ × Code) p.1.length).1, cf) z) fun y => do let i ← Nat.Partrec.Code.lup p.1 (k', (ofNat (ℕ × Code) p.1.length).2) (Nat.pair z y) Nat.Partrec.Code.lup p.1 ((ofNat (ℕ × Code) p.1.length).1, cg) (Nat.pair z (Nat.pair y i))) fun cf x => let z := (unpair p.2).1; let m := (unpair p.2).2; do let x ← Nat.Partrec.Code.lup p.1 ((ofNat (ℕ × Code) p.1.length).1, cf) (Nat.pair z m) Nat.casesOn x (some m) fun x => Nat.Partrec.Code.lup p.1 (k', (ofNat (ℕ × Code) p.1.length).2) (Nat.pair z (m + 1))) p.1 p.2
-- Mathlib/Computability/PartrecCode.lean
a : Primrec fun a => ofNat (ℕ × Code) a.length
k✝ : Primrec fun a => (ofNat (ℕ × Code) a.1.length).1
n✝ : Primrec Prod.snd
k : Primrec fun a => (ofNat (ℕ × Code) a.1.1.length).1
n : Primrec fun a => a.1.2
\u22a2 Primrec fun p => (fun p k' => Code.recOn (ofNat (ℕ × Code) p.1.length).2 (some 0) (some p.2.succ) (some (unpair p.2).1) (some (unpair p.2).2) (fun cf cg x x => do let x ← Nat.Partrec.Code.lup p.1 ((ofNat (ℕ × Code) p.1.length).1, cf) p.2 let y ← Nat.Partrec.Code.lup p.1 ((ofNat (ℕ × Code) p.1.length).1, cg) p.2 some (Nat.pair x y)) (fun cf cg x x => do let x ← Nat.Partrec.Code.lup p.1 ((ofNat (ℕ × Code) p.1.length).1, cg) p.2 Nat.Partrec.Code.lup p.1 ((ofNat (ℕ × Code) p.1.length).1, cf) x) (fun cf cg x x => let z := (unpair p.2).1; Nat.casesOn (unpair p.2).2 (Nat.Partrec.Code.lup p.1 ((ofNat (ℕ × Code) p.1.length).1, cf) z) fun y => do let i ← Nat.Partrec.Code.lup p.1 (k', (ofNat (ℕ × Code) p.1.length).2) (Nat.pair z y) Nat.Partrec.Code.lup p.1 ((ofNat (ℕ × Code) p.1.length).1, cg) (Nat.pair z (Nat.pair y i))) fun cf x => let z := (unpair p.2).1; let m := (unpair p.2).2; do let x ← Nat.Partrec.Code.lup p.1 ((ofNat (ℕ × Code) p.1.length).1, cf) (Nat.pair z m) Nat.casesOn x (some m) fun x => Nat.Partrec.Code.lup p.1 (k', (ofNat (ℕ × Code) p.1.length).2) (Nat.pair z (m + 1))) p.1 p.2
-- Mathlib/Computability/PartrecCode.lean
a : Primrec fun a => ofNat (ℕ × Code) a.length
k✝ : Primrec fun a => (ofNat (ℕ × Code) a.1.length).1
n✝ : Primrec Prod.snd
k : Primrec fun a => (ofNat (ℕ × Code) a.1.1.length).1
n : Primrec fun a => a.1.2
k' : Primrec Prod.snd
\u22a2 Primrec fun p => (fun p k' => Code.recOn (ofNat (ℕ × Code) p.1.length).2 (some 0) (some p.2.succ) (some (unpair p.2).1) (some (unpair p.2).2) (fun cf cg x x => do let x ← Nat.Partrec.Code.lup p.1 ((ofNat (ℕ × Code) p.1.length).1, cf) p.2 let y ← Nat.Partrec.Code.lup p.1 ((ofNat (ℕ × Code) p.1.length).1, cg) p.2 some (Nat.pair x y)) (fun cf cg x x => do let x ← Nat.Partrec.Code.lup p.1 ((ofNat (ℕ × Code) p.1.length).1, cg) p.2 Nat.Partrec.Code.lup p.1 ((ofNat (ℕ × Code) p.1.length).1, cf) x) (fun cf cg x x => let z := (unpair p.2).1; Nat.casesOn (unpair p.2).2 (Nat.Partrec.Code.lup p.1 ((ofNat (ℕ × Code) p.1.length).1, cf) z) fun y => do let i ← Nat.Partrec.Code.lup p.1 (k', (ofNat (ℕ × Code) p.1.length).2) (Nat.pair z y) Nat.Partrec.Code.lup p.1 ((ofNat (ℕ × Code) p.1.length).1, cg) (Nat.pair z (Nat.pair y i))) fun cf x => let z := (unpair p.2).1; let m := (unpair p.2).2; do let x ← Nat.Partrec.Code.lup p.1 ((ofNat (ℕ × Code) p.1.length).1, cf) (Nat.pair z m) Nat.casesOn x (some m) fun x => Nat.Partrec.Code.lup p.1 (k', (ofNat (ℕ × Code) p.1.length).2) (Nat.pair z (m + 1))) p.1 p.2