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}
(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.inductionOn ind base₀ base₁ 0 = base₀
- Auto.Pos.ofNat'WF.inductionOn ind base₀ base₁ 1 = base₁
- Auto.Pos.ofNat'WF.inductionOn ind base₀ base₁ n_1.succ.succ = ind n_1 (Auto.Pos.ofNat'WF.inductionOn ind base₀ base₁ ((n_1 + 2) / 2))
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 ind base₀ base₁ x
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 }