Equations
- Auto.instInhabitedPos = { default := Auto.Pos.xH }
Equations
- Auto.instHashablePos = { hash := Auto.hashPos✝ }
Equations
- Auto.instToExprPos = { toExpr := Auto.toExprPos✝, toTypeExpr := Lean.Expr.const `Auto.Pos [] }
@[irreducible]
Equations
- Auto.Pos.ofNat'WF 0 = Auto.Pos.xH
- Auto.Pos.ofNat'WF 1 = Auto.Pos.xH
- Auto.Pos.ofNat'WF n_2.succ.succ = match n_2.succ.succ % 2 with | 0 => (Auto.Pos.ofNat'WF (n_2.succ.succ / 2)).xO | x => (Auto.Pos.ofNat'WF (n_2.succ.succ / 2)).xI
Instances For
@[irreducible]
def
Auto.Pos.ofNat'WF.inductionOn
{motive : Nat → Sort u}
(x : Nat)
(ind : (x : Nat) → motive ((x + 2) / 2) → motive (x + 2))
(base₀ : motive 0)
(base₁ : motive 1)
:
motive x
Equations
- Auto.Pos.ofNat'WF.inductionOn 0 ind base₀ base₁ = base₀
- Auto.Pos.ofNat'WF.inductionOn 1 ind base₀ base₁ = base₁
- Auto.Pos.ofNat'WF.inductionOn x'.succ.succ ind base₀ base₁ = ind x' (Auto.Pos.ofNat'WF.inductionOn ((x' + 2) / 2) ind base₀ base₁)
Instances For
@[irreducible]
def
Auto.Pos.ofNat'WF.induction
{motive : Nat → Sort u}
(ind : (x : Nat) → motive ((x + 2) / 2) → motive (x + 2))
(base₀ : motive 0)
(base₁ : motive 1)
(x : Nat)
:
motive x
Equations
- Auto.Pos.ofNat'WF.induction ind base₀ base₁ x = Auto.Pos.ofNat'WF.inductionOn x ind base₀ base₁
Instances For
Equations
- Auto.Pos.ofNat'RD 0 n = Auto.Pos.xH
- Auto.Pos.ofNat'RD rd'.succ 0 = Auto.Pos.xH
- Auto.Pos.ofNat'RD rd'.succ 1 = Auto.Pos.xH
- Auto.Pos.ofNat'RD rd'.succ n = match n.mod 2 with | 0 => (Auto.Pos.ofNat'RD rd' (n.div 2)).xO | x => (Auto.Pos.ofNat'RD rd' (n.div 2)).xI
Instances For
Equations
Instances For
Equations
Instances For
Equations
- p.reprPrec x✝ = Std.format "Pos.ofNat " ++ Std.format p.toNat ++ Std.format ""
Instances For
Equations
- Auto.Pos.instRepr = { reprPrec := Auto.Pos.reprPrec }