@[reducible, inline]
Equations
Instances For
Equations
Instances For
Equations
Equations
- f.swap = f.comp (Primrec.proj 1 ∷ᵥ Primrec.proj 0 ∷ᵥ fun (x : Fin n) => Primrec.proj x.succ.succ)
Instances For
Equations
- Primrec.add = (Primrec.proj 0).prec (Primrec.succ.comp₁ (Primrec.proj 1))
Instances For
Equations
- Primrec.mul = Primrec.zero.prec (Primrec.add.comp₂ (Primrec.proj 1) (Primrec.proj 2))
Instances For
Equations
- Primrec.exp = ((Primrec.const 1).prec (Primrec.mul.comp₂ (Primrec.proj 1) (Primrec.proj 2))).swap
Instances For
Equations
Instances For
Equations
- Primrec.sub = ((Primrec.proj 0).prec (Primrec.pred.comp₁ (Primrec.proj 1))).swap
Instances For
Equations
Instances For
Equations
- Primrec.nsign = (Primrec.const 1).cases (Primrec.const 0)
Instances For
Equations
- f.not = Primrec.nsign.comp₁ f
Instances For
Equations
- f.and g = Primrec.mul.comp₂ f g
Instances For
Equations
- Primrec.andv f_2 = Primrec.const 1
- Primrec.andv f_2 = f_2.head.and (Primrec.andv f_2.tail)
Instances For
Equations
- f.or g = Primrec.add.comp₂ f g
Instances For
Equations
- Primrec.orv f_2 = Primrec.const 0
- Primrec.orv f_2 = f_2.head.or (Primrec.orv f_2.tail)
Instances For
Equations
- f.lt g = Primrec.sub.comp₂ g f
Instances For
Equations
- f.le g = Primrec.nsign.comp₁ (g.lt f)
Instances For
Equations
- Primrec.cond = (Primrec.proj 1).cases (Primrec.proj 1)
Instances For
Equations
- f.ite g h = Primrec.cond.comp₃ f g h
Instances For
Equations
Instances For
Equations
- Primrec.div2 = Primrec.zero.prec ((Primrec.odd.comp₁ (Primrec.proj 0)).ite (Primrec.succ.comp₁ (Primrec.proj 1)) (Primrec.proj 1))
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Primrec.max = ((Primrec.proj 0).le (Primrec.proj 1)).ite (Primrec.proj 1) (Primrec.proj 0)
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- f.paired = f.comp (Primrec.pair.comp₂ (Primrec.proj 0) (Primrec.proj 1) ∷ᵥ fun (x : Fin n) => Primrec.proj x.succ.succ)
Instances For
Equations
- f.unpaired = f.comp (Primrec.fst.comp₁ (Primrec.proj 0) ∷ᵥ Primrec.snd.comp₁ (Primrec.proj 0) ∷ᵥ fun (x : Fin n) => Primrec.proj x.succ)
Instances For
Equations
- f.iterate = (Primrec.proj 0).prec (f.comp (Primrec.proj 1 ∷ᵥ fun (x : Fin n) => Primrec.proj x.succ.succ.succ))
Instances For
Equations
Instances For
Equations
- f.vmap = (f.comp (Primrec.vget.comp₂ (Primrec.proj 1) (Primrec.proj 0) ∷ᵥ fun (x : Fin n) => Primrec.proj x.succ.succ)).vmk
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- f.cov = Primrec.zero.prec (Primrec.rcons.comp₃ (Primrec.proj 0) (Primrec.proj 1) f)
Instances For
Equations
- f.covrec = Primrec.vget.comp₂ (f.cov.comp (Primrec.succ.comp₁ (Primrec.proj 0) ∷ᵥ fun (x : Fin n) => Primrec.proj x.succ)) (Primrec.proj 0)
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Primrec.vand = (Primrec.vmax.comp₂ (Primrec.proj 0) (Primrec.nsign.vmap.comp₂ (Primrec.proj 0) (Primrec.proj 1))).not
Instances For
Equations
- One or more equations did not get rendered due to their size.
- (Primrec.const n_3).repr x✝ = Std.Format.text "const " ++ Std.Format.text n_3.repr
- Primrec.succ.repr x✝ = Std.Format.text "succ"
- (Primrec.proj i).repr x✝ = Repr.addAppParen (Std.Format.text "proj " ++ reprPrec i Lean.Parser.maxPrec) x✝
- (f.prec g).repr x✝ = Repr.addAppParen (Std.Format.text "prec " ++ f.repr Lean.Parser.maxPrec ++ Std.Format.text " " ++ g.repr Lean.Parser.maxPrec) x✝
Instances For
Equations
- Primrec.instRepr = { reprPrec := Primrec.repr }