Theorems · Definition · logic and foundations
Nat.RecursiveIn.recOn
∀ {O : Set (ℕ →. ℕ)} {motive : (a : ℕ →. ℕ) → Nat.RecursiveIn O a → Prop} {a : ℕ →. ℕ} (t : Nat.RecursiveIn O a),
motive (fun x => 0) ⋯ →
motive ↑Nat.succ ⋯ →
motive (fun n => ↑(some (Nat.unpair n).1)) ⋯ →
motive (fun n => ↑(some (Nat.unpair n).2)) ⋯ →
(∀ (g : ℕ →. ℕ) (a : g ∈ O), motive g ⋯) →
(∀ {f h : ℕ →. ℕ} (hf : Nat.RecursiveIn O f) (hh : Nat.RecursiveIn O h),
motive f hf → motive h hh → motive (fun n => Nat.pair <$> f n <*> h n) ⋯) →
(∀ {f h : ℕ →. ℕ} (hf : Nat.RecursiveIn O f) (hh : Nat.RecursiveIn O h),
motive f hf → motive h hh → motive (fun n => h n >>= f) ⋯) →
(∀ {f h : ℕ →. ℕ} (hf : Nat.RecursiveIn O f) (hh : Nat.RecursiveIn O h),
motive f hf →
motive h hh →
motive
(fun p =>
match Nat.unpair p with
| (a, n) =>
Nat.rec (f a)
(fun y IH => do
let i ← IH
h (Nat.pair a (Nat.pair y i)))
n)
⋯) →
(∀ {f : ℕ →. ℕ} (hf : Nat.RecursiveIn O f),
motive f hf →
motive (fun a => Nat.rfind fun n => (fun m => decide (m = 0)) <$> f (Nat.pair a n)) ⋯) →
motive a t- Defined in
- Mathlib.Computability.RecursiveIn
- Cited by
- 0 results in Mathlib
- Foundations
- Depth 26 from the axioms · uses propext
Around this declaration
Dashed lines are statement dependencies; solid lines are citations in proofs.
Cites9
Mathlib declarations this one mentions in its statement or cites explicitly in its proof. Plumbing is filtered out.
- Setstatement and proof · cited by 53,352
- Partstatement and proof · cited by 325
- PFunstatement and proof · cited by 207
- Nat.unpairstatement and proof · cited by 67
- Nat.pairstatement and proof · cited by 62
- PFun.liftstatement and proof · cited by 36
- Part.ofOptionstatement and proof · cited by 33
- Nat.rfindstatement and proof · cited by 17
- Nat.RecursiveInstatement and proof · cited by 8
Cited by0
Results whose statement or proof uses this declaration.
Nothing cites this yet.