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
  • bfix2 base rec 0 _fun_discr _fun_discr = base _fun_discr _fun_discr
  • bfix2 base rec (Nat.succ n) _fun_discr _fun_discr = rec (bfix2 base rec n) _fun_discr _fun_discr
@[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
  • bfix3 base rec 0 _fun_discr _fun_discr _fun_discr = base _fun_discr _fun_discr _fun_discr
  • bfix3 base rec (Nat.succ n) _fun_discr _fun_discr _fun_discr = rec (bfix3 base rec n) _fun_discr _fun_discr _fun_discr
@[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
  • bfix4 base rec 0 _fun_discr _fun_discr _fun_discr _fun_discr = base _fun_discr _fun_discr _fun_discr _fun_discr
  • bfix4 base rec (Nat.succ n) _fun_discr _fun_discr _fun_discr _fun_discr = rec (bfix4 base rec n) _fun_discr _fun_discr _fun_discr _fun_discr
@[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
  • bfix5 base rec 0 _fun_discr _fun_discr _fun_discr _fun_discr _fun_discr = base _fun_discr _fun_discr _fun_discr _fun_discr _fun_discr
  • bfix5 base rec (Nat.succ n) _fun_discr _fun_discr _fun_discr _fun_discr _fun_discr = rec (bfix5 base rec n) _fun_discr _fun_discr _fun_discr _fun_discr _fun_discr
@[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 _fun_discr _fun_discr _fun_discr _fun_discr _fun_discr _fun_discr = base _fun_discr _fun_discr _fun_discr _fun_discr _fun_discr _fun_discr
  • bfix6 base rec (Nat.succ n) _fun_discr _fun_discr _fun_discr _fun_discr _fun_discr _fun_discr = rec (bfix6 base rec n) _fun_discr _fun_discr _fun_discr _fun_discr _fun_discr _fun_discr
@[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