Mathlib Map

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.