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 3
returnsxyz.snd.fst
.mkProdProj xyz 1 2
returnsxyz.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.