funProp missing function from standard library #
def
Mathlib.Meta.FunProp.isOrderedSubsetOf
{α : Type u_1}
[Inhabited α]
[DecidableEq α]
(a 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
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.
Equations
- One or more equations did not get rendered due to their size.
- Mathlib.Meta.FunProp.mkProdProj x i 0 = pure x
- Mathlib.Meta.FunProp.mkProdProj x i 1 = pure x
- Mathlib.Meta.FunProp.mkProdProj x 0 n = Lean.Meta.mkAppM `Prod.fst #[x]
Instances For
For an element of a product type (of size n) 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.