funProp missing function from standard library #
def
Mathlib.Meta.FunProp.isOrderedSubsetOf
{α : Type u_1}
[Inhabited α]
[DecidableEq α]
(a : Array α)
(b : Array α)
:
Check if a can be obtained by removing elements from b.
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Mathlib.Meta.FunProp.letTelescope
{α : Type}
{n : Type → Type u_1}
[MonadControlT Lean.MetaM n]
[Monad n]
(e : Lean.Expr)
(k : Array Lean.Expr → Lean.Expr → n α)
:
n α
Telescope consuming only let bindings
Equations
- Mathlib.Meta.FunProp.letTelescope e k = Lean.Meta.map2MetaM (fun {α : Type} (k : Array Lean.Expr → Lean.Expr → Lean.MetaM α) => Mathlib.Meta.FunProp.letTelescopeImpl e k) k
Instances For
Swaps bvars indices i and j
NOTE: the indices i and j do not correspond to the n in bvar n. Rather
they behave like indices in Expr.lowerLooseBVars, Expr.liftLooseBVars, etc.
TODO: This has to have a better implementation, but I'm still beyond confused with how bvar indices work
Equations
- One or more equations did not get rendered due to their size.
Instances For
For #[x₁, .., xₙ] create (x₁, .., xₙ).
Equations
- One or more equations did not get rendered due to their size.
Instances For
For (x₀, .., xₙ₋₁) return xᵢ but as a product projection.
We need to know the total size of the product to be considered.
For example for xyz : X × Y × Z
mkProdProj xyz 1 3returnsxyz.snd.fst.mkProdProj xyz 1 2returnsxyz.snd.
Instances For
For an element of a product type(of sizen) xs create an array of all possible projections
i.e. #[xs.1, xs.2.1, xs.2.2.1, ..., xs.2..2]
Equations
- Mathlib.Meta.FunProp.mkProdSplitElem xs n = Array.mapM (fun (i : Nat) => Mathlib.Meta.FunProp.mkProdProj xs i n) (Array.range n)
Instances For
Uncurry function f in n arguments.
Equations
- One or more equations did not get rendered due to their size.