File: .lake/packages/proofwidgets/ProofWidgets/Demos/RbTree.lean

full_name: RBColour
code: inductive RBColour where
  | red | black
goal: Type

full_name: RBColour.red
code: inductive RBColour where
  | red | black
goal: RBColour

full_name: RBColour.black
code: inductive RBColour where
  | red | black
goal: RBColour

full_name: RBTree.empty
code: inductive RBTree (α : Type u) where
  | empty : RBTree α
  | node (color : RBColour) (l : RBTree α) (a : α) (r : RBTree α) : RBTree α
goal: RBTree α

full_name: RBTree.node
code: inductive RBTree (α : Type u) where
  | empty : RBTree α
  | node (color : RBColour) (l : RBTree α) (a : α) (r : RBTree α) : RBTree α
goal: RBTree α

full_name: RBTree
code: inductive RBTree (α : Type u) where
  | empty : RBTree α
  | node (color : RBColour) (l : RBTree α) (a : α) (r : RBTree α) : RBTree α
goal: Type u

full_name: RBTree.contains
code: def contains [Ord α] (a : α) : RBTree α → Bool
  
goal: RBTree α → Bool

full_name: RBTree.balance
code: def balance : RBColour → RBTree α → α → RBTree α → RBTree α
  
goal: RBColour → RBTree α → α → RBTree α → RBTree α

full_name: RBTree.insert
code: def insert [Ord α] (a : α) (s : RBTree α) : RBTree α 
goal: RBTree α

full_name: RBTree.insert.makeBlack
code: def insert [Ord α] (a : α) (s : RBTree α) : RBTree α 
goal: RBTree α → RBTree α

full_name: RBTree.insert.ins
code: def insert [Ord α] (a : α) (s : RBTree α) : RBTree α 
goal: RBTree α → RBTree α

full_name: empty?
code: def empty? (e : Expr) : Bool 
goal: Bool

full_name: Lean.Expr.app5?
code: @[inline] def Lean.Expr.app5? (e : Expr) (fName : Name) : Option (Expr × Expr × Expr × Expr × Expr) 
goal: Option (Lean.Expr × Lean.Expr × Lean.Expr × Lean.Expr × Lean.Expr)

full_name: node?
code: def node? (e : Expr) : Option (Expr × Expr × Expr × Expr) 
goal: Option (Lean.Expr × Lean.Expr × Lean.Expr × Lean.Expr)

full_name: evalColourUnsafe
code: unsafe def evalColourUnsafe (e : Expr) : MetaM RBColour 
goal: Lean.MetaM RBColour

full_name: evalColour
code: @[implemented_by evalColourUnsafe]
opaque evalColour (e : Expr) : MetaM RBColour
goal: Lean.MetaM RBColour

full_name: RBTreeVarsColour.red
code: /-- Like `RBTreeColour`, but with `blue` standing in for unknown, symbolic `c : RBTreeColour`. -/
inductive RBTreeVarsColour where
  | red | black | blue
  deriving FromJson, ToJson
goal: RBTreeVarsColour

full_name: RBTreeVarsColour.black
code: /-- Like `RBTreeColour`, but with `blue` standing in for unknown, symbolic `c : RBTreeColour`. -/
inductive RBTreeVarsColour where
  | red | black | blue
  deriving FromJson, ToJson
goal: RBTreeVarsColour

full_name: RBTreeVarsColour.blue
code: /-- Like `RBTreeColour`, but with `blue` standing in for unknown, symbolic `c : RBTreeColour`. -/
inductive RBTreeVarsColour where
  | red | black | blue
  deriving FromJson, ToJson
goal: RBTreeVarsColour

full_name: RBTreeVarsColour
code: /-- Like `RBTreeColour`, but with `blue` standing in for unknown, symbolic `c : RBTreeColour`. -/
inductive RBTreeVarsColour where
  | red | black | blue
  deriving FromJson, ToJson
goal: Type

full_name: instFromJsonRBTreeVarsColour
code: FromJson
goal: Lean.FromJson RBTreeVarsColour

full_name: instToJsonRBTreeVarsColour
code: ToJson
goal: Lean.ToJson RBTreeVarsColour

full_name: RBTreeVars
code: /-- Like `RBTree` but with concrete node contents replaced by quoted, pretty-printed code,
and an extra constructor for similarly pretty-printed symbolic subtrees.

Tangent: what is the transformation of polynomial functors from the original type to
one with this kind of symbolic data? -/
inductive RBTreeVars where
  | empty : RBTreeVars
  | var : CodeWithInfos → RBTreeVars
  | node (color : RBTreeVarsColour) (l : RBTreeVars) (a : CodeWithInfos) (r : RBTreeVars) : RBTreeVars
  deriving Server.RpcEncodable
goal: Type

full_name: RBTreeVars.var
code: /-- Like `RBTree` but with concrete node contents replaced by quoted, pretty-printed code,
and an extra constructor for similarly pretty-printed symbolic subtrees.

