Documentation

Init.Fix

def bfix1 {α : Type u} {β : Type u} (base : αβ) (rec : (αβ) → αβ) :
Natαβ
Equations
@[extern c inline "lean_fixpoint(#4, #5)"]
def fixCore1 {α : Type u} {β : Type u} (base : αβ) (rec : (αβ) → αβ) :
αβ
Equations
@[inline]
def fixCore {α : Type u} {β : Type u} (base : αβ) (rec : (αβ) → αβ) :
αβ
Equations
@[inline]
def fix1 {α : Type u} {β : Type u} [inst : Inhabited β] (rec : (αβ) → αβ) :
αβ
Equations
@[inline]
def fix {α : Type u} {β : Type u} [inst : Inhabited β] (rec : (αβ) → αβ) :
αβ
Equations
def bfix2 {α₁ : Type u} {α₂ : Type u} {β : Type u} (base : α₁α₂β) (rec : (α₁α₂β) → α₁α₂β) :
Natα₁α₂β
Equations
@[extern c inline "lean_fixpoint2(#5, #6, #7)"]
def fixCore2 {α₁ : Type u} {α₂ : Type u} {β : Type u} (base : α₁α₂β) (rec : (α₁α₂β) → α₁α₂β) :
α₁α₂β
Equations
@[inline]
def fix2 {α₁ : Type u} {α₂ : Type u} {β : Type u} [inst : Inhabited β] (rec : (α₁α₂β) → α₁α₂β) :
α₁α₂β
Equations
def bfix3 {α₁ : Type u} {α₂ : Type u} {α₃ : Type u} {β : Type u} (base : α₁α₂α₃β) (rec : (α₁α₂α₃β) → α₁α₂α₃β) :
Natα₁α₂α₃β
Equations
@[extern c inline "lean_fixpoint3(#6, #7, #8, #9)"]
def fixCore3 {α₁ : Type u} {α₂ : Type u} {α₃ : Type u} {β : Type u} (base : α₁α₂α₃β) (rec : (α₁α₂α₃β) → α₁α₂α₃β) :
α₁α₂α₃β
Equations
@[inline]
def fix3 {α₁ : Type u} {α₂ : Type u} {α₃ : Type u} {β : Type u} [inst : Inhabited β] (rec : (α₁α₂α₃β) → α₁α₂α₃β) :
α₁α₂α₃β
Equations
def bfix4 {α₁ : Type u} {α₂ : Type u} {α₃ : Type u} {α₄ : Type u} {β : Type u} (base : α₁α₂α₃α₄β) (rec : (α₁α₂α₃α₄β) → α₁α₂α₃α₄β) :
Natα₁α₂α₃α₄β
Equations
@[extern c inline "lean_fixpoint4(#7, #8, #9, #10, #11)"]
def fixCore4 {α₁ : Type u} {α₂ : Type u} {α₃ : Type u} {α₄ : Type u} {β : Type u} (base : α₁α₂α₃α₄β) (rec : (α₁α₂α₃α₄β) → α₁α₂α₃α₄β) :
α₁α₂α₃α₄β
Equations
@[inline]
def fix4 {α₁ : Type u} {α₂ : Type u} {α₃ : Type u} {α₄ : Type u} {β : Type u} [inst : Inhabited β] (rec : (α₁α₂α₃α₄β) → α₁α₂α₃α₄β) :
α₁α₂α₃α₄β
Equations
def bfix5 {α₁ : Type u} {α₂ : Type u} {α₃ : Type u} {α₄ : Type u} {α₅ : Type u} {β : Type u} (base : α₁α₂α₃α₄α₅β) (rec : (α₁α₂α₃α₄α₅β) → α₁α₂α₃α₄α₅β) :
Natα₁α₂α₃α₄α₅β
Equations
@[extern c inline "lean_fixpoint5(#8, #9, #10, #11, #12, #13)"]
def fixCore5 {α₁ : Type u} {α₂ : Type u} {α₃ : Type u} {α₄ : Type u} {α₅ : Type u} {β : Type u} (base : α₁α₂α₃α₄α₅β) (rec : (α₁α₂α₃α₄α₅β) → α₁α₂α₃α₄α₅β) :
α₁α₂α₃α₄α₅β
Equations
@[inline]
def fix5 {α₁ : Type u} {α₂ : Type u} {α₃ : Type u} {α₄ : Type u} {α₅ : Type u} {β : Type u} [inst : Inhabited β] (rec : (α₁α₂α₃α₄α₅β) → α₁α₂α₃α₄α₅β) :
α₁α₂α₃α₄α₅β
Equations
def bfix6 {α₁ : Type u} {α₂ : Type u} {α₃ : Type u} {α₄ : Type u} {α₅ : Type u} {α₆ : Type u} {β : Type u} (base : α₁α₂α₃α₄α₅α₆β) (rec : (α₁α₂α₃α₄α₅α₆β) → α₁α₂α₃α₄α₅α₆β) :
Natα₁α₂α₃α₄α₅α₆β
Equations
  • bfix6 base rec 0 x x x x x x = base x x x x x x
  • bfix6 base rec (Nat.succ n) x x x x x x = rec (bfix6 base rec n) x x x x x x
@[extern c inline "lean_fixpoint6(#9, #10, #11, #12, #13, #14, #15)"]
def fixCore6 {α₁ : Type u} {α₂ : Type u} {α₃ : Type u} {α₄ : Type u} {α₅ : Type u} {α₆ : Type u} {β : Type u} (base : α₁α₂α₃α₄α₅α₆β) (rec : (α₁α₂α₃α₄α₅α₆β) → α₁α₂α₃α₄α₅α₆β) :
α₁α₂α₃α₄α₅α₆β
Equations
@[inline]
def fix6 {α₁ : Type u} {α₂ : Type u} {α₃ : Type u} {α₄ : Type u} {α₅ : Type u} {α₆ : Type u} {β : Type u} [inst : Inhabited β] (rec : (α₁α₂α₃α₄α₅α₆β) → α₁α₂α₃α₄α₅α₆β) :
α₁α₂α₃α₄α₅α₆β
Equations