This function is slow and is not meant to be used in computation It's main use is in the pushs_pops theorems
Equations
- Auto.List.ofFun f 0 = []
- Auto.List.ofFun f n'.succ = f 0 :: Auto.List.ofFun (fun (n : Nat) => f n.succ) n'
Instances For
@[irreducible]
Equations
- Auto.List.merge r [] x✝ = x✝
- Auto.List.merge r x✝ [] = x✝
- Auto.List.merge r (a :: l) (b :: l') = if r a b then a :: Auto.List.merge r l (b :: l') else b :: Auto.List.merge r (a :: l) l'
Instances For
@[irreducible]
Equations
- Auto.List.mergeSort r [] = []
- Auto.List.mergeSort r [a] = [a]
- Auto.List.mergeSort r (a :: b :: l) = Auto.List.merge r (Auto.List.mergeSort r (Auto.List.split (a :: b :: l)).fst) (Auto.List.mergeSort r (Auto.List.split (a :: b :: l)).snd)
Instances For
Equations
- Auto.List.reverse_IsomType = { f := List.reverse, g := List.reverse, eq₁ := ⋯, eq₂ := ⋯ }