Documentation

Std.ShareCommon

@[extern lean_sharecommon_eq]
@[extern lean_sharecommon_hash]
@[export lean_mk_object_pmap]
Equations
@[export lean_mk_object_pset]
Equations
@[extern lean_sharecommon_mk_state]
@[extern lean_sharecommon_mk_pstate]
@[extern lean_state_sharecommon]
Equations
@[extern lean_persistent_state_sharecommon]
Equations
class Std.MonadShareCommon (m : Type uType v) :
Type (max (u + 1) v)
  • withShareCommon : {α : Type u} → αm α
Instances
@[inline]
abbrev Std.withShareCommon {m : Type u_1Type u_2} [self : Std.MonadShareCommon m] {α : Type u_1} :
αm α
Equations
@[inline]
abbrev Std.shareCommonM {m : Type u_1Type u_2} {α : Type u_1} [inst : Std.MonadShareCommon m] (a : α) :
m α
Equations
@[inline]
abbrev Std.ShareCommonT (m : Type uType v) (α : Type u) :
Type (max u v)
Equations
@[inline]
abbrev Std.PShareCommonT (m : Type uType v) (α : Type u) :
Type (max u v)
Equations
@[inline]
abbrev Std.ShareCommonM (α : Type u_1) :
Type u_1
Equations
@[inline]
abbrev Std.PShareCommonM (α : Type u_1) :
Type u_1
Equations
@[specialize]
def Std.ShareCommonT.withShareCommon {m : Type u_1Type u_2} {α : Type u_1} [inst : Monad m] (a : α) :
Equations
@[specialize]
def Std.PShareCommonT.withShareCommon {m : Type u_1Type u_2} {α : Type u_1} [inst : Monad m] (a : α) :
Equations
instance Std.ShareCommonT.monadShareCommon {m : Type u_1Type u_2} [inst : Monad m] :
Equations
  • Std.ShareCommonT.monadShareCommon = { withShareCommon := fun {α} => Std.ShareCommonT.withShareCommon }
instance Std.PShareCommonT.monadShareCommon {m : Type u_1Type u_2} [inst : Monad m] :
Equations
  • Std.PShareCommonT.monadShareCommon = { withShareCommon := fun {α} => Std.PShareCommonT.withShareCommon }
@[inline]
def Std.ShareCommonT.run {m : Type u_1Type u_2} {α : Type u_1} [inst : Monad m] (x : Std.ShareCommonT m α) :
m α
Equations
@[inline]
def Std.PShareCommonT.run {m : Type u_1Type u_2} {α : Type u_1} [inst : Monad m] (x : Std.PShareCommonT m α) :
m α
Equations
@[inline]
def Std.ShareCommonM.run {α : Type u_1} (x : Std.ShareCommonM α) :
α
Equations
@[inline]
def Std.PShareCommonM.run {α : Type u_1} (x : Std.PShareCommonM α) :
α
Equations
def Std.shareCommon {α : Type u_1} (a : α) :
α
Equations