Tangent: what is the transformation of polynomial functors from the original type to
one with this kind of symbolic data? -/
inductive RBTreeVars where
  | empty : RBTreeVars
  | var : CodeWithInfos → RBTreeVars
  | node (color : RBTreeVarsColour) (l : RBTreeVars) (a : CodeWithInfos) (r : RBTreeVars) : RBTreeVars
  deriving Server.RpcEncodable
goal: Lean.Widget.CodeWithInfos → RBTreeVars

full_name: RBTreeVars.empty
code: /-- Like `RBTree` but with concrete node contents replaced by quoted, pretty-printed code,
and an extra constructor for similarly pretty-printed symbolic subtrees.

Tangent: what is the transformation of polynomial functors from the original type to
one with this kind of symbolic data? -/
inductive RBTreeVars where
  | empty : RBTreeVars
  | var : CodeWithInfos → RBTreeVars
  | node (color : RBTreeVarsColour) (l : RBTreeVars) (a : CodeWithInfos) (r : RBTreeVars) : RBTreeVars
  deriving Server.RpcEncodable
goal: RBTreeVars

full_name: RBTreeVars.node
code: /-- Like `RBTree` but with concrete node contents replaced by quoted, pretty-printed code,
and an extra constructor for similarly pretty-printed symbolic subtrees.

Tangent: what is the transformation of polynomial functors from the original type to
one with this kind of symbolic data? -/
inductive RBTreeVars where
  | empty : RBTreeVars
  | var : CodeWithInfos → RBTreeVars
  | node (color : RBTreeVarsColour) (l : RBTreeVars) (a : CodeWithInfos) (r : RBTreeVars) : RBTreeVars
  deriving Server.RpcEncodable
goal: RBTreeVars

full_name: RBTreeVars.instToJsonRpcEncodablePacket
code: Server.RpcEncodable
goal: Lean.ToJson RBTreeVars.RpcEncodablePacket✝

full_name: RBTreeVars.instRpcEncodable.dec._@..lake.packages.proofwidgets.ProofWidgets.Demos.RbTree._hyg.1162
code: Server.RpcEncodable
goal: Lean.Json → ExceptT String (ReaderT Lean.Server.RpcObjectStore Id) RBTreeVars

full_name: RBTreeVars.RpcEncodablePacket._@..lake.packages.proofwidgets.ProofWidgets.Demos.RbTree._hyg.1162
code: Server.RpcEncodable
goal: Type

full_name: RBTreeVars.instFromJsonRpcEncodablePacket
code: Server.RpcEncodable
goal: Lean.FromJson RBTreeVars.RpcEncodablePacket✝

full_name: RBTreeVars.instRpcEncodable.enc._@..lake.packages.proofwidgets.ProofWidgets.Demos.RbTree._hyg.1162
code: Server.RpcEncodable
goal: RBTreeVars → StateM Lean.Server.RpcObjectStore Lean.Json

full_name: RBTreeVars.instRpcEncodable
code: Server.RpcEncodable
goal: Lean.Server.RpcEncodable RBTreeVars

full_name: RBDisplayProps
code: structure RBDisplayProps where
  tree : RBTreeVars
  deriving Server.RpcEncodable
goal: Type

full_name: RBDisplayProps.tree
code: structure RBDisplayProps where
  tree : RBTreeVars
  deriving Server.RpcEncodable
goal: RBTreeVars

full_name: RBDisplayProps.instFromJsonRpcEncodablePacket
code: Server.RpcEncodable
goal: Lean.FromJson RBDisplayProps.RpcEncodablePacket✝

full_name: RBDisplayProps.instRpcEncodable.dec._@..lake.packages.proofwidgets.ProofWidgets.Demos.RbTree._hyg.1962
code: Server.RpcEncodable
goal: Lean.Json → ExceptT String (ReaderT Lean.Server.RpcObjectStore Id) RBDisplayProps

full_name: RBDisplayProps.instRpcEncodable.enc._@..lake.packages.proofwidgets.ProofWidgets.Demos.RbTree._hyg.1962
code: Server.RpcEncodable
goal: RBDisplayProps → StateM Lean.Server.RpcObjectStore Lean.Json

full_name: RBDisplayProps.RpcEncodablePacket._@..lake.packages.proofwidgets.ProofWidgets.Demos.RbTree._hyg.1962
code: Server.RpcEncodable
goal: Type

full_name: RBDisplayProps.instToJsonRpcEncodablePacket
code: Server.RpcEncodable
goal: Lean.ToJson RBDisplayProps.RpcEncodablePacket✝

full_name: RBDisplayProps.instRpcEncodable
code: Server.RpcEncodable
goal: Lean.Server.RpcEncodable RBDisplayProps

full_name: RBDisplay
code: @[widget_module]
def RBDisplay : Component RBDisplayProps 
goal: ProofWidgets.Component RBDisplayProps

full_name: drawTree?
code: partial def drawTree? (e : Expr) : MetaM (Option Html) 
goal: Lean.MetaM (Option ProofWidgets.Html)

full_name: drawTree?.go
code: partial def drawTree? (e : Expr) : MetaM (Option Html) 
goal: Lean.MetaM RBTreeVars

full_name: RBTree.presenter
code: @[expr_presenter]
def RBTree.presenter : ExprPresenter 
goal: ProofWidgets.ExprPresenter